门户网站的设计与开发(5)

2019-08-30 17:42

门户网站的设计与开发

第四章 详细设计

4.1 新闻显示功能

首页(index.jsp)负责显示新闻列表,点击新闻标题将显示出新闻详细内容,新闻标题上加有链接,链接到showNewsDeatil.Jsp页面,此页面负责显示新闻详细内容(标题,发表时间,内容,作者)。根据新闻条数NewsTurnPageAction.java负责新闻列表分页,点击“上一页”“下一页”实现分页。

新闻内容都存与UserBean 的实例化对象user中,数据封装好后存放到session中供用户读取。

4.2 用户注册功能

register.jsp页面负责提交新用户注册信息,信息提交给Struts,有RegisterActionForm.java把表单数据接收过来封装,Register.java从FormBean(RegisterActionForm.java)中把数据提取出来,进行检测,首先检测用户名,检查是否已被注册,此过程用到myutils包中的UserUtils类。

此系统支持汉化用户名,所以用户名还要进行编码处理,用以保障用汉字注册用户名的用户。

注册成功返回success.jsp 否则返回error.jsp页面。

4.3 修改注册信息功能

此模块登陆后才能被激活,此模块是普通用户设计的,管理员不可以在客户端修改信息,modifyUserMess.jsp页面负责修改。

当用户登陆后,点击修改,GetUserOldMessAction.java负责查询用户信息,得到信息后,把信息存放到UserMessage.java的实例化对象userMess中,然后modifyUserMess.jsp页面引入userMess对象获得旧的信息,修改后提交给ActionServlet.java类,ActionServlet根据Struts-config.xml中的URL配置再转发到ModifyUserMessAction.java,经过处理后最终存入数据库中。

17

第四章 详细设计

4.4 管理新闻功能

此模块登录后被激活,普通用户登陆后仅可以管理自己的新闻,管理项目包括(删除,修改)。

管理员登陆后可管理数据库中所有的新闻,管理项目包括(删除,修改)。 删除新闻基本实现流程:managerUserAction.jsp显示新闻列表,单击“删除”——>confirmDeleteNews.Jsp——>DeleteNewsAction.java最终SqlUtils.java工具类根据接收到的id号,从数据库的news表把相应的新闻删除。

编辑新闻基本实现流程:单击“修改”——>modifyNews.jsp(负责显示当前新闻,并提交新新闻)——>ModifyNewsAction.java(处理后存入数据库)。

4.5 添加新闻功能

添加新闻的最低用户级别是普通用户,用户登录后可以在addNews.jsp页面

添加新闻,新闻提交给Struts,ActionServlet.java负责分发给相应的Action类处理,给据配置文件的FormBean把提交的新闻信息封装,然后AddNews.java类从FormBean(AddNewsActionForm.java)中取出数据处理后存入news表中。

添加新闻基本流程:addNews.jsp——>AddNewsAction.java——>SqlUtils.java(工具类)——>news新闻表。

4.6管理用户

此模块系统管理员专有,系统管理员登录后,此模块被激活。

managerUserList.jsp页面负责显示用户列表,管理员可以根据需要对个别

用户进行封号处理。点击删除,把对应用户的用户名最终传递给SqlUtils.java(工具类),由工具类实施删除。

封号实现流程:点击“删除”——>confirmDeleteUser.jap——>DeleteUserAction.java——>SqlUtils.java(工具类:根据接收到的用户名,在数据库mynews的User表中删除相应用户)。

4.7注销

ExitAction.java负责注销,当用户登录后,不再进行操作点击导航栏上的“注销”系统会销毁当前session。

18

门户网站的设计与开发

基本实现流程:点击“注销”——>ExitAction.java(销毁当前session对象)。

19

门户网站的设计与开发

第五章 功能实现

5.1 新闻显示功能

NewsBean.java部分代码(负责新闻数据封装):

private CachedRowSetImpl row; private int pageSize; private int pageCount; private int rowCount; private int currentPage; public NewsBean(){ pageSize= 10; currentPage = 1; String sql = \ List parameters = new ArrayList(); row = SqlUtils.querySql(sql, parameters); try { row.last(); rowCount = row.getRow(); pageCount

(rowCount%pageSize==0)?(rowCount/pageSize):(rowCount/pageSize+1); } catch (SQLException e) { e.printStackTrace(); rowCount = 0; pageCount = 0; } } public NewsBean(String username){ pageSize= 10; currentPage = 1; String sql; boolean ok; List parameters = new ArrayList(); ok = UserUtils.isExistingUser(username); if(ok){ sql = \ parameters.add(username); }else{ sql = \ } row = SqlUtils.querySql(sql, parameters);

20

=

第五章 功能实现

try { row.last(); rowCount = row.getRow(); pageCount

(rowCount%pageSize==0)?(rowCount/pageSize):(rowCount/pageSize+1); } catch (SQLException e) { e.printStackTrace(); rowCount = 0; pageCount = 0; } } showNewsList.jsp主要代码(负责首页新闻题目列表): <% NewsBean news = null; news = (NewsBean)session.getAttribute(\ if(news==null){ response.sendRedirect(\ }else{ news.setPageSize(12); CachedRowSetImpl row = news.getRow(); int pageCount = news.getPageCount(); int currentPage = news.getCurrentPage(); int rowCount = news.getRowCount(); int pageSize = news.getPageSize(); %>

  <% row.absolute((currentPage-1)*pageSize+1);

String str;//声明一个截取时间的临时字符串 for(int i = 1; i<= pageSize;i ++){ str = row.getString(\ %> ' target=\ ><%=row.getString(\ <%=str.substring(0,11) %>

21

=


门户网站的设计与开发(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:不合格材料退场记录

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: