MVC模式是什麼,我就不廢話了。。。直接說它的流程吧。
在login.jsp中定義了一個表單:<form action="Controller" name="loginForm" method="post" >
這樣,就完成了從V層進入到C層。
Controller.java是個Servlet,要繼承HttpServlet.首先要在配置文件中把它布置上哈,代碼就是:
String id = request.getParameter("userId");
String name = request.getParameter("userName");
////使用模型(UserBeanDL),完成對用戶的處理
///1.創建一個UserBean處理對象
UserBeanDL ubd = new UserBeanDL();
try{
int iId = Integer.parseInt(id);
if(ubd.checkUser(iId, name)){
System.out.println("通過Servlet完成控制");
///在跳轉到wel.jsp頁面時,就把要顯示的數據准備好
ArrayList al = ubd.getUsersByPage(1);
int pageCount = ubd.getPageCount();
////將參數傳遞,此處傳遞一個ArrayList
request.setAttribute("result", al);
////注意:後面的參數是對象,要把int-->對象(String)
request.setAttribute("pageCount", pageCount + "");
///轉向
//response.sendRedirect("welcom.jsp");
///因為sendRedirect方法效率不高,所以軟件公司中常用轉發的方法
///這種方法效率,同時request中的對象還可以在下一頁面中使用。
request.getRequestDispatcher("threedown/welcome.jsp").forward(request, response);
}else{
request.getRequestDispatcher("three/login.jsp").forward(request, response);
}
……
在UserBean.中,全是對數據庫的操作:
public class UserBeanDL {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
private int pageCount = 0;
int pageSize = 3;
int rowCount = 0;
////關閉資源
////得到總行數
/////得到pageCount
//////增加(over)
//////修改(over)
//////刪除
//////查找
////驗證用戶是否存在
UserBean.java是個實體類。
Welcome.jsp中:
<tr><td>ID</td><td>姓名</td><td>年齡</td></tr>
<%
int pageNow = 1;
String szPageNow = request.getParameter("pageNow");
if(szPageNow != null)
{
pageNow = Integer.parseInt(szPageNow);
}
ArrayList al = (ArrayList)request.getAttribute("result");
for(int i=0;i<al.size();i++)
{
UserBean ub = (UserBean)al.get(i);
%>
<tr><td><%=ub.getId()%></td>
<td><%=ub.getName()%></td>
<td><%=ub.getAge()%></td></tr>
<%
}
////從object --> string --int
int pageCount = Integer.parseInt((String)request.getAttribute("pageCount")) ;
//int pageCount = ubd.getPageCount();
for(int i=1;i<pageCount;i++){
%>
<a href=UserDL?pageNow=<%=i%>><<%=i%>></a>
<%
} www.2cto.com
%>
</table>
UserDL.java是個專門用於分頁的Servlet
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("通過Servlet分頁");
String s_pageNow = request.getParameter("pageNow");
UserBeanDL ubd = new UserBeanDL();
try{
int pageNow = Integer.parseInt(s_pageNow);
ArrayList al = ubd.getUsersByPage(pageNow);
int pageCount = ubd.getPageCount();
request.setAttribute("pageNow", pageNow);
request.setAttribute("result", al);
request.setAttribute("pageCount", pageCount + "");
request.getRequestDispatcher("threedown/welcome.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}
}
摘自 漂泊小七的專欄