zoukankan      html  css  js  c++  java
  • com.jsj.web=====新闻发布系统(10)

    2020-05-15

    这个有点像快递站点(快递应该有学我们计算机思想的)

    接收快递,发送快递到客户手上

    接收界面信息,发生到下一级

    AdminServlet

     1 package com.jsj.web;
     2 
     3 import com.jsj.entity.Admin;
     4 import com.jsj.factory.ServiceFactory;
     5 import com.jsj.service.AdminService;
     6 
     7 import javax.servlet.ServletException;
     8 import javax.servlet.annotation.WebServlet;
     9 import javax.servlet.http.HttpServlet;
    10 import javax.servlet.http.HttpServletRequest;
    11 import javax.servlet.http.HttpServletResponse;
    12 import java.io.IOException;
    13 import java.io.PrintWriter;
    14 
    15 //注解用于标注在一个继承了HttpServlet类之上,属于类级别的注解。
    16 @WebServlet("/admin")
    17 public class AdminServlet extends HttpServlet {
    18 
    19     //调用工厂类创建对象
    20     //括号是强制转换
    21     private AdminService adminService = (AdminService) ServiceFactory.getService("AdminService");
    22 
    23     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
    24         response.setContentType("text/html;charset=UTF-8");
    25         try(PrintWriter out = response.getWriter()){
    26             /*
    27             getParameter:它是一种取参数的方法。把jsp文件中的数据读取到出来。然后就可以封装利用起来
    28              */
    29             String username = request.getParameter("username");
    30             String password = request.getParameter("password");
    31 
    32             //调用service层的login方法
    33             Admin admin = adminService.login(username,password);
    34 
    35             if (admin.getId()!=null){
    36 
    37                 request.getSession().setAttribute("adminStatus",true);
    38                 request.getSession().setAttribute("admin",admin);
    39                 out.println("登录成功,3秒后跳转到管理中心!如果没有跳转请点<a href='/admin/manage'>这里</a>");
    40                 response.setHeader("refresh", "2;url=/admin/manage");
    41             }else {
    42                 out.println("用户名或密码错误,请<a href='/admin'>重试</a>");
    43                 // 二秒跳到其他页面 response.setHeader("refresh","2;URL=otherPagename");
    44                 response.setHeader("refresh", "2;url=/admin");
    45             }
    46         }
    47     }
    48 
    49     @Override
    50     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
    51         request.getRequestDispatcher("/WEB-INF/view/admin/login.jsp").forward(request,response);
    52     }
    53 }
    View Code

    IndexServlet

     1 package com.jsj.web;
     2 
     3 import com.jsj.entity.NewsCateVo;
     4 import com.jsj.entity.NewsCate;
     5 import com.jsj.factory.ServiceFactory;
     6 import com.jsj.service.NewsCateService;
     7 
     8 import javax.servlet.ServletException;
     9 import javax.servlet.annotation.WebServlet;
    10 import javax.servlet.http.HttpServlet;
    11 import javax.servlet.http.HttpServletRequest;
    12 import javax.servlet.http.HttpServletResponse;
    13 import java.io.IOException;
    14 import java.util.List;
    15 
    16 @WebServlet("/index")
    17 public class IndexServlet extends HttpServlet {
    18 
    19     private NewsCateService newsCateService = (NewsCateService) ServiceFactory.getService("NewsCateService");
    20 
    21     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    22         List<NewsCate> allCate = newsCateService.getAllCate();
    23         request.setAttribute("allCate",allCate);
    24         List<NewsCateVo> allNewsCateVo = newsCateService.getAllNewsCateVo(5);
    25         request.setAttribute("allNewsCateVo", allNewsCateVo);
    26         request.getRequestDispatcher("/WEB-INF/view/index.jsp").forward(request,response);
    27     }
    28 
    29 }
    View Code

    LoginServlet

     1 package com.jsj.web;
     2 
     3 import com.jsj.entity.User;
     4 import com.jsj.factory.ServiceFactory;
     5 import com.jsj.service.UserService;
     6 
     7 import javax.servlet.ServletException;
     8 import javax.servlet.annotation.WebServlet;
     9 import javax.servlet.http.Cookie;
    10 import javax.servlet.http.HttpServlet;
    11 import javax.servlet.http.HttpServletRequest;
    12 import javax.servlet.http.HttpServletResponse;
    13 import java.io.IOException;
    14 import java.io.PrintWriter;
    15 
    16 @WebServlet("/login")
    17 public class LoginServlet extends HttpServlet {
    18     //通过ServiceFactory工厂生产UserService对象
    19     private UserService userService = (UserService) ServiceFactory.getService("UserService");
    20 
    21     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
    22         //设置编码方式,中文不会出现乱码
    23         response.setContentType("text/html;charset=UTF-8");
    24 
    25         try(PrintWriter out = response.getWriter()){
    26             //获取login.jsp界面的用户名和密码
    27             String username = request.getParameter("username");
    28             String password = request.getParameter("password");
    29 
    30 
    31             //通过调用login方法查询账号密码,返回对象
    32             User user = userService.login(username,password);
    33             //如果账号密码正确的话,id就不为空
    34             if (user.getId()!=null){
    35                 //判断是否有点 记住我这个
    36                 if (request.getParameter("remember")!=null){
    37                     //创建cookie对象,参数分别代表 cookie名称 和 值
    38                     Cookie usernameCookie = new Cookie("rememberUsername",username);
    39                     //是设置cookie最大保存时间
    40                     usernameCookie.setMaxAge(7*24*60*60);
    41                     //创建cookie对象,参数分别代表 cookie名称 和 值
    42                     Cookie passwordCookie = new Cookie("rememberPassword",password);
    43                     //是设置cookie最大保存时间
    44                     passwordCookie.setMaxAge(7*24*60*60);
    45                     //添加cookie到服务百器端。可以使用抓包工具查看到,然后服务器给浏览器返回set-cookie键值对
    46                     response.addCookie(usernameCookie);
    47                     response.addCookie(passwordCookie);
    48                 }
    49                 //这个登录成功后跳到index.jsp(主界面)
    50                 out.println("登录成功,3秒后跳转到首页!如果没有跳转请点<a href='/'>这里</a>");
    51                 //参数表示 session的名称 和 值(对象)
    52                 request.getSession().setAttribute("userStatus",true);
    53                 request.getSession().setAttribute("user",user);
    54                 //设置表头,刷新
    55                 response.setHeader("refresh", "2;url=/");
    56             }else {
    57                 out.println("用户名或密码错误,请<a href='/login'>重试</a>");
    58                 response.setHeader("refresh", "2;url=/login");
    59             }
    60         }
    61     }
    62 
    63     @Override
    64     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    65         Cookie[] cookies = request.getCookies();
    66         //这个是判断记住密码时
    67         for (Cookie cookie:cookies) {
    68             //这是获得账号
    69             if (cookie.getName().equals("rememberUsername")){
    70                 request.setAttribute("rememberUsername",cookie.getValue());
    71             }
    72             //这是获得密码
    73             if (cookie.getName().equals("rememberPassword")){
    74                 request.setAttribute("rememberPassword",cookie.getValue());
    75             }
    76         }
    77         //重定向,将账号密码传过去
    78         request.getRequestDispatcher("/WEB-INF/view/login.jsp").forward(request,response);
    79     }
    80 }
    View Code

    LogoutServlet

     1 package com.jsj.web;
     2 
     3 import javax.servlet.annotation.WebServlet;
     4 import javax.servlet.http.HttpServlet;
     5 import javax.servlet.http.HttpServletRequest;
     6 import javax.servlet.http.HttpServletResponse;
     7 import java.io.IOException;
     8 
     9 @WebServlet("/logout")
    10 public class LogoutServlet extends HttpServlet {
    11 
    12     @Override
    13     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
    14         //
    15         response.setContentType("text/html;charset=UTF-8");
    16         if (request.getSession().getAttribute("user")!=null){
    17             request.getSession().removeAttribute("userStatus");
    18             request.getSession().removeAttribute("user");
    19         }
    20         if (request.getSession().getAttribute("admin")!=null){
    21             request.getSession().removeAttribute("adminStatus");
    22             request.getSession().removeAttribute("admin");
    23         }
    24         response.getWriter().println("注销成功,3秒后跳转到首页!如果没有跳转请点<a href='/'>这里</a>");
    25         response.setHeader("refresh", "2;url=/");
    26     }
    27 }
    View Code

    NewsCateServlet

     1 package com.jsj.web;
     2 
     3 import com.jsj.entity.News;
     4 import com.jsj.entity.NewsCate;
     5 import com.jsj.entity.Page;
     6 import com.jsj.factory.ServiceFactory;
     7 import com.jsj.service.NewsCateService;
     8 import com.jsj.service.NewsService;
     9 
    10 import javax.servlet.ServletException;
    11 import javax.servlet.annotation.WebServlet;
    12 import javax.servlet.http.HttpServlet;
    13 import javax.servlet.http.HttpServletRequest;
    14 import javax.servlet.http.HttpServletResponse;
    15 import java.io.IOException;
    16 import java.util.List;
    17 
    18 @WebServlet("/newsCate")
    19 public class NewsCateServlet extends HttpServlet {
    20 
    21     private NewsService newsService = (NewsService) ServiceFactory.getService("NewsService");
    22 
    23     private NewsCateService newsCateService = (NewsCateService) ServiceFactory.getService("NewsCateService");
    24 
    25     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    26         try {
    27             int cateId = Integer.valueOf(request.getParameter("cateId"));
    28             NewsCate newsCate = newsCateService.getNewsCateById(cateId);
    29             if (newsCate == null){
    30                 request.getRequestDispatcher("/WEB-INF/view/error/error.jsp").forward(request, response);
    31             }else {
    32                 int pageIndex = request.getParameter("pageIndex") == null ? 1 : Integer.valueOf(request.getParameter("pageIndex"));
    33                 int pageSize = 10;
    34                 Page<News> newsPage = newsService.getNewsPageByCate(cateId,pageIndex,pageSize);
    35                 if (newsPage.getBeanList() == null || newsPage.getBeanList().size() == 0){
    36                     request.getRequestDispatcher("/WEB-INF/view/error/error.jsp").forward(request, response);
    37                 }
    38                 request.setAttribute("newsPage", newsPage);
    39                 request.setAttribute("cate",newsCate);
    40                 List<NewsCate> allCate = newsCateService.getAllCate();
    41                 request.setAttribute("allCate",allCate);
    42                 request.getRequestDispatcher("/WEB-INF/view/newsCate.jsp").forward(request,response);
    43             }
    44         }catch (Exception e){
    45             request.getRequestDispatcher("/WEB-INF/view/error/error.jsp").forward(request, response);
    46         }
    47 
    48     }
    49 }
    View Code

    NewsServlet

     1 package com.jsj.web;
     2 
     3 import com.jsj.entity.News;
     4 import com.jsj.entity.NewsCate;
     5 import com.jsj.factory.ServiceFactory;
     6 import com.jsj.service.NewsCateService;
     7 import com.jsj.service.NewsService;
     8 
     9 import javax.servlet.ServletException;
    10 import javax.servlet.annotation.WebServlet;
    11 import javax.servlet.http.HttpServlet;
    12 import javax.servlet.http.HttpServletRequest;
    13 import javax.servlet.http.HttpServletResponse;
    14 import java.io.IOException;
    15 import java.util.List;
    16 
    17 @WebServlet("/news")
    18 public class NewsServlet extends HttpServlet {
    19 
    20     private NewsService newsService = (NewsService) ServiceFactory.getService("NewsService");
    21 
    22     private NewsCateService newsCateService = (NewsCateService) ServiceFactory.getService("NewsCateService");
    23 
    24     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    25         try {
    26             int newsId = Integer.valueOf(request.getParameter("newsId"));
    27             News news = newsService.getNewsById(newsId);
    28             if (news == null){
    29                 request.getRequestDispatcher("/WEB-INF/view/error/error.jsp").forward(request, response);
    30             }else {
    31                 request.setAttribute("news",news);
    32                 List<NewsCate> allCate = newsCateService.getAllCate();
    33                 request.setAttribute("allCate",allCate);
    34                 request.getRequestDispatcher("/WEB-INF/view/news.jsp").forward(request,response);
    35             }
    36         }catch (Exception e){
    37             request.getRequestDispatcher("/WEB-INF/view/error/error.jsp").forward(request, response);
    38         }
    39 
    40     }
    41 }
    View Code

    RegisisterServlet

     1 package com.jsj.web;
     2 
     3 import com.jsj.entity.User;
     4 import com.jsj.factory.ServiceFactory;
     5 import com.jsj.service.UserService;
     6 
     7 import javax.servlet.ServletException;
     8 import javax.servlet.annotation.WebServlet;
     9 import javax.servlet.http.HttpServlet;
    10 import javax.servlet.http.HttpServletRequest;
    11 import javax.servlet.http.HttpServletResponse;
    12 import java.io.IOException;
    13 import java.io.PrintWriter;
    14 import java.text.DateFormat;
    15 import java.text.ParseException;
    16 import java.text.SimpleDateFormat;
    17 
    18 @WebServlet("/register")
    19 public class RegisterServlet extends HttpServlet {
    20 
    21     private UserService userService = (UserService) ServiceFactory.getService("UserService");
    22 
    23     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
    24         //告诉你我是用utf -8编码的
    25         response.setContentType("text/html;charset=UTF-8");
    26 
    27         try(PrintWriter out = response.getWriter()){
    28             //创建实体对象
    29             User user = new User();
    30             //获取用户名加密码
    31             user.setUsername(request.getParameter("username"));
    32             user.setPassword(request.getParameter("password"));
    33             //日期格式化
    34             DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    35             try {
    36                 //获取生日日期
    37                 user.setBirthday(dateFormat.parse(request.getParameter("birthday")));
    38             } catch (ParseException ignored) {}
    39             //获取邮箱
    40             user.setEmail(request.getParameter("email"));
    41             //获取手机号
    42             user.setTelNumber(request.getParameter("telNumber"));
    43 
    44             int res = userService.register(user);
    45 
    46             if (res>0){
    47                 out.println("注册成功,3秒后跳转到首页!或现在去<a href='/login'>登录</a>");
    48                 response.setHeader("refresh", "2;url=/");
    49             }else {
    50                 out.println("注册失败!请<a href='/register'>重试</a>重试");
    51                 response.setHeader("refresh", "2;url=/register");
    52             }
    53         }
    54     }
    55 
    56     @Override
    57     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    58         request.getRequestDispatcher("/WEB-INF/view/register.jsp").forward(request,response);
    59     }
    60 }
    View Code
    会当凌绝顶,一览众山小
  • 相关阅读:
    WScript.Shell对象的run和exec(脚本调用其他程序)
    Hard link 和 Symbolic link 软链接 硬链接
    SGI STL 红黑树(RedBlack Tree)源代码分析
    宏likely和unlikely
    PCLint输出格式选项
    32位与64位原子操作的问题
    王石与成功的定义
    关于FckEditor基于Asp.net MVC中出现未结束的字符窜常量——解决方案
    崩溃中!Nhibernate的数据分页.
    创建Silverlight技术联盟QQ群 希望大家踊跃加入
  • 原文地址:https://www.cnblogs.com/quenvpengyou/p/12896515.html
Copyright © 2011-2022 走看看