![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
|||||
| Jsp + servlet +javabean 实现mvc的最简单的新闻发布系统: | |||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-9-2 ![]() |
|||||
|
正在装载数据…… Jsp + servlet +javabean 实现mvc的最简单的新闻发布系统: 所有类: ![]() ![]() 总结; 一;所有的servlet在web.xml文件中 <servlet-mapping> <servlet-name>UpdateServlet</servlet-name> <url-pattern>/UpdateServlet</url-pattern> </servlet-mapping> 在aciton中都写/项目名称/servlet名称 这样就不会出现servlet找不到了 否则有时候就会出现找不到了 二:.在跳转的时候如果要设置属性 一定要在跳转之前,否则在跳转之后的servlet或页面得到属性值是空的. 三:.在eclipse中显示行号,有助于找错误,在页面中会指到第几行错误 查了一下几种开发工具显示行号的方法; 1、UltraEdit:View => Display Line Numbers 选取它即可; 2、JBuilder:Tools => Preferences => Editor => 右边的Gutter => 把下面的Show line numbers 打上勾确定即可; 3、Eclipse: 3.0 Window => Preferences => Workbench => Editors => Text Editor => 右边Show line numbers 打上勾确定即可; 3.1 Window => Preferences => General => Editors => Text Editors => 右边Show line numbers 打上勾确定即可; 或者是ctrl+F10打开透视图 ,然后选上Show line numbers 四:将index登陆页面与其他页面分离开,其他页面都放在main文件下,想进入到main文件下的页面都要登陆,进行验证. public class SecuriiyFilter implements Filter类进行过滤 具体的dofilter方法; public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest)request; HttpServletResponse rsp = (HttpServletResponse)response; if(req.getSession().getAttribute("user")==null) { /** * 过滤防止没有登陆就进入list页面 */ rsp.sendRedirect(req.getContextPath()+"/index.jsp"); } else{ HttpSession session = req.getSession(); System.out.println("用户合法:"+session.getAttribute("user").toString()); } chain.doFilter(request, response); } 五:在servlet中的跳转 request.setAttribute("databean", databean); request.getRequestDispatcher("main/update.jsp").forward(request, response); 注意;这里的url: main/update.jsp 注意jsp中相对路径和绝对路径 六:mvc的实现: View: index.jsp list.jsp inser.jsp update.jsp detail.jsp error.jsp model: ![]() Bean; ![]() ![]() 正常登陆: Index.jsp--àloginSerlvet.java-àLoginVeriryBean.javaàlist.jsp(每个页显示的记录) Insert.jsp List.jsp--à FindByIdServlet.java-(control)àNewsLogicBean.java-àupdate.jsp DeleteServlet.java 七:分页算法的简单实现.(对结果集的遍历) public List findAll() { List list = new ArrayList();//每个页中所有的记录全都放在list中 Connection con = DataSource.getConnection(); try { Statement stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rs = stmt .executeQuery("select * from news order by newsdate desc"); rs.last(); this.allrows = rs.getRow(); /** * 计算页数 */ /* * ( 如果是第一页 指针就移到最前面 否则就移到上一页的最末尾,在取出五行数据 */ if (this.curpage == 1) { rs.beforeFirst(); } else { rs.absolute((this.curpage - 1) * this.pagerow); } if (this.allrows % this.pagerow == 0) { this.allpages = this.allrows / this.pagerow; } else { this.allpages = this.allrows / this.pagerow + 1; } /** * 遍历所有结果集 */ int i = 0; while (rs.next() && i < this.pagerow) { NewsDataBean bean = new NewsDataBean(); bean.setNewsid(rs.getString(1)); bean.setNewtitle(rs.getString(2)); bean.setNewscontent(rs.getString(3)); bean.setNewsdate(rs.getString(4)); bean.setNewscount(rs.getString(5)); list.add(bean); i++; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } 在前台list.jsp中的调用; <% /*如果是刚刚达到此页面就不用执行这句话了*/ String cur_page = request.getParameter("curPage"); if (cur_page != null) { /*如果不是刚刚到达则设置当前页*/ news.setCurpage(Integer.parseInt(cur_page)); } List list = news.findAll(); int allrows = news.getAllrows(); int allpages = news.getAllpages(); int curpage = news.getCurpage(); /*这句话一定要在在得到当前页以后才执行才能正确列出本页的数目及其信息*/ int pagerow = news.getPagerow(); for (int i = 0; i < list.size(); i++) { NewsDataBean bean = (NewsDataBean) list.get(i); %> <tr> <td> <input type="radio" name="newsid" value="<%=bean.getNewsid()%>"> <%=(curpage - 1) * pagerow + i + 1%> </td> <td> <a href="main/detail.jsp?newsid=<%=bean.getNewsid()%>"><%=bean.getNewtitle()%> </a> </td> <td> <%=bean.getNewsdate()%> </td> <td> <%=bean.getNewscount()%> </td> </tr> <% } %> 八:注意request.getParameter()与request.getArribute(); 九:网页: Index,jsp ![]() 本文来源:http://blog.csdn.net/tanggoodboy/archive/2007/07/16/1694195.aspx
|
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|