1、按要求设计一个Servlet01类。
(1)创建Javaweb工程chapter03,创建包路径cn.itcast.servlet。
创建Dynamic Web Project命名为chapter03,在src目录下创建包cn.itcast.servlet,如图1.1所示。
--------------------图1.1 – 创建类、包
(2)自定义Servlet01类继承GenericServlet类,实现service()方法,在service()方法中获取输出流对象,并输出一段话到页面。
a)先导入servlet-api.jar: 在tomact的lib文件夹里找到servlet-api.jar包,复制后在webContent下WEB-INF下的lib文件夹中粘贴(paste),刷新后Web App Libraries下能看到导入的jar包,如图1.2.1所示。
----------------图1.2.1 – 导入jar包
b)自定义Servlet01类继承GenericServlet类,实现service()方法,在service()方法中获取输出流对象,并输出一段话到页面。
-----------------图1.2.2 – 定义Servlet01类
(3)配置web.xml信息,在tomcat服务器中部署chapter03工程。
a)在WEB_INF文件夹下找到web.xml,开始配置web.xml配置文件信息,提供servlet的访问路径,如图1.3.1所示。
----------图1.3.1 – 配置web.xml文件信息
b)在tomcat服务器server中部署chapter03工程,用于访问创建的web项目。
------图1.3.2 – 将项目部署到tomcat服务器中
(4)启动服务,使用浏览器访问Servlet01映射的url地址。访问地址为:http://localhost:8080/chapter03/hello,找到对应的servlet01,把数据响应给浏览器。
2、请按照以下要求创建HelloWorldServlet类。
(1)在chapter03项目中定义一个HelloWorldServlet类,其中定义了init()、destroy()方法,如图2.1所示。
(2)在service()、init()、destroy()三个方法中分别添加输出语句,如图2.2所示。
(3)配置web.xml信息,在tomcat服务器中部署chapter03项目。
(4)启动Tomcat服务器,使用浏览器访问Servlet01映射的url地址,观察控制台输出内容。
3、按要求设计一个Servlet02类。
(1)在chapter03项目中创建Servlet02类,继承HttpServlet类,重写其doGet()和doPost()方法,并在这两个方法中分别编写输出不同内容的代码。
(2)在项目的WebContent目录下创建一个登陆页面login.html,采用post方式提交给Servlet02处理。
(3)在web.xml中配置Servlet02的映射信息。
(4)部署项目并启动Tomcat服务器,使用浏览器采用Get方式访问Servlet02映射的url地址,观察页面显示内容。
(5)重新使用浏览器成功访问login.html页面后,提交表单,再次观察页面显示内容。
分别用两种方式提交表单,在控制台成功获取两种提交方式的响应信息。
--------------------图3.5 – 提交表单
附代码:
//Servlet01.java
package cn.itcast.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
/*
* 自定义servlet类,继承GenericServlet
* 重写父类的服务方法,service
* @author 偏差
* */
public class Servlet01 extends GenericServlet{
@Override
public void service(ServletRequest arg0, ServletResponse response)
throws ServletException, IOException {
// 处理客户端发送的请求,并且把数据响应给客户端
System.out.println("接收了客户端的请求---------------------------------------");
//把数据响应给客户端,使用输出流对象向客户端发送字符
PrintWriter out = response.getWriter();
//在客户端显示的内容
out.println("Hello World!");
}
}
//HelloWorldServlet.java
package cn.itcast.servlet;
import java.io.IOException;
import javax.servlet.GenericServlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class HelloWorldServlet extends GenericServlet {
/*
* 初始化方法
* */
@Override
public void init(ServletConfig config) throws ServletException {
System.out.println("首次访问HelloWorldServlet时,会访问这个初始化方法---------");
}
/**
* servlet的服务方法
**/
@Override
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
System.out.println("每次访问HelloWorldServlet,都会执行这个服务方法-------------");
}
/*
* 销毁方法
* */
@Override
public void destroy() {
System.out.println("在服务器关闭时,会执行这个销毁方法---------------------------");
}
}