JavaWeb-010-HttpServlet详解

JavaWeb-010-HttpServlet详解_第1张图片
微信公众号:JavaWeb架构师

概述

  • 继承自GenericServlet,针对于HTTP请求协议所定制。
  • 在service(ServletRequest req, ServletResponse res)方法中直接把ServletRequest和ServletResponse强转为HttpServletRequest和HttpServletResponse,并调用重载的service(HttpServletRequest,HttpServletResponse)方法。
  • 在service(HttpServletRequest,HttpServletResponse)方法中获得了请求的方式(req.getMethod()),调用doXxx()方法(Xxx为具体的请求方式)。
  • 实际开发中,直接继承HttpServletRequest,重写doXxx()方法,就好。
JavaWeb-010-HttpServlet详解_第2张图片
微信公众号:JavaWeb架构师

优点

  • 直接有针对性的覆盖doXxx方法。
  • 直接使用HttpServletRequest和HttpServletResponse,不在需要强转。

测试代码

LoginServlet.java

package com.mac;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    //根据请求的方式重写doXxx(res,req)方法
    //已经强转成对应的HTTP请求和响应了,可以使用更多的方法
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
        res.setContentType("text/html;charset=UTF-8");
        PrintWriter out = res.getWriter();

        //1.获取ServletContext对应的全局初始化参数(在web.xml中)
        ServletConfig sco = this.getServletConfig();
        System.out.println(sco);
        ServletContext sc = sco.getServletContext();
        String user = sc.getInitParameter("user");
        String password = sc.getInitParameter("password");
        
        //2.获取用户的HTML输入
        String inputUser = req.getParameter("user");
        String inputPassword = req.getParameter("password");
        
        //3.进行用户名和账号的验证
        if( user.equals(inputUser) && password.equals(inputPassword) ) {
            out.println("登录成功!");
        } else {
            out.println("用户名或密码有误!请检查后重试!!!");
        }
    }
}

效果

JavaWeb-010-HttpServlet详解_第3张图片
微信公众号:JavaWeb架构师


其它


  • 源码下载
关注下方公众号,回复:javaweb_course.code
  • 欢迎加入交流群:451826376

  • 更多信息:www.itcourse.top

完整教程PDF版本下载

你可能感兴趣的:(JavaWeb-010-HttpServlet详解)