1. 下载安装JDK并配置环境变量
    这里我下载安装的是jdk-7u51-windows-i586,如果你没有请到Oracle官网下载;
    【我的电脑】-【高级系统设置】-【环境变量】-系统变量中的Path添加Java bin目录;
    命令窗口测试配置环境变量正确与否。
  2. 下载服务器
    我学习使用的是Web容器apache-tomcat-7.0.50-windows-x86,如果没有请到Apache下载。
  3. 配置服务器
    确定SDK安装目录,即JAVA_HOME环境变量,这一步应该在第一步中已经配置;
    指定端口,默认是8080,如果你不喜欢用它,或者该端口被占用,应该指定为其它;
    执行startup.bat启动Tomcat,在浏览器中测试。
  4. 建立开发环境
    创建开发目录,我这里的为D:\project\MyServlet\src
    设置CLASSPATH,主要是为了告诉编译器Servlet类的位置,值为“.;D:\project\MyServlet\src;D:\tools\apache-tomcat-7.0.50\lib\servlet-api.jar”,配置如下:

    创建快捷方式,方便测试时快速启动和关闭Tomcat。
  5. 测试系统环境变量
    检查服务器的基本配置
    将helloworld.html和helloworld.jsp放置到<CATALINA_HOME>/webapps/ROOT下
    helloworld.html
    1. <span style="font-size: 18px;"><html>
    2. <head>
    3. <title>test</title>
    4. </head>
    5. <body>
    6. Hello world
    7. </body>
    8. </html></span>
    <html>
    <head>
    <title>test</title>
    </head>
    <body>
    Hello world
    </body>
    </html>

    helloworld.jsp

    1. <span style="font-size: 18px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    2. <html>
    3. <head>
    4. <title>jsp test</title>
    5. </head>
    6. <body bgcolor="#fdf5e6">
    7. <h1>Hello JSP.</h1>
    8. Time:<%= new java.util.Date() %>
    9. </body>
    10. </html></span>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>jsp test</title>
    </head>
    <body bgcolor="#fdf5e6">
    <h1>Hello JSP.</h1>
    Time:<%= new java.util.Date() %>
    </body>
    </html>

    浏览器访问:

    测试不使用包的Servlet
    在命令窗口下编码HelloServlet.java,将编译后的class文件放到<CATALINA_HOME>/webapps/ROOT/WEB-INF/class下
    HelloServlet.java

    1. <span style="font-size: 18px;">import java.io.*;
    2. import javax.servlet.*;
    3. import javax.servlet.http.*;
    4. /** Simple servlet used to test server.*/
    5. public class HelloServlet extends HttpServlet{
    6. public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    7. response.setContentType("text/html");
    8. PrintWriter out=response.getWriter();
    9. String docType="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 "+"Transitional//EN\">\n";
    10. out.println(docType+
    11. "<html>\n"+
    12. "<head><title>Hello</title></head>\n"+
    13. "<body bgcolor=\"#fdf5e6\">\n"+
    14. "<h1>Hello world</h1>\n"+
    15. "</body></html>");
    16. }
    17. public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    18. this.doGet(request,response);
    19. }
    20. }</span>
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*; /** Simple servlet used to test server.*/
    public class HelloServlet extends HttpServlet{
    public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    response.setContentType("text/html");
    PrintWriter out=response.getWriter();
    String docType="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 "+"Transitional//EN\">\n";
    out.println(docType+
    "<html>\n"+
    "<head><title>Hello</title></head>\n"+
    "<body bgcolor=\"#fdf5e6\">\n"+
    "<h1>Hello world</h1>\n"+
    "</body></html>");
    }
    public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    this.doGet(request,response);
    }
    }

    编译HelloServlet.java

    因为我们使用的是tomcat7,无法使用其调用器invoker,所以要手动添加映射,打开<CATALINA_HOME>/webapps/ROOT/WEB-INF下的web.xml,编辑如下:

    1. <span style="font-size: 18px;"><?xml version="1.0" encoding="ISO-8859-1"?>
    2. <!--
    3. Licensed to the Apache Software Foundation (ASF) under one or more
    4. contributor license agreements.  See the NOTICE file distributed with
    5. this work for additional information regarding copyright ownership.
    6. The ASF licenses this file to You under the Apache License, Version 2.0
    7. (the "License"); you may not use this file except in compliance with
    8. the License.  You may obtain a copy of the License at
    9. http://www.apache.org/licenses/LICENSE-2.0
    10. Unless required by applicable law or agreed to in writing, software
    11. distributed under the License is distributed on an "AS IS" BASIS,
    12. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13. See the License for the specific language governing permissions and
    14. limitations under the License.
    15. -->
    16. <web-app xmlns="http://java.sun.com/xml/ns/javaee"
    17. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    18. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    19. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    20. version="3.0"
    21. metadata-complete="true">
    22. <display-name>Welcome to Tomcat</display-name>
    23. <description>
    24. Welcome to Tomcat
    25. </description>
    26. <servlet>
    27. <servlet-name>hello</servlet-name>
    28. <servlet-class>HelloServlet</servlet-class>
    29. </servlet>
    30. <servlet-mapping>
    31. <servlet-name>hello</servlet-name>
    32. <url-pattern>/HelloServlet</url-pattern>
    33. </servlet-mapping>
    34. </web-app>
    35. </span>
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements. See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    --> <web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0"
    metadata-complete="true"> <display-name>Welcome to Tomcat</display-name>
    <description>
    Welcome to Tomcat
    </description>
    <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/HelloServlet</url-pattern>
    </servlet-mapping> </web-app>

    启动Tomcat,在浏览器访问,如下,则说明正确

    测试使用的Servlet
    带包的HelloServlet2.java如下:

    1. <span style="font-size: 18px;">package coreservlets;
    2. import java.io.*;
    3. import javax.servlet.*;
    4. import javax.servlet.http.*;
    5. /** Simple servlet used to test server.*/
    6. public class HelloServlet2 extends HttpServlet{
    7. public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    8. response.setContentType("text/html");
    9. PrintWriter out=response.getWriter();
    10. String docType="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 "+"Transitional//EN\">\n";
    11. out.println(docType+
    12. "<html>\n"+
    13. "<head><title>Hello</title></head>\n"+
    14. "<body bgcolor=\"#fdf5e6\">\n"+
    15. "<h1>Hello world (2)</h1>\n"+
    16. "</body></html>");
    17. }
    18. public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    19. this.doGet(request,response);
    20. }
    21. }</span>
    package coreservlets;
    
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*; /** Simple servlet used to test server.*/
    public class HelloServlet2 extends HttpServlet{
    public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    response.setContentType("text/html");
    PrintWriter out=response.getWriter();
    String docType="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 "+"Transitional//EN\">\n";
    out.println(docType+
    "<html>\n"+
    "<head><title>Hello</title></head>\n"+
    "<body bgcolor=\"#fdf5e6\">\n"+
    "<h1>Hello world (2)</h1>\n"+
    "</body></html>");
    }
    public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    this.doGet(request,response);
    }
    }

    像上面一样,编译之后就class文件拷贝到<CATALINA_HOME>/webapps/ROOT/WEB-INF/class/coreservlets包下,并在web.xml文件中增加如下内容

    1. <span style="font-size: 18px;"><servlet>
    2. <servlet-name>hello2</servlet-name>
    3. <servlet-class>coreservlets.HelloServlet2</servlet-class>
    4. </servlet>
    5. <servlet-mapping>
    6. <servlet-name>hello2</servlet-name>
    7. <url-pattern>/HelloServlet2</url-pattern>
    8. </servlet-mapping></span>
    <servlet>
    <servlet-name>hello2</servlet-name>
    <servlet-class>coreservlets.HelloServlet2</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>hello2</servlet-name>
    <url-pattern>/HelloServlet2</url-pattern>
    </servlet-mapping>

    在这里要注意,web.xml中,引用HelloServlet2时,包与class文件之间的分隔符是圆点“.";classes下的包名要与package coreservlets一致,否则,你懂的。
    重启tomcat,在浏览器测试,如下

    测试使用包和实用工具类的Servlet
    HelloServlet3.java

    1. <span style="font-size: 18px;">package coreservlets;
    2. import java.io.*;
    3. import javax.servlet.*;
    4. import javax.servlet.http.*;
    5. /** Simple servlet for testing the use of packages
    6. *and utilities from the same package*/
    7. public class HelloServlet3 extends HttpServlet{
    8. public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    9. response.setContentType("text/html");
    10. PrintWriter out=response.getWriter();
    11. String title="Hello (3)";
    12. out.println(ServletUtilities.headWithTitle(title)+
    13. "<body bgcolor=\"#fdf5e6\">\n"+
    14. "<h1>"+title+"</h1>\n"+
    15. "</body></html>");
    16. }
    17. public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    18. this.doGet(request,response);
    19. }
    20. }</span>
    package coreservlets;
    
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*; /** Simple servlet for testing the use of packages
    *and utilities from the same package*/
    public class HelloServlet3 extends HttpServlet{
    public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    response.setContentType("text/html");
    PrintWriter out=response.getWriter();
    String title="Hello (3)";
    out.println(ServletUtilities.headWithTitle(title)+
    "<body bgcolor=\"#fdf5e6\">\n"+
    "<h1>"+title+"</h1>\n"+
    "</body></html>");
    }
    public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    this.doGet(request,response);
    }
    }

    ServletUtilities.java

    1. <span style="font-size: 18px;">package coreservlets;
    2. import javax.servlet.*;
    3. import javax.servlet.http.*;
    4. /**Some simple timesavers.Note that most are static methods.*/
    5. public class ServletUtilities {
    6. public static final String DOCTYPE="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 "+"Transitional//EN\">\n";
    7. public static String headWithTitle(String title){
    8. return(DOCTYPE+"\n"+"<html>\n"+"<head><title>"+title+"</title></head>\n");
    9. }
    10. }
    11. </span>
    package coreservlets;
    
    import javax.servlet.*;
    import javax.servlet.http.*; /**Some simple timesavers.Note that most are static methods.*/
    public class ServletUtilities {
    public static final String DOCTYPE="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 "+"Transitional//EN\">\n";
    public static String headWithTitle(String title){
    return(DOCTYPE+"\n"+"<html>\n"+"<head><title>"+title+"</title></head>\n");
    }
    }

    剩下的就是编译,拷贝,修改web.xml,重启Tomcat,最后在浏览器中测试如下:

小结:是不是很麻烦呢?每次我都要调用javac filepath进行编译,编译之后再copy到tomcat下,太机械重复了,有没有简单的呢?

当然有了,这是下面要学习的内容,且看我们下篇学习吧!

http://blog.csdn.net/hankaibo/article/details/19705205

JSP/Servlet环境配置的更多相关文章

  1. Eclipse JSP/Servlet 环境搭建

    Eclipse JSP/Servlet 环境搭建 本文假定你已安装了 JDK 环境,如未安装,可参阅 Java 开发环境配置. 我们可以使用 Eclipse 来搭建 JSP 开发环境,首先我们分别下载 ...

  2. JSP-Runood:Eclipse JSP/Servlet 环境搭建

    ylbtech-JSP-Runood:Eclipse JSP/Servlet 环境搭建 1.返回顶部 1. Eclipse JSP/Servlet 环境搭建 本文假定你已安装了 JDK 环境,如未安装 ...

  3. Java学习笔记之:Java Servlet环境配置

    一.介绍 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层. 使用 ...

  4. JSP开发环境配置问题解答

    有过JSP开发经验的同学对于JSP开发环境的配置一定非常的很有感触,十分的繁琐,有时因为一个小的问题导致我们配置的配置前功尽弃,本篇我将重点带领大家一起探讨一下关于JSP环境配置的一些常见问题,及解决 ...

  5. jsp/servlet环境搭建

    手动配置servlet开发环境: 1. eclipse.tomcat.jdk下载安装: 2. eclipse新建项目,项目依赖tomcat的jar包(包含tomcat和servlet相关jar包)以及 ...

  6. JSP servlet的配置与使用

    1. servlet 的配置文件内容如下所示 <servlet>     <description>This is the description of my J2EE com ...

  7. servlet:从入门到实战学习(1)---全·环境配置

    最近公司忙加班学习,学校忙助教工作,博客鸽了好久,后端学习工作过程中学了好多东西,趁着工作之余得空补补博客,算是整理下学习的东西. javaweb的后端研发需要学习的是tomcat+servlet+j ...

  8. 【Java】各种软件安装与环境配置的失败

    又来到了java的世界,看了一段时间的视频.感觉太空虚,便从网上找到一个教程.想做几个demo试试,少不了的前期准备:Java开发环境配置,Eclipse JSP/Servlet 环境搭建等.     ...

  9. JSP-Runoob:JSP开发环境搭建

    ylbtech-JSP-Runoob:JSP开发环境搭建 1.返回顶部 1. JSP 开发环境搭建 JSP开发环境是您用来开发.测试和运行JSP程序的地方. 本节将会带您搭建JSP开发环境,具体包括以 ...

随机推荐

  1. eth0: ERROR while getting interface flags: No such device

    出现这个问题有两种原因: 虚拟机设置中没有添加对应的网卡 更改了虚拟机中网卡的MAC,但是Debian 的缓存中将eth0与上次的MAC对应 解决方法: 这里仅就第二种问题提出解决方案: 删除/etc ...

  2. centos系统的时间时区和MySQL的时间时区问题

    原文:http://1567045.blog.51cto.com/1557045/1074971 centos系统的时间时区和MySQL的时间时区问题  年轻人做事要细心,特别我们这些搞IT的千万不莽 ...

  3. ASP.NET MVC生命周期介绍(转)

    本文以IIS7中asp.net应用程序生命周期为例,介绍了asp.net mvc的生命周期. asp.net应用程序管道处理用户请求时特别强调"时机",对asp.net生命周期的了 ...

  4. 使用spice连接kvm guest主机

    spice技术已经出来很久了,其是优于VNC的一种远程桌面协议,之所以这里记录下,是由于某些加密视频文件(如以vpy结尾的超时代视频加密),会识别主机的特征吗,一旦主机重启后这些视频又没法查看了,所以 ...

  5. android BSP与硬件相关子系统读书笔记(1)android BSP移植综述

    从linux驱动转行至Android驱动开发大半年了,一开始就产生了一个很纠结目标和问题,就是不停的google如何porting android!这个问题得到的结果对于初出茅庐的我,感到迷惘.随着工 ...

  6. ZOJ 3526 Weekend Party

    Weekend Party Time Limit: 2 Seconds      Memory Limit: 65536 KB As the only Oni (a kind of fabulous ...

  7. zoj 2744 - Palindromes

    题目:统计一个串中的回文子串的个数(注意是子串,要连续). 分析:dp.暴力.直接用dp,二维数组内存不够用,并且dp木有暴力快( ⊙ o ⊙ )啊! 说明:(2011-09-24 03:22). # ...

  8. 程序员的笔记工具——Markdown

    安利一款轻量级的标记语言——Markdown 如上,Markdown作为一门语言,十分钟即可入门,熟练以后麻麻再也不用担心我在文章排版上浪费时间了!! 入门资源可参考如下回答(建议拣一条完整的看完上手 ...

  9. (一)Redis笔记——简介 、key 、数据类型

    1.  Redis是什么.特点.优势 Redis是一个开源的使用C语言编写.开源.支持网络.可基于内存亦可持久化的日志型.高性能的Key-Value数据库,并提供多种语言的API. 它通常被称为数据结 ...

  10. scrollTop()--返回或设置匹配元素的滚动条的垂直位置

    scrollTop() 方法返回或设置匹配元素的滚动条的垂直位置. scroll top offset 指的是滚动条相对于其顶部的偏移. 如果该方法未设置参数,则返回以像素计的相对滚动条顶部的偏移. ...