Servlet
登录功能实现-LoginServlet
涉及的技术知识点
- Servlet
- Request请求对象
- Response响应对象
什么是Servlet?
- Servlet是Sun公司制定的一套技术标准,包含与Web应用相关的一系列接口,是Web应用实现方式的宏观解决方案。而具体的Servlet容器负责提供标准的实现。
- Servlet作为服务器端的一个组件,它的本意是“服务器端的小程序”。Servlet的实例对象由Servlet容器负责创建;Servlet的方法由容器在特定情况下调用;Servlet容器会在Web应用卸载时销毁Servlet对象的实例。
- 简单可以理解为 Servlet就是用来处理客户端的请求的.
Servlet开发规则
实际编码通过继承HttpServlet来完成Servlet的开发
Servlet类的相关方法
- doGet Servlet中用于处理get请求的方法
-
doPost Servlet中用于处理post请求的方法
-
service
在Servlet的顶层实现中,在service方法中调用的具体的doGet或者是doPost。
在实际开发Servlet的过程中,可以选择重写doGet以及doPost 或者 直接重写service方法来处理请求。
Servlet在web.xml中的配置
客户端请求匹配的过程:
与 <servlet-mapping>
中的 <url-pattern>
进行匹配,匹配到以后,再找到 <servlet-mapping>
中的 <servlet-name>
的值,再拿上该值到 <servlet>
节点中匹配相同的 <servlet-name>
,进而找到 <servlet-class>
。Tomcat通过反射的方式创建loginServlet的实例,根据具体的请求方式调用对应的doGet或者doPost方法
获取请求参数值
HttpServletRequest
-
该接口是ServletRequest接口的子接口,封装了HTTP请求的相关信息,由Servlet容器创建其实现类对象并传入service(ServletRequest req, ServletResponse res)方法中。以下我们所说的HttpServletRequest对象指的是容器提供的HttpServletRequest实现类对象。
-
HttpServletRequest对象的主要功能有
获取请求参数
在请求域中绑定数据
将请求转发给另外一个URL地址 [转发]
响应结果
HttpServletResponse
- 该接口是ServletResponse接口的子接口,封装了HTTP响应的相关信息,由Servlet容器创建其实现类对象并传入service(ServletRequest req, ServletResponse res)方法中。以下我们所说的HttpServletResponse对象指的是容器提供的HttpServletResponse实现类对象
- 主要功能
使用PrintWriter对象向浏览器输出数据
实现请求的重定向[重定向]
具体登录功能的实现步骤
- 在登录页面中录入用户名和密码,点击登录按钮提交登录请求
- 在LoginServlet中通过request对象获取到页面表单提交的用户名和密码
//获取用户输入的用户名和密码
String username = req.getParameter("username"); String password = req.getParameter("password");
- 调用Dao对象,将用户提交的用户名和密码与数据库的用户表的数据进行匹配
UserDao dao = new UserDaoJdbcImpl();
User user = dao.findUserByUsernameAndPassword(username, password);
- 得出结果,完成响应.
//设置响应头信息
resp.setContentType("text/html;charset=utf-8");
//获取输出流
PrintWriter out = resp.getWriter();
if(user == null) {
//登录失败
out.println("登录失败!!!!"); .
}else{
//登录成功
out.println("登录成功!!!!");
}
out.close();