[javaEE] 三层架构案例-用户模块(二)
生活随笔
收集整理的這篇文章主要介紹了
[javaEE] 三层架构案例-用户模块(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用junit測試框架,測試查找用戶和添加用戶功能
com.tsh.test.xmlUserDaoTest
?
package com.tsh.test;import org.junit.Test;import com.tsh.dao.XmlUserDao; import com.tsh.domain.User; /*** 測試用例* @author taoshihan**/ public class xmlUserDaoTest {@Testpublic void testFindUserByUsername(){XmlUserDao dao=new XmlUserDao();User user= dao.findUserByUsername("taoshihan");System.out.println(user);}@Testpublic void testAddUser(){XmlUserDao dao=new XmlUserDao();User user=new User();user.setUsername("taoshihan");user.setPassword("123456");dao.addUser(user);} }?
在邏輯層service層中,拋出自定義異常
com.tsh.service.UserService
package com.tsh.service;import com.tsh.dao.XmlUserDao; import com.tsh.domain.User; import com.tsh.exception.MsgException; /*** 用戶邏輯* @author taoshihan**/ public class UserService {/*** 用戶注冊* @param user* @throws MsgException*/public void registerUser(User user) throws MsgException{//檢查用戶名是否存在XmlUserDao dao=new XmlUserDao();if(dao.findUserByUsername(user.getUsername())!=null){throw new MsgException("用戶名已經存在");}dao.addUser(user);} }?
?
在jsp中使用el標簽判斷登陸狀態
?
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>用戶中心</title> </head> <body> <h1>用戶中心</h1> <hr> <c:if test="${sessionScope.user==null }">歡迎光臨,游客!<a href="${pageContext.request.contextPath }/login.jsp">登陸</a><a href="${pageContext.request.contextPath }/register.jsp">注冊</a> </c:if> <c:if test="${sessionScope.user!=null }">歡迎光臨,${sessionScope.user.username }!<a href="${pageContext.request.contextPath }/Servlet/logout">注銷</a> </c:if> </body> </html>?
?
在Servlet中對發送過來的數據進行處理
com.tsh.web.LoginServlet
package com.tsh.web;import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.tsh.dao.XmlUserDao; import com.tsh.domain.User;/*** 登陸處理*/ public class LoginServlet extends HttpServlet {/***/public LoginServlet() {super();}/***/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.getWriter().write("sss");}/***/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html; charset=utf-8");String username=request.getParameter("username");String password=request.getParameter("password");if("".equals(username) || "".equals(password==null)){request.setAttribute("msg", "用戶名和密碼不能為空!");request.getRequestDispatcher("/login.jsp").forward(request, response);return ;}XmlUserDao dao=new XmlUserDao();User user=dao.findUserByUsername(username);if(user!=null && user.getPassword().equals(password)){request.getSession().setAttribute("user", user);response.getWriter().write("登陸成功!");}else{response.getWriter().write("用戶名或密碼錯誤");}}}?
總結
以上是生活随笔為你收集整理的[javaEE] 三层架构案例-用户模块(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓如何限制横屏和竖屏
- 下一篇: 迁移域控