Servlet知识点

如果请求采用Get方式,则重写doGet()方法,如果请求采用Post方式,则重写doPost()方法。

下面是重写doGet()方法的servlet例子。

servlet继承如下类:

 

整体结构:

 在servlet程序的空白处右键-Source-Override/Implements Methods..,选择重写doGet()与doPost()方法,点击ok,则会自动添加程序段。

由于采用doGet()方式请求Servlet,所以重写doGet()方法,内容如下:

 1 <%@ page language="java" contentType="text/html; charset=utf-8"
 2     pageEncoding="utf-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 <title>第一个Servlet小例子</title>
 8 </head>
 9 <body>
10 <!-- 超链接就是一种Get请求方式 -->
11     <a href="servlet/HelloServlet">Get方式请求HelloServlet</a>
12 </body>
13 </html>
index.jsp
 1 package servlet;
 2 
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 
 6 import javax.servlet.ServletException;
 7 import javax.servlet.http.HttpServlet;
 8 import javax.servlet.http.HttpServletRequest;
 9 import javax.servlet.http.HttpServletResponse;
10 
11 //继承于HttpServlet
12 public class HelloServlet extends HttpServlet {
13 
14     @Override
15     protected void doGet(HttpServletRequest request, HttpServletResponse response)
16             throws ServletException, IOException {
17         // TODO Auto-generated method stub
18         //super.doGet(request, response);
19         System.out.println("处理Get()请求");//后台输入话,表名确实进行了对Get()请求的处理
20         PrintWriter out =response.getWriter();//打印输出内容
21         response.setContentType("text/html;charset=utf-8");//响应内容类型的字符集设置
22         out.println("<strong>Hello Servlet</strong><hr>");
23     }
24     @Override
25     protected void doPost(HttpServletRequest request, HttpServletResponse response)
26             throws ServletException, IOException {
27         // TODO Auto-generated method stub
28         //super.doPost(request, response);
29     }
30     
31 }
HelloServlet.java
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
 3   <display-name>MyFirstServlet</display-name>
 4   <welcome-file-list>
 5     <welcome-file>index.html</welcome-file>
 6     <welcome-file>index.htm</welcome-file>
 7     <welcome-file>index.jsp</welcome-file>
 8     <welcome-file>default.html</welcome-file>
 9     <welcome-file>default.htm</welcome-file>
10     <welcome-file>default.jsp</welcome-file>
11   </welcome-file-list>
12   <servlet>
13       <servlet-name>HelloServlet01</servlet-name>
14       <servlet-class>servlet.HelloServlet</servlet-class>
15   </servlet>
16   <servlet-mapping>
17       <servlet-name>HelloServlet01</servlet-name>
18       <!-- url-pattern要和请求的路径相同 -->
19       <url-pattern>/servlet/HelloServlet</url-pattern>
20   </servlet-mapping>
21 </web-app>
web.xml

 

 

 如果使用post请求,我们就做一个表单,method设置为post:

程序改动有2处,一是在index.jsp中加入表单,以post方式提交,二是在web.xml中重写doPost()方法。程序截图如下:

运行项目,输入地址,点击提交按钮,就会将请求提交给HelloServlet来处理,该Servlet调用doPost()方法进行业务处理。

点击按钮,控制台输出:

结果显示:

可以看到地址栏从原来的index.jsp变成了HelloServlet,说明请求提交给了servlet处理。

 

posted on 2016-09-10 23:38  Javanumberone  阅读(240)  评论(0编辑  收藏  举报

导航