-
1 知识链接
-
2 任务实现·
-
3 同步实训
开发Servlet一般按以下步骤进行:
(1)编写Servlet,设置访问URL,重写doGet()和doPost方法。
(2)运行Servlet。
【知识链接】
1.创建Servlet
创建Servlet有如下3种方式:
实现Servlet接口。
继承GenericServlet类。
继承HttpServlet类。
创建的Servlet中有两个重要的方法doGet()和doPost(),其中doGet()用于处理客户端的GET请求,doPost()用于处理客户端的POST请求。程序员在编写特定功能的Servlet时,需要重写这两个方法。
2.Servlet的运行
Servlet的运行比较简单,只需要通过URL就可以实现访问。
3.Servlet中数据的获取与响应
Servlet容器在接收客户请求时,除了创建ServletRequest对象用于封装客户的请求信息外,还创建了一个ServletResponse对象,用来封装响应数据,并且同时将这两个对象一并作为参数传递给Servlet。
Servlet能够利用ServletRequest对象获取客户端的请求数据,常用如表7-1所示。
表7-1 ServletRequest的常用方法
| 方法名称 | 方法描述 |
| Sring getParameter(String) | 获取请求中传递的参数 |
| void setCharacterEncoding("GBK") | 设置请求数据的字符编码 |
| void setAttribute(String,Object) | 在请求中保存名称为name的属性值 |
| Object getAttribute(String) | 获取名称为name的属性值 |
Servlet利用ServletRequest对象获取客户端的请求数据,经过处理后由ServletResponse对象发送响应数据。ServletResponse常用方法如表7-2所示。
表7-2 ServletResponse的常用方法
| 方法名称 | 方法描述 |
| void sendRedirect("url") | 发送一个临时的重定向响应到客户端,以便客户端访问新的URL |
| void setContentType(String) | 设置发送到客户端的响应的内容类型 |
在Servlet中页面跳转方式有以下两种:
转发:对应的Servlet代码和JSP代码为:
| request.getRequestDispatcher("JSP页面或Servlet").forward(request, response); |
其中request对象为HttpServletRequest类。
转发是在服务器端起作用的,当使用forward()方法时,Servlet容器传递HTTP请求,从当前的Servlet或JSP到指定的Servlet或JSP,此过程仍然在request作用范围内。转发后,浏览器的地址栏内容不变。转发可以将数据通过request作用域传递到下一个页面或Servlet。
重定向:对应的Servlet代码和JSP代码为:
| response.sendRedirect("JSP页面或Servlet"); |
重定向是在用户的浏览器端工作的,是Servlet对浏览器做出响应后浏览器再次发送一个新请求到指定的页面,重定向后,浏览器的地址栏内容发生变化。重定向无法传递数据。

