javabean分页:MVC架构模式和利用JAVABEAN分页

  众所周知MVC不是设计模式个比设计模式更大模式称作设计模式不合理MVC模式应该叫架构模式MVC里面用了许多小模式例如策略模式组合模式聚集模式可以用到模式有十几种的多而设计模式里也就27种MVC很重要现在流行STRUTS框架也是类似实现建议大家有时间可以研究下STRUTS现在很多公司都开始使用这个框架来做大型企业系统开发STRUTS是APACHE个开源项目所有资料都可以从APACHE网站WebSite得到当然目前国内也有翻译了些STRUTS文章不过大都不完整介绍都是初级知识如果想要进步学习话可以买本STRUTS书.

  mvc也就是模型-视图-控制台M就是javabean,V就是JSPC就是java Servlet

  第步写Hashtable类把所有类和JSP文件路径写进这里

  第 2步写最抽象接口erface给出个思路方法例如

  public void execute(HttpServlet servlet,HttpServletRequest request,HttpServletResponse response);

  所有和客户端交互SERVLET类都必须实现这个接口execute思路方法这样才能在工厂中执行

  第 3步写控制台其实这个我觉得就是工厂模式种更高工厂模式

  根据动作来执行相应

  WEB.XML文件只要配置个动作就可以了这个大家应该熟悉了吧例如

  <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
   PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
   "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>servlet_name</servlet-name>
<servlet->servlet__path</servlet_>
</servlet>
<servlet-mapping>
<servlet-name>servlet_name</servlet-name>
<url-pattern>映射名</url-pattern>
</servlet-mapping>
</web-app>


  方便了不少吧不用每个类每个动作都在XML文件里加上况且对以后功能上增加修改都比较方便

  利用JAVABEAN分页其实很简单但要写好写有结构话最少也需要3个类个BEAN类个处理页码等其他数据个得到客户端值下面我给出个例子如果有什么不懂请跟贴

  简单BEAN类

  package geezer_Model.geezer_user;
public listuser_bean {
String name;
  String pass;
public void Name(String name){
this.name=name;
}
public void Pass(String pass){
this.pass=pass;
}
public String getName{
this.name;
}
public String getPass{
this.pass;
}
}

简单处理分页数据
package geezer_Model.geezer_user;
import javax.sql.*;
import java.sql.*;
import geezer_controller.*;
import geezer_Database.getConnection;
public listuser_page {
public listuser_page {

  }
Connection conn=null;
Statement simt=null;
ResultSet rs=null;
page=1;
pagecount=10;
pagecount=20;
page_listcount=1;
String sql;
public listuser_bean getPage( page, pagecount,String sql){
this.page=page;
this.pagecount=pagecount;
this.sql=sql;
listuser_bean tmie=null;
try{
conn=getConnection.getNewConnection;
simt=conn.createStatement;
rs=simt.executeQuery(this.sql);
(rs.next){
rs.last;
pagecount=rs.getRow;
page_listcount=(pagecount+pagecount-1)/pagecount;
(page>page_listcount){
page=page_listcount;
}
pagewo=(page-1)*pagecount+1;
(pagewo>0){
rs.absolute(pagewo);
}
tmie= listuser_bean[pagecount];
i=0;
do{    tmie= listuser_bean;     tmie.Pass(rs.getString("password"));     tmie.Name(rs.getString("username"));
    } while(rs.next && i < pagecount);
}
}catch(Exception e){
e.prStackTrace;
}
ListCount(page_listcount);
Count(pagecount);
tmie;
}
public void Count( a){
this.pagecount=a;
}
public void ListCount( b){
this.page_listcount=b;
}
public getCount{
pagecount;
}
public getListCount{
page_listcount;
}
}


  根据客户端数据来进行显示

  package geezer_Model.geezer_user;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.sql.*;
import java.sql.*;
import geezer_controller.*;
import geezer_Database.getConnection;
public listuser implements Geezer_Action{
public void execute(HttpServlet servler,HttpServletRequest request,HttpServletResponse response)
   throws IOException{
response.ContentType("text/html");
PrWriter out=response.getWriter;
Statement simt=null;
ResultSet rs=null;
Connection conn=null;
page=1;
pagecount=2;
try{
page = Integer.parseInt(request.getParameter("page"));

  }catch(Exception e){
page=1;
  }
(page<=0){
page=1;
}
try{
pagecount =Integer.parseInt(request.getParameter("pagecount"));
}
catch(Exception e){
pagecount=2;
}
listuser_bean pages=null;
listuser_page page= listuser_page;

  String sql="select * from userlist";
pages=page.getPage(page,pagecount,sql);
out.prln("count=" + page.getCount + "<br>");
out.prln("ListCount=" + page.getListCount + "<br>");
(page>page.getListCount){
page=page.getListCount;
}
for ( i=0;i<pages.length;i){   (pagesnull){ ;
}   out.prln(pages.getName+" "+pages.getPass+"<br><br>"); }
out.prln("<script language=javascript>");
out.prln("function check(theform,value){");
out.prln("theform.page.value=value;");
out.prln("theform.submit;");
out.prln("}</script>");
out.prln("<form action=/?action=listuser method=post name=theform>");
out.prln("<input type=hidden name=page>");
out.prln("<acheck(theform,"+(page-1)+");>back</a>");
out.prln("</form>");
}
}


Tags:  mvc分页 mvc三层架构 mvc架构 javabean分页

延伸阅读

最新评论

发表评论