SSH培训教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2019年9月Struts+Hibernate+Spring——新员工培训THUNISOFTStruts+Hibernate+Spring新员工培训课程总体目标我们的目标是:能够熟练运用当前流行的java开源框架:Struts、Hibernate以及Spring来构建灵活、易于扩展的多层Web应用程序。THUNISOFTStruts+Hibernate+Spring新员工培训多层架构概述C/S:以数据库为中心B/S:多层架构才是真正的目的B/S多层架构将显示、业务运算、数据库等功能完全分离,杜绝彼此的耦合与影响,从而实现松耦合和良好的可维护性。呈现层(UILayer/PresentationLayer)struts业务逻辑层(BusinessLayer)spring持久化层(PersistenceLayer)hibernate2019年9月Struts开源MVC框架THUNISOFTStruts+Hibernate+Spring新员工培训Struts课程目标深入理解MVC模式掌握Struts体系架构掌握Struts开发流程熟练掌握Struts的配置方法THUNISOFTStruts+Hibernate+Spring新员工培训回顾Servlet在web.xml中如何配置?Servlet如何和页面对应起来?我们自己写的Servlet需要从哪个类继承?THUNISOFTStruts+Hibernate+Spring新员工培训Struts是什么?Struts的目标是提供一个开发Web应用的开源框架。Struts鼓励基于M2模式(即MVC设计模式)来开发程序。注意:Struts只是MVC的一种实现方式,不使用Struts也可以使用/实现MVC。因为MVC是一种模式,而Struts则是一种实现。-Model-View-ControllerTHUNISOFTStruts+Hibernate+Spring新员工培训Model1与Model2设计模式简介以JSP为中心的开发模型,称为Model1(JSP+JAVABEAN)业务逻辑与表示逻辑混和,不利维护与重用HTML中嵌入了大量的JAVA代码验证、流程控制、更新程序的状态全部在JSP中完成基于MVC模式的框架MVC将问题进行分解模型包含应用程序的核心功能。模型封装了应用程序的状态。它对视图或控制器一无所知。视图提供模型的表示。它是应用程序的外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。控制器对用户的输入作出反应。它创建并设置模型。THUNISOFTStruts+Hibernate+Spring新员工培训Model2BrowserControllerModelViewHttpRequest(Get,Post)调用Forward获取HttpResponseTHUNISOFTStruts+Hibernate+Spring新员工培训Struts框架概览THUNISOFTStruts+Hibernate+Spring新员工培训Struts框架概览浏览器web容器将对来自HTTP的每个请求创建一个request对象,并用一个response对象作出响应控制器控制器接收来自浏览器的请求,在struts中,是由一个servlet来充当控制器的角色,struts-config.xml文件配置控制器模型在struts中,由Action类充当业务逻辑的包装器,ActionForm是程序的状态视图JSP文件THUNISOFTStruts+Hibernate+Spring新员工培训Struts框架组件ActionServlet类控制导航流ActionServlet根据URI来决定哪个Action类被用于处理请求,Action可以校验输入,并访问业务层以便从数据库检索信息Action需要知道页面提交了哪些内容,所以由ActionServlet根据请求URI来决定将请求参数绑定到哪个ActionForm中,并传入ActionAction在完成业务逻辑后,返回一个ActionForward对象,ActionServlet根据ActionForward对象中的路径来调用页面完成响应Struts将这些信息绑定在一个ActionMapping对象中,一个ActionMapping对应一个请求URI,当请求路径到达的时候,ActionServlet就会查询ActionMapping对象,ActionMapping对象将告诉ActionServlet哪个Action类会被调用、哪个ActionForm类被用于传递页面数据以及哪些ActionForward将被用于转向有关Action、ActionForm、ActionForward等信息,Struts通过一个配置文件:struts-config.xml文件来定义。THUNISOFTStruts+Hibernate+Spring新员工培训Struts1.X和Struts2.XStruts1.X与Struts2.X的差异较大Struts1.X应用更加广泛Struts2.X实际上是另外一个框架Webwork发展而来的后续课程将会有对webwork/Struts2.X的介绍以及实例操作THUNISOFTStruts+Hibernate+Spring新员工培训快速开始一个Struts项目第一个项目,实现用户登录操作用户将看到一个登录页面,要求用户输入用户名以及密码如果用户名以及密码都是admin,提示登录成功否则提示登录失败1、用Eclipse创建一个J2EEWeb应用项目,如右图所示2、下载并解压Struts项目*从Apache网站下载struts最新版*将压缩包解压到一个目录,此目录为STRUTS_HOME目录3、将STRUTS_HOME/lib目录下的所有.jar文件拷贝到刚创建的web项目的WebContent/WEB-INF/lib目录下4、配置ActionServlet:修改web项目的web.xml文件,添加如下Servlet映射配置(转下一页)THUNISOFTStruts+Hibernate+Spring新员工培训web.xml的配置servletservlet-nameaction/servlet-nameservlet-classorg.apache.struts.action.ActionServlet/servlet-classinit-paramparam-nameconfig/param-nameparam-value/WEB-INF/struts-config.xml/param-value/init-paramload-on-startup2/load-on-startup/servletservlet-mappingservlet-nameaction/servlet-nameurl-pattern*.do/url-pattern/servlet-mappingTHUNISOFTStruts+Hibernate+Spring新员工培训我们将需要创建如下文件一个ActionForm–LoginActionForm.java一个Action–LoginAction.javastruts-config.xml文件三个页面登录页面–login.jsp登录成功提示页面–login_success.jsp登录失败提示页面–login_error.jsp就这些!没别的了!!THUNISOFTStruts+Hibernate+Spring新员工培训创建LoginActionForm.javaActionForm是一个JavaBean,需继承org.apache.struts.action.ActionForm类,它捕获通过HTTP请求传送的参数ActionForm针对每个HTML表单中的字段具有一个对应的属性ActionServlet匹配请求中的参数和ActionForm中的属性,并调用ActionForm中的setter方法,将参数传入ActionForm我们的login.jsp有username和password两个表单字段(下面将会看到),所以,我们需要定义ActionForm中相应的setter方法:setUsername和setPassword方法ActionForm中的getter/setter方法,可以通过Eclipse集成环境,自动生成ActionForm中的内部属性全部定义为私有的(private),并通过公共(public)的getter/setter方法来访问packagecom.bjsxt.strutstest;importorg.apache.struts.action.ActionForm;publicclassLoginActionFormextendsActionForm{privateStringusername;privateStringpassword;/***@returnReturnsthepassword.*/publicStringgetPassword(){returnpassword;}/***@parampasswordThepasswordtoset.*/publicvoidsetPassword(Stringpassword){this.password=password;}/***@returnReturnstheusername.*/publicStringgetUsername(){returnusername;}/***@paramusernameTheusernametoset.*/publicvoidsetUsername(Stringusername){this.username=username;}}THUNISOFTStruts+Hibernate+Spring新员工培训创建LoginAction.javaAction是一个Java类,需继承org.apache.struts.action.Action类ActionServlet将会组装ActionForm,并将它传递给ActionAction通常负责:输入校验调用业务逻辑类执行业务逻辑操作决定返回哪个ActionForward我们的LoginAction做了如下事情,这些是一个Action通常都会做的最典型的事情:将输入的ActionForm强制转换为LoginActionForm从LoginActionForm对象中获取用户名以及密码的数据信息执行用户名及密码的逻辑判断操作(在通常的情况下,要将这些业务逻辑交给专门的类去处理,这里这样做是为了演示的需要)根据业务逻辑执行的结果,决定返回哪个ActionForward,我们在这里使用success这个标识来表示登录成功页面,用error标识来表示登录失败页面publicclassLoginActionextendsAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{//将ActionForm强制转换为LoginActionFormLoginActionFormloginForm=(LoginActionForm)form;//从LoginActionForm中提取从页面表单传递过来的参数Stringusername=loginForm.getUsername();Stringpassword=loginForm.getPassword();//根据这些参数,执行业务逻辑操作if(admin.equals(us

1 / 188
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功