zoukankan      html  css  js  c++  java
  • servlet 中 service ,doGet , doPost 关系

    web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
        xmlns="http://java.sun.com/xml/ns/j2ee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
      <display-name>servlet-test</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      
      <servlet>
          <servlet-name>MySer</servlet-name>
          <servlet-class>test1.MySer</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>MySer</servlet-name>
          <url-pattern>/servlet/MySer</url-pattern>
      </servlet-mapping>
      
    </web-app>

    mySer

    
    
    package test1;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class MySer extends HttpServlet{
        
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
    
        @Override
        protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException{
            
            System.out.println("fa");
            if(request.getMethod().equals("POST")){
                doPost(request, response);
            }
            //一个servlet默认会执行service方法,service方法中会转向doget或者dopost(doget,dopost如果被子类覆盖,
            //那个就执行子类的。如果你在子类中覆盖了service 方法,那么是否执行doget或者dopost ,就成为service方法
            //的代码问题了)
        }
        
        
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doPost(request, response);
            System.out.println("get");
        }
        
        
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
            System.out.print("post");
            request.setAttribute("msg", "登陆成功");
            request.getRequestDispatcher("/success.jsp").forward(request, response); 
        //response.sendRedirect("/success.jsp");
        //重定向是客户端发出的请求,所以是response请求,url地址栏改变
        //请求转发是服务端发出的,所以是request请求,url地址栏不变
    } }
    
    
    
     

    index.jsp

    <?xml version="1.0" encoding="utf-8" ?>
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Insert title here</title>
    </head>
    <body>
        <form action="/servlet/MySer" name="f" method="post">
        <input type="text" value="" name="usename"/>
        <input type="password" value="" name="password"/>
        <input type="submit" value="dengl"/>
        </form>
    </body>
    </html>

    需要把 javax.servlet. servlet-api.jar 放到lib下。 

    记得把Java build path - source 的 output folder 设置为 项目名/webapp/WEB-INF/classes下

  • 相关阅读:
    hdu 4970 树状数组 “改段求段”
    hdu 2242 无向图/求用桥一分为二后使俩个bcc点权值和之差最小并输出 /缩点+2次新图dfs
    hdu3715 2-sat+二分
    hdu 3639 有向图缩点+建反向图+搜索
    hdu 3072 有向图缩点成最小树形图计算最小权
    hdu 3061 hdu 3996 最大权闭合图 最后一斩
    hdu 3879 hdu 3917 构造最大权闭合图 俩经典题
    hdu 4738 无向图缩点断桥 // 细节坑题
    hdu3452 无向树去掉最小的边集使任何叶子与根不连通 / 最小割
    hdu 3657 最小割的活用 / 奇偶方格取数类经典题 /最小割
  • 原文地址:https://www.cnblogs.com/zhangchenglzhao/p/4343675.html
Copyright © 2011-2022 走看看