首先先建立一些項目需要的包:

在servlet層里面寫一下和頁面打交道的servlet,servlet調用service層,也就是業務處理層,service層調用dao層,用於數據庫crud操作
LoginServlet如下:
1 @WebServlet("/login.do") 2 public class LoginServlet extends HttpServlet { 3 private static final long serialVersionUID = 1L; 4 5 IUserService userService= new UserServiceImpl(); 6 7 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 8 9 //從前台獲取我們的用戶名和密碼 10 String name=request.getParameter("userName"); 11 String pass=request.getParameter("userPass"); 12 13 //去數據庫查詢是不是有這個用戶 14 UserEntity ue=userService.getUserByNameAndPass(name, pass); 15 16 //根據獲取的不同值來進行處理 17 if (ue==null) { 18 request.setAttribute("msg", "登錄失敗"); 19 request.getRequestDispatcher("login.jsp").forward(request, response); 20 }else { 21 22 //登錄成功需要將用戶名存在session里面 23 request.getSession().setAttribute("userName",name); 24 25 //跳轉到一個查詢用戶列表的servlet里面 26 response.sendRedirect("index.jsp"); 27 } 28 29 } 30 31 32 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 33 // TODO Auto-generated method stub 34 doGet(request, response); 35 }
接下來先寫一下我們的用戶實體類:把它們的set和get方法生成一下

接着寫我們的service層:

IUserService:
1 public interface IUserService { 2 3 //根據用戶名和密碼去查詢用戶的實體 4 public UserEntity getUserByNameAndPass(String name,String pass); 5 6 }
IUserServiceImpl:
1 IUserDao userDao=new UserDaoImpl(); 2 3 @Override 4 public UserEntity getUserByNameAndPass(String name, String pass) { 5 // TODO Auto-generated method stub 6 return userDao.getUserByNameAndPass(name, pass); 7 }
接着寫Dao層

IUserDao:
1 public interface IUserDao extends IBaseDao{ 2 3 public UserEntity getUserByNameAndPass(String name,String pass); 4 5 }
UserDaoImpl:
1 public class UserDaoImpl extends BaseDaoImpl implements IUserDao{ 2 3 @Override 4 public UserEntity getUserByNameAndPass(String name, String pass) { 5 // TODO Auto-generated method stub 6 String sql="select * from t_admin where aname=? and apass=?"; 7 return selOne(UserEntity.class, sql, name,pass); 8 }
后太代碼寫好了 接下來就是兩個前端頁面:
login.jsp:
1 <!-- 提交的方式; get post --> 2 3 4 <form action="login.do" method="post"> 5 6 <!-- name : 對應我們servlet去獲取前台文本框的值的 key --> 7 用戶名:<input name="userName" type="text" value="6666"/> 8 密碼:<input name="userPass" type="password" /> 9 10 <!-- 默認是submit; --> 11 <button>登錄</button> 12 13 <!-- 登錄失敗,展示登錄失敗的提示信息 --> 14 ${msg} 15 16 </form>
index.jsp:
1 <!-- 展示當前登錄的用戶名;看一下 session里面是否保存了用戶名 --> 2 <!-- 如果用戶沒有登錄的話,展示一個 請登錄的a連接 --> 3 4 <c:if test="${empty userName}"> 5 <a href="login.jsp">請登錄</a> 6 </c:if> 7 <c:if test="${not empty userName}"> 8 <h3>歡迎你: ${userName}</h3> 9 </c:if>
測試過程:


