JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】

  • Java后端 学习路线 笔记汇总表【黑马程序员】
  1. JavaWeb黑马旅游网-学习笔记01【准备工作】
  2. JavaWeb黑马旅游网-学习笔记02【注册功能】
  3. JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】
  4. JavaWeb黑马旅游网-学习笔记04【BaseServlet抽取】
  5. JavaWeb黑马旅游网-学习笔记05【分类数据展示功能】
  6. JavaWeb黑马旅游网-学习笔记06【旅游线路分页展示分页展示】
  7. JavaWeb黑马旅游网-学习笔记07【旅游线路查询】
  8. JavaWeb黑马旅游网-学习笔记08【旅游线路详情】
  9. JavaWeb黑马旅游网-学习笔记09【旅游线路收藏】
  10. JavaWeb黑马旅游网-学习笔记10【项目代码】

目录

18-登录功能_分析

19-登录功能_实现_Servlet

LoginServlet.java

20-登录功能_实现_Service&Dao

UserServiceImpl.java

UserDaoImpl.java

21-登录功能_实现_前台页面

login.html

22-登录功能_姓名提示

header.html代码

FindUserServlet代码

23-退出功能

header.html

ExitServlet.java


18-登录功能_分析

登录功能

19-登录功能_实现_Servlet

LoginServlet.java

package cn.itcast.travel.web.servlet;import cn.itcast.travel.domain.ResultInfo;
import cn.itcast.travel.domain.User;
import cn.itcast.travel.service.UserService;
import cn.itcast.travel.service.impl.UserServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.beanutils.BeanUtils;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.获取用户名和密码数据Map map = request.getParameterMap();//2.封装User对象User user = new User();try {BeanUtils.populate(user, map);} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}//3.调用Service查询UserService service = new UserServiceImpl();User u = service.login(user);ResultInfo info = new ResultInfo();//4.判断用户对象是否为nullif (u == null) {//用户名密码或错误info.setFlag(false);info.setErrorMsg("用户名密码或错误!");}//5.判断用户是否激活if (u != null && !"Y".equals(u.getStatus())) {//用户尚未激活info.setFlag(false);info.setErrorMsg("您尚未激活,请激活!");}//6.判断是否登录成功if (u != null && "Y".equals(u.getStatus())) {request.getSession().setAttribute("user", u);//登录成功标记//登录成功info.setFlag(true);}//响应数据ObjectMapper mapper = new ObjectMapper();response.setContentType("application/json;charset=utf-8");mapper.writeValue(response.getOutputStream(), info);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}
}

20-登录功能_实现_Service&Dao

UserServiceImpl.java

UserDaoImpl.java

21-登录功能_实现_前台页面

login.html



黑马旅游网-登录

欢迎登录黑马旅游账户
自动登录
没有账户?立即注册

22-登录功能_姓名提示

index页面中 用户姓名的提示信息功能

header.html代码

FindUserServlet代码

package cn.itcast.travel.web.servlet;import com.fasterxml.jackson.databind.ObjectMapper;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/findUserServlet")
public class FindUserServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//从session中获取登录用户Object user = request.getSession().getAttribute("user");//将user写回客户端ObjectMapper mapper = new ObjectMapper();response.setContentType("application/json;charset=utf-8");mapper.writeValue(response.getOutputStream(), user);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}
}

23-退出功能

什么叫做登录了?session中有user对象。

实现步骤:

  1. 访问servlet,将session销毁
  2. 跳转到登录页面

header.html







ExitServlet.java

package cn.itcast.travel.web.servlet;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/exitServlet")
public class ExitServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.销毁sessionrequest.getSession().invalidate();//2.跳转登录页面response.sendRedirect(request.getContextPath() + "/login.html");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}
}

什么是真正的快乐?就是从你内心深处散发出来的你本来就有的东西。就像颜回穿着破烂的衣服,一箪食,一瓢饮,住在简陋的房子里,别人不能忍受这种贫困,颜回却自得其乐。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部