新闻发布系统之登录和注销

登录:

DAO层数据访问层UserInfoDAOImpl类:

 1 //进行单测
 2     @Test
 3     public void test() throws Exception{
 4         UserInfo info=new UserInfo();
 5         info.setUsercode(1);
 6         info.setUserpwd("1");
 7         boolean flag=isLogin(info);
 8         System.out.println(flag);
 9     }
10     //登录
11     public boolean isLogin(UserInfo info) throws Exception {
12         boolean flag=false;
13         String sql="select count(1) as count from news where usercode=? and userpwd=?";
14         Object[] obj={info.getUsercode(),info.getUserpwd()};
15         ResultSet rs=executeQuery(sql,obj);
16         if(rs.next()){
17             int count=rs.getInt("count");
18             if(count>0){
19                 flag=true;
20             }
21         }
22         return flag;
23     }

Servlet控制层UserInfoServlet类:

如果登陆成功就跳转到编辑新闻页面,如果登录失败就跳转到主页面:

首先:1.解决乱码

      2.创建service层的对象

      3.调度service方法

4根据方法的返回值,判断转发或者重定向的页面:

String action = request.getParameter("action");
        System.out.println(action);
if (action.equals("login")) {
            // 1.解决乱码
            request.setCharacterEncoding("utf-8");
            // 2.创建service层的对象
            IUserInfoService service = new UserInfoServiceImpl();
            // 3.调度service方法
            String temp = request.getParameter("uname");
            if (temp != null && temp != "") {
                int uname = Integer.parseInt(temp);
                String upwd = request.getParameter("upwd");
                UserInfo info = new UserInfo();
                info.setUsercode(uname);
                info.setUserpwd(upwd);
                try {
                    boolean flag = service.isLogin(info);
                    if (flag) {
                        // 登录成功
                        request.getSession().setAttribute("uname", temp);
                        request.getRequestDispatcher(
                                "/servlet/NewsServlet?action=back").forward(
                                request, response);
                    } else {
                        request.getRequestDispatcher("/index.jsp").forward(
                                request, response);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }

注销:

Servlet控制层UserInfoServlet类:在servlet中获取session对象,清除session

1 if (action.equals("logout")) {
2             // 1.清楚session
3             // 在servlet中获取session对象
4             request.getSession().removeAttribute("uname");
5             // 2.跳转到index
6             request.getRequestDispatcher("/servlet/NewsServlet?action=null")
7                     .forward(request, response);
原文地址:https://www.cnblogs.com/liutao1122/p/7325893.html