日期:2014-05-18  浏览次数:20678 次

问一些关于JSP网站的问题
1.如果我采用MVC模式对网站进行分层:xxx.jsp(显示,V),xxxDao.java(数据库访问层),xxxServlet.java(控制层,C),xxx.java(数据封装层,javabean,M),取出大量代码的分页算法代码应该放到哪个层里比较合理?在这种分层模式中有没有比较通用的分页实现方法(我是一个业务写一个分页算法,觉得代码重复太高)?
2.Servlet的serivce方法是不是包括了doGet和doPost方法,如果在Servlet的子类中不显式调用init()和destroy()方法,在实际执行中也会被隐式调用?
3.JSP网站发布的方法有哪些?

------解决方案--------------------
1你可以写个通用的分页方法,应该放到dao层比较好
2,自己去看下servlet
3 不知道怎么说。。。
------解决方案--------------------
如果要是实现你所说的MVC 的话那么分页的代码应该写到javabean里面
例如:public int getNewsList(List<News> news, int pageNo, int pageSize) {
Connection conn=null;
ResultSet rs=null;
ResultSet rsCount=null;
int pageCount=0;

try {
conn=DB.getConn();
rsCount=DB.getRs(conn, "select count(*) from wen ");
rsCount.next();
pageCount=(rsCount.getInt(1)+pageSize-1)/pageSize;
String sql="select * from wen order by tdate desc limit "+(pageNo-1)*pageSize+","+pageSize;
rs=DB.getRs(conn, sql);
while(rs.next()){
News n=new News();
n.setId(rs.getInt("id"));
n.setTitle(rs.getString("title"));
n.setZuozhe(rs.getString("zuozhe"));
n.setCount(rs.getString("count"));
n.setTdate(rs.getTimestamp("tdate"));
n.setCid(rs.getString("cid"));
news.add(n);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DB.closeRs(rsCount);
DB.closeRs(rs);
DB.closeConn(conn);
}
return pageCount;
}
调用的时候也会很简单的而且重复代码少了许多!
------解决方案--------------------
1:没有使用框架的话,在xxx.java(非servlet中写分页代码),xxxServlet.java调用.并存储在request中
2:doget、dopost自己写。
3:没看明白,你说服务器么?tomcat、weblogic等