SSH框架的搭建,综合用户管理

上传人:飞*** 文档编号:53771986 上传时间:2018-09-05 格式:PPT 页数:101 大小:1.59MB
返回 下载 相关 举报
SSH框架的搭建,综合用户管理_第1页
第1页 / 共101页
SSH框架的搭建,综合用户管理_第2页
第2页 / 共101页
SSH框架的搭建,综合用户管理_第3页
第3页 / 共101页
SSH框架的搭建,综合用户管理_第4页
第4页 / 共101页
SSH框架的搭建,综合用户管理_第5页
第5页 / 共101页
点击查看更多>>
资源描述

《SSH框架的搭建,综合用户管理》由会员分享,可在线阅读,更多相关《SSH框架的搭建,综合用户管理(101页珍藏版)》请在金锄头文库上搜索。

1、使用SSH开发增删改查的综合用户管理例子,院校教学服务部 李绍东,内容,创建新项目 用Struts 设计器制作前台业务流程 设计业务层功能 开发业务层和DAO 层代码 开发前台页面流程 整合Spring,Struts 和Hibernate 发布,运行,测试,第一部分 创建新项目,创建新项目,创建Web 项目ssh2 加入 Struts 开发功能 使用Struts 工具开发 数据库student1 实现功能:对用户的增删改查 前台:需要加入增加,修改删除和查询用户所对应的页面 后台功能通过调用Struts Action 来完成,Struts 的Action 再委托给业务层StudentManag

2、er 类来完成 根据个人爱好的不同,你既可以先完成前台的页面,也可以先把后台的业务类写完整,或者是两个人分工的话一人负责一部分,创建Web 项目,选择菜单File New Web Project 在Project Name中输入ssh2 选中J2EE Specification Level下面的Java EE 5.0 单选钮 选择哪个版本的J2EE Specification Level 取决于你使用的服务器 Tomcat4,Weblogic 9 以下版本请选择J2EE 1.4 Tomcat 5,JBoss 4可以选择 Java EE 5.0 Java EE 5.0 可以直接使用 EL 表达式

3、和JSTL 最后点击Finish按钮,加入 Struts 开发功能,项目根节点上右键点击,选择上下文菜单中的MyEclipse Add Struts Capabilities 或者选择菜单MyEclipse Project Capabilities Add Struts Capabilities 添加 Struts 功能对话框的默认值一般来说不需要修改就可以使用,点击单选钮 Struts 1.2 选择Struts 的版本为1.2 即可,添加Struts 功能对话框,指定了Struts 配置文件的存放位置,可选的Struts 的版本,指定了位于web.xml 中的Struts 核心Servlet

4、 的名字,指定了将会交给Struts 控制的URL 类型,指定了生成 的类的默认包,指定了默认的国际化资源文件包,是否安装Struts 的标签库文件,添加了 Struts 的目录结构,Struts 1.2 的类库,struts-config.xml,Struts 的TLD 文件,验证器文件,在 src 目录下编写我们自己的类,第二部分 用Struts 设计器制作前台业务流程,软件开发的设计阶段,在实际项目开发中,第一步要做的可能是设计应用的整个流程,而不是立即着手制作JSP 或者编写Java 代码 做实际的项目开发,如果是大中型项目,思考项目到底该使用哪些技术和架构,用什么数据库和操作系统,最

5、后应该实现成何种样子,有哪些模块,系统的工作流程如何等等,这些内容,相当于设计阶段,软件开发的设计阶段,对于我们要做的这个项目来说,具体的技术和系统结构已经选好,就是SSH 架构。那么现在,在加入Spring 整合功能之前,我们有必要把系统的表示层的工作流程搞清楚 做这个流程设计有很多办法,可以用画图工具例如Microsoft Visio,或者UML 建模工具开发一个活动图等等都可以。因为我们使用的是MyEclipse,所以我们这里可以用它自带的Struts 设计器快速的画出所有的应用流程来,Struts 配置文件编辑器,双击 WebRoot/WEB-INF/struts-config.xml

6、 就可以打开Struts 配置文件编辑器 在设计器网格面板上点击右键,选择菜单来创建Action,Forward,JSP 等等 为了更好的反映系统的工作流程,我们还可以使用设计器工具栏上的 按钮来给一些页面加入连接关系,但是如果弹出对话框询问是否设置为Action 的input 元素时,我们选择No 按钮。大致来说,我们的应用需要增删改查四个模块,用户管理应用业务流程图,业务流程说明,需要说明的是为了便于编写一个默认的入口欢迎页面,方便用户的使用,我们已经把原来显示用户列表的index.jsp 重命名成了list.jsp。另外,到底这些功能该如何进行分工和组织,也没有绝对的标准,读者可以根据自

7、己的需要或者习惯来进行分工和命名。例如,新建用户这个功能的命名可以是new,也可以起名为add 或者create。另外通用或者共用的Forward 路径可以设置成Global Forward,即全局转向,例如上图中所显示的所有到/error.jsp 的转向,可以统一定义为一个全局的名为error 的Forward,文档规范化,相比较于 Java 源代码来说,给JSP 页面加入一些文档比较困难些,因为Java 文件可以用Javadoc 格式的注释来加入并生成说明,但是JSP 没有这方面的规定和好用的文档工具 写必要的流程说明 便于自己核对是否全部页面都按照预期实现 方便自己或者别人日后对项目方便

8、进行修改,升级和维护 软件开发本质上属于集体劳动,所以作为其中的一员,尽量不要只把系统的设计蓝图或者注意事项放在自己的脑子里,一定要想办法把它表示成可见的文档来便于大家的交流和日后维护。现在我们把JSP 页面的功能用表格的方式列出来,如下表所示:,Action 说明,还有个问题需要大家解决,就是进入修改和删除功能的Action 时,需要在URL 里以地址带参数的方式来传递到底是修改或者删除哪个用户 举个例子,修改用户我们用edit.do?id=1 这种形式。另外用户的ID 是不可修改的,因此如果表单里要传递这个参数,一般就以表单的hidden(隐藏)类型的输入域来表示,具体代码类似这样:”另外

9、如果前台需要一些数据,后台可以通过request.setAttribute()方法来设置,前台则需要用request.getAttribute()方法或者EL 表达式来读取这些值,创建数据库,数据库:Student1 字段 Id:int 主键 Username:varchar(50) NOT NULL Password: varchar(20) NOT NULL Age: int,系统框架,到现在为止,应用的整个前台大框架已经确定,接下来就是考虑后台的业务层的功能了 我们已经确定要使用Spring + Hibernate 来完成后台功能。Struts 的Action 将会调用业务层,业务层再会

10、去调用数据访问层和其它的一些辅助功能层(工具类或者第三方类库) 整个系统从横向分层就分成了下面的部分:当然并没有人规定到底怎样分层才是完全正确的,表示层,控制层,业务层,数据访问层,辅助功能层,学习方法交流,系统分成一般来说大家可以按照软件工程书籍上的办法进行分层,然而更现实的却是大家都在按照自己公司的方式进行分层。 这时对于初学者来说必须避免的一个误区就是喋喋不休的对采用何种标准或者为什么教科书上所讲的东西和现实不一样或者说对于某个东西的原理进行一次次的争论,或者用大家熟悉的话来概括:钻牛角尖。 钻牛角尖表面看是勤奋好学,对某种内容具有韧性或者探索精神,然而我们却不得不面对这样一个场面:如果

11、我们企图完全弄懂一个问题,就不得不把和它关联的问题也搞懂。但是尴尬的是,首先我们并不能无限制的得到任何自己需要的资料(大部分技术都是黑盒子,外人看不到内部实现的),另一方面,我们不得不承认人脑的记忆和理解是有限的这个现实。当你高高兴兴的以为自己弄懂了一个又一个问题时,最后却尴尬的发现似乎自己高兴过后只能记起其中的一两个(当然有个好办法就是把这些问题都记下来便于以后查找)。,学习方法交流,我想做程序员首先要有钻研精神,其次,也得有实用主义的精神。学技术,就是为了解决实际的问题的,如果你想为技术而技术,请先填饱肚子。遇到自己不会的东西怎么办?首先是能用就行,我们把它看成黑盒子就行了,就像用遥控器的

12、人永远不需要还得懂红外线,集成电路,振荡器,发射器到底是怎么回事一样。说到这里似乎已经扯远了话题,然而看到过很多学生天天追求后台原理或者软件工程,然而却连简单的应用也作不出或者设计图都画不好。不是他们不努力,而是他们努力走向了另一个方向:钻研理论。 对于初学者,第一步要的就是:能用。其余的,在这基础之上才能去谈进一步提高。而且,在国内的现状就是,绝大多数人是开发应用(简单的说就是编写固定流程的东西),而不是深入软件的底层来做开发工具或者自己动手写或者改进虚拟机。,开发经验交流,对于这个项目来说,当前台的结构设计的差不多的时候,我们也可以转而先去做后台的业务层,将前台的功能进行提取,看看后台能不

13、能先把大部分都实现了 这也是实际开发两人或者多人分工协作可能出现的情况,例如:一个写前台,一个写后台 当然我们并不是要让大家非得按照软件工程或者项目管理规范,把所有的文档都写好了才能真正开始编码,我们只需要让想法表示出来,就可以了 用代码来表示自己的想法,其实也是一种很不错的办法(一直备受赞扬的敏捷开发Agile,就是这样),第三部分 设计业务层功能,养成使用接口的习惯,对于业务层的设计,我们可以先写接口,然后再具体实现 当然直接写成类的方式也是没人禁止的,尤其是自己学习的时候也是很合适的做法 写接口就意味着我们并不需要写好具体的实现代码,所以设计阶段一般来说还是鼓励使用接口来做,这样大家只需

14、要讨论好哪些功能需要,哪些不需要就行了 给这个接口加上足够多的注释(或者文档),进行业务层的具体设计,首先定义接口IStudentManager(这个以I 开头的名称来自于Eclipse 的源码中的定义接口的习惯,I 表示Interface,便于开发人员一眼看出这是个接口,当然请不要误会所有的接口必须以I 开头才能定义) 把它放在包service中,用来定义用户管理模块应有的功能。当然用manager 作为业务层的包还是别的名称都是无所谓的 显示用户列表时数据量大,需分页显示,分页部分的接口设计如下所示: public int getTotalCount(); / 得到用户总数 public

15、int getTotalPage(int pageSize) ;/ 获取总页面数 public List findPagedAll(int currentPage, int pageSize);/ 分页显示数据,定义接口IStudentManager方法,本项目的主要功能是增删改查,结合我们前面所讨论的业务流程,并考虑到方法的参数和返回值等情况,我们一个个的定义这些功能所对应的方法声明 新建用户,我们定义一个方法即可,返回值告诉调用者是否保存成功。 public boolean save(Student student) 保存用户,我们前面的流程是首先通过ID 找到Student 对象,然后再

16、保存更新,所以一共需要两个方法的定义: public Student findById(int id);/ 根据ID 查找 public boolean update(Student student);/ 更新用户对象,定义接口IStudentManager方法,删除用户,根据 ID 进行删除就可以了,所以定义一个方法即可,返回值同样是成功时返回true,其它情况下返回false public boolean delete(Student student) 查找用户,我们则只需要一个方法就可以了,在这里我们只提供根据用户名进行查找的功能,方法的参数是用户名,返回值则是包含找到的用户对象的列表,

17、如果找不到的话就返回null public List findStudentByUsername(String username);,开发经验交流,至此,我们所有的初步设计工作都已完成了,下一步就可以着手进行详细设计了。但是因为这个项目相对比较规模小,所以我们接下来就进入具体的开发过程中 对于大型项目实际开发中一般会进行详细设计,要把所有的JSP 页面的样子画出来,每个类的UML 图也要画出来,以及每个页面和类的具体实现思路也得进行说明,例如:页面中加入的表单验证脚本代码,Action 类的工作流程,DAO 层采用何种技术实现等等(当然这里可以使用Spring 中的HibernateDaoSupport 或者HibernateTemplate) 不过实际开发中你会发现基本上所有的详细设计都会有纰漏或者错误之处,需要在开发过程中逐步进行必要的修改,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号