概述
- 继承自GenericServlet,针对于HTTP请求协议所定制。
- 在service(ServletRequest req, ServletResponse res)方法中直接把ServletRequest和ServletResponse强转为HttpServletRequest和HttpServletResponse,并调用重载的service(HttpServletRequest,HttpServletResponse)方法。
- 在service(HttpServletRequest,HttpServletResponse)方法中获得了请求的方式(req.getMethod()),调用doXxx()方法(Xxx为具体的请求方式)。
- 实际开发中,直接继承HttpServletRequest,重写doXxx()方法,就好。
优点
- 直接有针对性的覆盖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
-
欢迎加入交流群:451826376
-
更多信息:www.itcourse.top
网友评论