Servlet:控制器。重點編寫java代碼邏輯 (獲取表單數據、處理業務邏輯、分發轉向)
JSP:代碼顯示模板。重點在於顯示數據
index.jsp
<%
String msg = (String)request.getAttribute("msg");
if(msg != null){
out.print(msg);
}
%>
<form action="/02_demojs/servlet/doLogin" method="post">
用戶名:<input type="text" name="userName"/><br>
密 碼:<input type="password" name="pwd"/><br>
<input type="submit" value="登錄"/><br/>
</form>
success.jsp
<%
String userName = (String)session.getAttribute("name");
out.print(userName);
%>
<a href="/02_demojs/home.jsp">跳到主頁</a>
DoLoginServlet.java
//獲取表單元素
String userName = request.getParameter("userName");
String pwd = request.getParameter("pwd");
//處理業務邏輯
if("tom".equals(userName)&&"123".equals(pwd)){
request.getSession().setAttribute("name", userName);
request.getRequestDispatcher("/success.jsp").forward(request, response);
//response.sendRedirect(request.getContextPath()+"/success.jsp");
}else{
//response.sendRedirect(request.getContextPath()+"/index.jsp");
request.setAttribute("msg", "用戶名或密碼不正確!");
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
//分發轉向
home.jsp
<h1>歡迎來到本網站!</h1>
歡迎你:<%
/*String userName = request.getParameter("userName");
out.print(userName);*/
String userName = (String)session.getAttribute("name");
out.print(userName);
%>