JavaWeb-010-HttpServlet详解

微信公众号: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架构师

优点

  • 直接有针对性的覆盖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架构师


其它



- 源码下载

关注下方公众号,回复:javaweb_course.code

完整教程PDF版本下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值