- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
struts2实验报告
系统分析与设计1.1 系统功能描述本系统是个非常简单的注册、登录系统。本系统的实现是基于Struts2、Spring、Hibernate三个框架,系统功能单一,业务逻辑简单。当用户注册信用户时,就是向系统中增加一个新用户,对应的数据库增加一条记录。当用户输入注册信息时,系统提供了基本的输入验证判断用户输入是否合法,只有当用户输入满足基本输入要求时,才会被提交到实际的登录系统,进行实际的登录处理。系统还使用了随机产生的图形验证码来防止刷新,防止用户通过单击浏览器的书安心按钮来重复注册多个用户。系统还提供了一种Ajax方式来验证用户输入的注册名是否有效,系统要求所有的用户名不能重复。故当用户输完用户名后,系统立即在页面上方提示用户该用户名是否可用,如果系统中没有该用户名,则系统提示该用户名可用;否则提示用户该用户名重复,用户必须重新选择用户名注册。当用户注册一个新用户名之后,就可以使用系统的登录功能来登录系统了,用户输入登录用的用户名、密码后,系统一样提供了基本的输入校验。除此之外,系统还采用了随机产生图形验证码来防止恶意用户的暴力破解,系统随机生成一个图形验证码,而用户登录必须输入图形验证码中显示的字符串,只有用户输入的字符串和系统随机生成的验证码字符相同时,系统才允许用户登录。1.2 系统功能流程处理用户注册的流程图提交注册请求输入校验失败(input result)登录成功注册失败(failure result)提交登录请求输入校验失败(input result)登录成功登录失败(failure result)1.3 数据库设计相关的映射文件:hibernate-mappingpackage=org.reg_login.modelclassname=Usertable=user_tableidname=idcolumn=user_idgeneratorclass=identity//idpropertyname=usercolumn=user_namenot-null=truelength=50unique=true/propertyname=passcolumn=user_passnot-null=truelength=50/propertyname=emaillength=100//class/hibernate-mapping一旦提供了上面的映射文件,Hibernate就可以理解User和user_table之间的对应关系。2.系统实现与测试2.1 系统采用的关键技术MVC框架采用了Struts2框架,Struts2框架的易用性,极好的简化了系统的MVC层的实现;本系统使用了Struts2的JSON插件来完成Ajax功能,除此之外本系统为了避免进行底层的Ajax交互,还是用了一个简单Prototype.js函数库,用以简化Ajax编程。Struts2框架的稳定性,为系统的稳定运行提供了保证。Spring容器作为系统的Ioc容器,将系统中所有组件都放在Spring容器中进行管理,并且充分利用了Spring Ioc容器的功能,采用依赖注入来管理系统中各组件的依赖关系,避免了各组件之间的硬编码耦合,提高了系统的可扩展性。借助Hibernate ORM框架实现系统的持久化,通过Hibernate的框架帮助,允许上层程序采用面向对象的方式编程,二Hibernate负责把面向对象的持久化操作转换成JDBC操作,但Hibernate的底层操作对开发者完全透明,从而让用户从具体的JDBC访问中释放出来,无需理会底层的JDBC数据库访问,而是以面向对象的方式进行持久化操作。2.2 关键程序流程以注册为例说明:加载类(FilterDispatcher)读取配置(struts配置文件中的Regist.Action)派发请求(客户端发送请求)调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action )启用拦截器(WebWork拦截器链自动对请求应用通用功能)处理业务(回调RegistAction的execute()方法)返回响应(通过execute方法将信息返回到FilterDispatcher)查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCCESS、ERROER,将跳转到哪个jsp页面)响应用户(jsp---客户浏览器端显示)2.3 关键代码分析Regist.action的execute方法publicString execute() throws Exception{Map session = ActionContext.getContext().getSession(); String ver2 = (String )session.get(r
您可能关注的文档
最近下载
- 教育学原理 绪论 教育学及其发展.pdf VIP
- 冠状动脉粥样硬化性心脏病PPT课件.ppt VIP
- IEC60335-1-2020中文版-家用和类似用途电器的安全第1部分:通用要求(中文翻译稿).pdf VIP
- 高中班主任工作计划2023第一学期.doc VIP
- 工业废水中乙醇叔丁醇的回收工艺设计.docx VIP
- BRCGS包装材料 (第七版) 变化点解读.pptx VIP
- 医院PCR实验室质量管理课件.pptx VIP
- 《工程测量实用技术实践实验报告:水准测量》1600字.doc VIP
- 《城市规划原理》第3章 城乡规划体制.ppt VIP
- HJ 828-2017 水质 化学需氧量的测定 重铬酸盐法(正式版).pdf VIP
文档评论(0)