JSP/Servlet环境配置

本文详细介绍了如何配置JSP/Servlet开发环境,包括下载安装JDK并配置环境变量,下载Apache Tomcat服务器,设置JAVA_HOME和端口,创建开发目录,编辑web.xml以映射Servlet,以及测试Hello World示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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
    <html>
    <head>
    <title>test</title>
    </head>
    <body>
    Hello world
    </body>
    </html>
    helloworld.jsp
    <!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
    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,编辑如下:

    <?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如下:

    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文件中增加如下内容

    <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

    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

    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下,太机械重复了,有没有简单的呢?

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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值