接上一个博客中注册功能的项目中完成。
上一个博客地址:
https://blog.csdn.net/yj19880214/article/details/99444600
登入功能的实现:
1.在dao中的接口中添加登入的方法
public User log(User user) throws SQLException;
如图:
2.实现类中添加实现刚才的登入接口
@Override
public User log(User user) throws SQLException {
String sql="select * from user where username = ? and password = ? ";
return qr.query(sql,new BeanHandler(User.class),user.getUsername(),user.getPassword());
}
如图:
3. 在servlet包中新建LogServlet
public class LogServlet implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
HttpServletRequest request=(HttpServletRequest) servletRequest;
HttpServletResponse response=(HttpServletResponse)servletResponse;
String username = request.getParameter(“username”);
String password = request.getParameter(“password”);
User user=new User(username,password);
Save save=new SaveImpl();
User log=null;
try {
log = save.log(user);
} catch (SQLException e) {
e.printStackTrace();
}
response.setContentType(“text/html;charset=utf-8”);
PrintWriter writer=response.getWriter();
String msg=null;
if (log!=null){
msg=“登入成功!”;
writer.println(msg); //页面输出
// System.out.println(“登入成功!”); 控制台输出
}
else {
msg=“登入失败!”;
writer.println(msg);
}
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
4.编写登入页面
<body>
<form action="/RegisterWeb/LogServlet" method="get">
<p>用户名:<input type="text" name="username" value="" /></p>
<p>密 码:<input type="text" name="password" value=""/></p>
<input type="submit" value="登入">
</form>
</body>
5.在web.xml文件中注册servlet
<servlet>
<servlet-name>RegServletYYY</servlet-name>
<servlet-class>com.whxh.register.servlet.LogServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RegServletYYY</servlet-name>
<url-pattern>/LogServlet</url-pattern>
</servlet-mapping>