舟山网站建设费用,北京最新网站备案,工业软件开发需要学什么专业,网站提供的服务本部分内容为#xff1a;实现登录功能#xff1b;强制要求用户登录#xff1b;实现显示用户信息#xff1b;退出登录#xff1b;发布博客 该部分的后端代码如下#xff1a; Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws Ser…本部分内容为实现登录功能强制要求用户登录实现显示用户信息退出登录发布博客 该部分的后端代码如下 Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//1.从请求中获取用户名和密码// 给请求对象设置字符集, 保证说请求中的 username 或者 password 是中文, 也能正确处理.req.setCharacterEncoding(utf8);String usernamereq.getParameter(username);String passwordreq.getParameter(password);if(usernamenull || passwordnull || .equals(username) || .equals(password)){//这是用户名和密码有误resp.setContentType(text/html;charsetutf8);resp.getWriter().write(username or password is empty);return;}//2.从数据库的数据进行验证看用户名和密码是否匹配//通过用户名查询信息UserDao userDaonew UserDao();User useruserDao.getUserByName(username);if(usernull){//当前提交的用户名密码错误resp.setContentType(text/html;charsetutf8);resp.getWriter().write(username or password is wrong);return;}if(!password.equals(user.getPassword())){//当前提交的用户名密码错误resp.setContentType(text/html;charsetutf8);resp.getWriter().write(username or password is wrong);return;}//3创建会话HttpSession session req.getSession(true);// 把当前登录的用户信息保存到 session 中, 方便后续进行获取.session.setAttribute(user,user);//4跳转到博客列表页resp.sendRedirect(blog_list.html);该部分的后端代码如下
Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//根据上面我们建立了会话为依据HttpSession session req.getSession(false);if(sessionnull){//未登录返回前端resp.setStatus(403);return;}//不仅仅要看session是否存在还要看上述中存储的用户信息是否存在User user (User) session.getAttribute(user);if(usernull){//未登录返回前端resp.setStatus(403);return;}//表示已经登陆resp.setStatus(200);}该部分的后端代码如下
private ObjectMapper objectMappernew ObjectMapper();Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//通过判断请求是否带有blogId这个参数来判断是列表页发来的请求还是详情页发来的请求String blogIdreq.getParameter(blogId);if(blogIdnull){//表明是列表页//列表页可以从保存下来的session中拿到用户信息HttpSession sessionreq.getSession(false);//拿到的这个session可能为空if(sessionnull){//session为空那么用户信息也必然为空这里需要创建一个卡用户出来User usernew User();//Jackson ObjectMapper类(com.fasterxml.jackson.databind.ObjectMapper)解析JSON工具////序列化 Java对象生成Json////反序列化 Json解析为Java对象String respJsonobjectMapper.writeValueAsString(user);resp.setContentType(application/json;charsetutf8);resp.getWriter().write(respJson);return;}User user (User) session.getAttribute(user);if(usernull){usernew User();String respJsonobjectMapper.writeValueAsString(user);resp.setContentType(application/json;charsetutf8);resp.getWriter().write(respJson);return;}String respJsonobjectMapper.writeValueAsString(user);resp.setContentType(applicaion/json;charsetutf8);resp.getWriter().write(respJson);}else{//表明是详情页//需要查询数据库,通过blogId关联找到blog,再通过getuserid找到userid通过userid找到userBlogDao blogDaonew BlogDao();Blog blogblogDao.getBlog(Integer.parseInt(blogId));if(blognull){User usernew User();String respJsonobjectMapper.writeValueAsString(user);resp.setContentType(application/json;charsetutf8);resp.getWriter().write(respJson);return;}UserDao userDaonew UserDao();User useruserDao.getUserById(blog.getBlogId());if(usernull){usernew User();String respJsonobjectMapper.writeValueAsString(user);resp.setContentType(application/json;charsetutf8);resp.getWriter().write(respJson);return;}String respJsonobjectMapper.writeValueAsString(user);resp.setContentType(application/json;charsetutf8);resp.getWriter().write(respJson);}}上述过程的后端代码如下
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {HttpSession sessionreq.getSession(false);if(sessionnull){//当前状态未登录不做处理跳转到登录resp.sendRedirect(login.html);return;}//在登录成功之后session中会有user这个属性// 把他删除之后状态就成了为登录session.removeAttribute(user);resp.sendRedirect(login.html);上述过程的后端代码如下
//1.获取登录的用户//虽然编写内容的时候一定会有用户登录但是为了防止其它情况我们还是要做检查HttpSession sessionreq.getSession(false);if(sessionnull){resp.setContentType(text/html;charsetutf8);resp.getWriter().write(user dont register,please register);return;}User user (User) session.getAttribute(user);if(usernull){resp.setContentType(text/html;charsetutf8);resp.getWriter().write(user dont register,please register);return;}//2.从请求中获取用户传递过来的信息req.setCharacterEncoding(utf8);String titlereq.getParameter(title);String contentreq.getParameter(content);if(titlenull || contentnull || .equals(title) || .equals(content)){resp.setContentType(text/html;charsetutf8);resp.getWriter().write(title or content is empty);return;}//3.构造对象将其插入倒数据库中Blog blognew Blog();blog.setTitle(title);blog.setContent(content);blog.setUserId(user.getUserId());//此处的时间是sql通过自带的now获取不需要手动获取BlogDao blogDaonew BlogDao();blogDao.insert(blog);//4.跳转到列表页resp.sendRedirect(blog_list.html);