【Jsp精品源码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了Jsp精品源码-Struts2教程-1(私塾在线)视频配套学习资料 - 编程语言的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
JavaStruts2——Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送n系统学习Struts2开发所需要的知识循序渐进n第一部分Struts2核心知识Struts2是什么、能干什么、有什么构建Struts2开发环境和运行环境、HelloWorldStruts2具体的运行流程、Struts2的完整架构Action、Result、Interceptor框架OGNL、值栈、ActionContext、ServletActionContextStruts2标签库n第二部分Struts2其他知识包括国际化、验证框架、类型转换n第三部分Struts2补充知识包括文件上传、下载、jfreechart、json插件、防止重复提交、零配置《深入浅出学Struts2开发》——系列
精品教程真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900
课程概览Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900第一章Struts2入门《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送nStruts2是什么一种基于MVC的轻量级Web应用框架。
Struts2是由Struts1.x和Webwork2.x合并而来其实是完全抛弃了Struts1.x的技术完全使用Webwork2的技术所以从某种意义上说Webwork2就约等于Struts2。
nStruts2能干什么1对基于MVC开发的应用的各个部分都提供相应的帮助可以减少开发的工作量提高开发效率2同时帮助我们合理的划分程序结构使
程序结构更优良nStruts2有什么一种简单的划分方法真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900Struts2入门-1《深入浅出学Struts2开发》——系列
精品教程Struts2Struts2XWork2处理与Web相关部分处理与Web无关部分Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送Xwork简洁、灵活、功能强大它是一个标准的Command模式框架实现并且完全从web层脱离出来。
Xwork提供了很多核心功能前端拦截机interceptor运行时表单属性验证类型转换强大的表达式语言OGNL –the Object Graph Navigation LanguageIoCInversion of Control依赖反转控制容器等。
Struts2建立在Xwork之上处理HTTP的请求和响应。
所有的请求都会被它的前端控制器FilterDispatcher截获。
前端控制器对请求的数据进行包装初始化上下文数据根据配置文件查找请求URL对应的Action类执行Action将执行结果转发到相应的展现页面。
Struts2支持多视图表示视图部分可以使用
JSP Velocity FreeMarker JasperReportsXML等。
真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900Struts2入门-2《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900第二章HelloWorld《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送n工具准备1Eclipse3.3 Jdk6.0 apache-tomcat-6.0.162struts-2.1.8.1-all.zip的发行包n构建环境1在Eclipse里面新建一个Java工程设若名称是Struts2Test2Struts2Test下面新建一个文件夹作为Web应用的文件夹设若名称是s23在struts-2.0.11.2-all发行包中找到apps/struts2-blank-2.1.8.1.war把下面的内容解压出来拷贝到刚才新建的s2中4把s2的WEB-INF/lib中的jar引入到工程的library中5设置工程的
源代码在src下面把WEB-INF/src/java/下面的东西拷贝到src下面6把编译后的类的路径设置到s2的WEB-INF/classes7如果前面编译没有任何问题那么就可以在tomcat中配置context使其指向s2web上下文名称s2真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900构建开发和运行环境《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送8启动tomcat就可以进行测试了运行地址如http://localhost:8080/s29界面如下就表示环境已经OK了n中文
问题的处理1
jsp里设置gb2312有两个地方一个是
jsp的页面设置一个是Html中head区的meta。
如下lt page contentTypequottext/html charsetgb2312quotgtltmeta http-equiv“Content-Type”content“text/htmlcharsetgb2312”gt2在src下面新建一个struts.properties里加上struts.localezh_CNstruts.i18n.encodingGB2312真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900构建开发和运行环境《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送Struts2的Action主要用来执行请求所对应的动作。
1写一个类实现com.opensymphony.xwork2.Action2然后在里面定义两个属性id和name访问权限是public的3实现execute方法返回SUCCESS代码示例如下packagecn.javass.s2importcom.opensymphony.xwork2.ActionpublicclassMyHelloWorld implementsActionpublicString idnameOverridepublicString executeSystem.out.printlnquotthe idquotidquotnamequotnamereturnSUCCESS真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900HelloWorld-Action类《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送Struts2中Action写完后要在struts.xml中进行配置配置如下ltpackage namequotmyHelloquot namespacequot/myHelloquot extendsquotstruts-defaultquotgtltaction namequothelloquot classquotcn.javass.s2.MyHelloWorldquotgtltresult namequotsuccessquot typequotdispatcherquotgtltparam namequotlocationquotgt/t2.jsplt/paramgtlt/resultgtlt/actiongtlt/packagegt放置到ltstrutsgt里面真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900HelloWorld-struts.xml《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送这里做了两个页面一个页面t1.
jsp用来做输入值然后提交申请后台的Action接收到这些值然后进行相应的处理处理完毕后返回一个SUCCESS根据配置跳转到t2.
jsp。
t1.
jsp如下lt page contentTypequottext/html charsetgb2312quotgtltheadgtltmeta http-equivquotContent-Typequot contentquottext/htmlcharsetgb2312quotgtlt/headgtltform actionquot/s2/myHello/hello.actionquot methodquotpostquotgt编号ltinput typequottextquot namequotidquotgtltbrgt姓名ltinput typequottextquot namequotnamequotgtltbrgtltinput typequotsubmitquot valuequot提交quotgtlt/formgtt2.
jsp如下lt page contentTypequottext/html charsetgb2312quotgtStruts2的HelloWorld测试成功真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900HelloWorld-
jsp页面《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900第三章Struts2中的MVC《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线
学习视频独家大放送nMVC是一种架构型模式它本身不引入新的功能只是指导我们把web应用结构做的更加合理实现逻辑与页面相分离nMVC包含三个部分功能分别如下uModel封装应用状态??------数据封装vo响应状态
查询??------获取数据vo暴露应用的功能??------逻辑层APIuController验证HTTP请求的数据??------收集数据封装数据将用户数据与模型的更新相映射??------调用逻辑层API选择用于响应的视图??------根据返回值选择下一个页面uView产生HTML响应??------展示数据请求模型的更新??------触发事件提供
HTML form用于用户请求??------人机交互真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900标准的MVC模式《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送真正高质量培训签订
就业协议网址http://www.javass.cn咨询QQ460190900Struts2中的MVC《深入浅出学Struts2开发》——系列
精品教程
Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量
免费在线学习视频独家大放送n控制器——FilterDispatcher用户请求首先到达前端控制器FilterDispatcher。
FilterDispatcher负责根据用户提交的URL和struts.xml中的配置来选择合适的动作Action让这个Action来处理用户的请求。
FilterDispatcher其实是一个过滤器Filterservlet规范中的一种
web组件它是Struts2核心包里已经做好的类不需要我们去开发只是要在项目的web.
xml中配置一下即可。
FilterDispatcher体现了J2EE核心
设计模式中的前端控制器模式。
n动作——Action在用户请求经过FilterDispatcher之后被分发到了合适的动作Action对象。
Action负责把用户请求中的参数组装成合适的数据模型并调用相应的业务逻辑进行真正的功能处理然后获取下一个视图展示所需要的数据。
Struts2 的Action相比于别的web框架的动作处理有一个很大的进步它实现了与Servlet API的解耦使得在Action里面不需要再直接去引用和使用HttpServletRequest与HttpServletResponse等接口。
因而使得Action的单元测试更加简单而且强大的类型转换也使得我们少做了很多重复的
工作。
真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900Struts2中的MVC《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送n视图——Result视图结果用来把动作中获取到的数据展现给用户。
在Struts2中多种优秀的结果展示方式正是其吸引人的特性之一既有常规的
jsp又有模板freemarker、velocity还有各种其它专业的展示方式如图表jfreechart、报表JasperReports、将XML转化为HTML的XSLT等等。
而且各种视图结果在同一个工程里面还可以混合出现。
真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900Struts2中的MVC《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900第四章Struts2的架构《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900Struts2的架构-1《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送上面这个图是struts2的
文档里面提供的的架构图它描述了从客户端的一次请求到最后服务器端响应的的整个执行过程。
此架构图一个分为五个部分其中五个部分用不同颜色表示。
1浅灰色方框代表了客户端的一次请求和服务器端运算结束之后的一次响应。
2桔红色方框表示一次Action请求所要经过的Servlet filtersServlet 过滤器。
可以看到最后一个filter就是我们前面介绍的的前端控制器。
3浅蓝色方框这是Struts2框架的核心部分。
3.1一次请求到了Struts2的前端控制器它首先会通过ActionMapper决定这次请求是否是一次Action请求。
3.2然后前端控制器就把工作委派给ActionProxy。
ActionProxy会到配置管理器Configuration Manager里面读取在struts.xml文件中定义的配置信息。
真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900Struts2的架构-2《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送3.3接下来ActionProxy会调用ActionInvocation对象ActionInvocation是Xwork核心的Command模式实现部分。
它会依次调用这个Action已定义的拦截器Action方法Result方法。
3.4执行完Result后选择下一个页面需要为下一个页面获取数据会找Tag子
系统Tag子系统会从值栈中获取数据3.5最后看上面流程的图的方向它会再执行拦截器再回到Servlet Filter部分最后结束并传给用户一个结果响应。
4浅绿色方框这是拦截器部分5浅黄色方框这是我们在开发Web应用时需要自己开发的程序。
其中包括Action类页面配置文件struts.xml真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900Struts2的架构-3《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900第五章Action《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送一般一个Action代表一次请求或调用每个请求的动作都对应于一个相应的Action一个Action是一个独立的工作单元和控制命令。
在Struts2中一般Action类需要实现Action接口或者直接继承基础类ActionSupport。
它要实现默认的execute方法并返回一个在配置文件中定义的Result也就是一个自定义的字符串而已。
当然Action也可以只是一个POJO普通Java对象不用继承任何类也不用实现任何接口。
Action是一次请求的控制器同时也充当数据模型的角色强烈建议不要将业务逻辑放在Action中。
真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900Action介绍《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送一般一个Action只需要配置名称和对应的类把这两部分添加到struts.xml中从而建立一个action的映射。
示例如下ltaction namequothelloquot classquotcn.javass.s2.MyHelloWorld“/gt当然除了使用lts:action/gt标签这种极少数情况没有result的action是没有什么作用的。
在没有建立action和result的映射之前action无法为用户显示任何内容。
一为action提供别名为相同的action提供不同的result或者interceptor称为action别名。
Struts2还提供另外一种强大的方式为action别名指定action类中非execute的其他方法为action指定method属性示例如下ltaction namequottestquot classquotcn.javass.s2.MyHelloWorldquot methodquotmyMethodquotgt真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900Action配置-1《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送二不需要配置的别名Struts2还支持不用配置直接在访问的时候写成Action名方法名.action这相当于访问Action名.action只是调用的方法是指定的方法名的方法。
三使用参数自定义action使用ltparamgt标签可以为action传递初始化参数此时action的属性必须按照JavaBean样式的setter方法。
真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900Action配置-2《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送另外一种是扩展com.opensymphony.xwork2.ActionSupport类。
ActionSupport实现了除Action以外的其他几个接口主要的几个接口是com.opensymphony.xwork2.Validateable提供validate方法来为Action增加验证的功能com.opensymphony.xwork2.Validateaware提供方法来保存和恢复action或field级的错误信息com.opensymphony.xwork2.TextProvider提供获取本地信息文本的功能com.opensymphony.xwork2.LocaleProvider提供getLocale方法来获取本地消息这些接口主要提供给拦截器使用接口配合拦截器可以实现AOP功能ActionSupport的示例非常简单基本上就是把MyHelloWorld的实现Action改写成继承ActionSupport类就可以了。
真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900使用ActionSupport《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送1先是执行validate方法如果有错误直接添加到addFieldError中同时回到输入页面2通过了validate过后进如execute方法如果检测数据有错误也是添加addFieldError同时需要return INPUT。
3这个时候的错误信息都放到fieldError里面了回到页面上怎么显示呢使用Struts2的标签来实现输出错误信息如下lts:if testquothasFieldErrorsquotgtlts:iterator valuequotfieldErrorsquotgtlts:property valuequotvalue0quot/gtlt/s:iteratorgtlt/s:ifgt示例如下真正高质量培训签订就业协议网址http://www.javass.cn咨询QQ460190900基本的数据验证《深入浅出学Struts2开发》——系列
精品教程Java私塾-最专业的Java就业培训专家因为专业所以出色值得你的信赖私塾在线http://sishuok.comfrombook 独家提供配套教学视频 更有大量免费在线学习视频独家大放送Action类packagecn.javass.s2importcom.opensymphony.xwork2.ActionSupportpublicclassMyHelloWorld extendsActionSupportpublicString idnameOverridepublicString executeSystem.out.printlnquotthe idquotidquotnamequotnamereturnS.