文件名称:深入浅出Struts2.pdf(完整版)
文件大小:42.37MB
文件格式:PDF
更新时间:2015-02-27 04:25:22
java struts2 pdf
深入浅出Struts2.pdf(完整版) 第1章Model2应用程序1 1.1Model2概览1 1.2带servlet控制器的Model22 1.2.1Product动作类3 1.2.2ControllerServlet类4 1.2.3视图6 1.2.4部署描述文件8 1.2.5示例程序的运行9 1.3带过滤器调度程序的Model29 1.4小结13 第2章初识Struts14 2.1Struts的优点14 2.2Struts的动作处理流程15 2.3拦截器17 2.4Struts配置文件18 2.4.1struts.xml文件19 2.4.2struts.properties文件26 2.5Struts应用程序示例26 2.5.1部署描述文件和Struts配置文件27 2.5.2动作类28 2.5.3运行app02a程序29 2.6依赖注入29 2.6.1概述29 2.6.2依赖注入的几种方式31 2.7小结31 第3章动作与结果32 3.1动作类32 3.2如何访问资源34 3.2.1ServletActionContext对象34 3.2.2Aware接口35 3.2.3通过Aware接口访问资源38 3.3把静态参数传递给一个动作41 3.4ActionSupport类41 3.5结果42 3.5.1Chain43 3.5.2Dispatcher44 3.5.3FreeMarker44 3.5.4HttpHeader44 3.5.5Redirect45 3.5.6RedirectAction46 3.5.7Stream47 3.5.8Velocity47 3.5.9XSLT47 3.5.10PlainText47 3.6异常处理:exception-mapping元素47 3.7通配符映射48 3.8动态方法调用51 3.9对动作类进行测试51 3.10小结51 第4章OGNL52 4.1ValueStack栈52 4.2读取ObjectStack里的对象的属性53 4.3读取ContextMap里的对象的属性54 4.4如何调用字段和方法55 4.5如何访问数组类型的属性56 4.6如何访问List类型的属性56 4.7如何访问Map类型的属性57 4.8JSPEL:当OGNL帮不上忙时58 4.9小结58 第5章表单标签59 5.1Struts标签的使用方法59 5.2表单标签的共同属性60 5.3form标签62 5.4textfield、password、hidden标签63 5.5submit标签65 5.6reset标签65 5.7label标签66 5.8head标签66 5.9textarea标签66 5.10checkbox标签67 5.11list、listKey和listValue属性72 5.11.1赋值一个String72 5.11.2赋值一个Map73 5.11.3赋值一个Collection或一个对象数组73 5.12radio标签74 5.13select标签76 5.14用optgroup标签对选项进行分组79 5.15checkboxlist标签82 5.16combobox标签83 5.17updownselect标签85 5.18optiontransferselect标签87 5.19doubleselect标签90 5.20主题92 5.21小结94 第6章通用标签95 6.1property标签95 6.2a标签97 6.3action标签97 6.4param标签98 6.5bean标签98 6.6date标签100 6.7include标签100 6.8set标签101 6.9push标签103 6.10url标签104 6.11if、else和elseif标签105 6.12iterator标签107 6.13append标签110 6.14merge标签111 6.15generator标签113 6.16sort标签116 6.17subset标签118 6.18小结119 第7章类型转换120 7.1类型转换概述120 7.2类型转换错误消息的定制121 7.3类型转换器的定制125 7.3.1对自定义的类型转换器进行配置126 7.3.2自定义的类型转换器示例127 7.4扩展StrutsTypeConverter类130 7.5与复杂对象配合使用134 7.6与Collection配合使用137 7.7与Map配合使用142 7.8小结145 第8章输入验证146 8.1验证程序概述146 8.2验证程序的配置147 8.3Struts内建验证程序148 8.3.1required验证程序149 8.3.2requiredstring验证程序150 8.3.3stringlength验证程序152 8.3.4int验证程序154 8.3.5date验证程序156 8.3.6email验证程序157 8.3.7url验证程序159 8.3.8regex验证程序160 8.3.9expression和fieldexpression验证程序161 8.3.10conversion验证程序164 8.3.11visitor验证程序166 8.4编写自定义的验证程序173 8.4.1注册176 8.4.2示例177 8.5利用Validateable接口实现编程验证180 8.6小结182 第9章消息处理与国际化183 9.1地区和Java资源绑定183 9.2Struts中的国际化支持185 9.3text标签188 9.4i18n标签191 9.5以手动方式选择一个资源包193 9.6小结195 第10章ModelDriven和Preparable拦截器196 10.1把动作与模型隔离开196 10.2ModelDriven拦截器197 10.3Preparable拦截器201 10.4小结206 第11章持久层207 11.1DAO模式207 11.1.1DAO模式的最简单实现208 11.1.2使用DAO接口的DAO模式208 11.1.3使用AbstractFactory模式的DAO模式209 11.2实现DAO模式209 11.2.1DAO接口和DAOBase类210 11.2.2EmployeeDAO类213 11.2.3EmployeeDAOMySQLImpl类214 11.2.4DAOFactory类218 11.2.5EmployeeManager类219 11.2.6运行app11a应用程序220 11.3Hibernate221 11.4小结221 第12章文件的上传222 12.1文件上传概述222 12.2在Struts里上传文件223 12.3FileUpload拦截器224 12.4上传单个文件示例225 12.5上传多个文件示例227 12.6小结230 第13章文件的下载231 13.1文件下载概述231 13.2Stream结果类型232 13.3文件下载功能的编程实现235 13.4小结238 第14章提高Struts应用程序的安全性239 14.1用户和角色239 14.2编写安全策略240 14.2.1保护资源240 14.2.2指定登录方法241 14.3身份验证方法242 14.3.1使用基本身份验证方法243 14.3.2使用基于表单的身份验证方法245 14.4隐藏资源247 14.5Struts安全配置248 14.6以编程方式提高安全性250 14.6.1getAuthType方法250 14.6.2isUserInRole方法250 14.6.3getUserPrincipal方法251 14.6.4getRemoteUser方法251 14.7小结251 第15章防止重复提交252 15.1标记管理252 15.2使用Token拦截器253 15.3使用TokenSession拦截器256 15.4小结257 第16章调试与性能分析258 16.1debug标签258 16.2Debugging拦截器259 16.3性能分析261 16.4小结262 第17章进度条263 17.1ExecuteandWait拦截器263 17.2使用ExecuteandWait拦截器264 17.3使用一个自定义的“等待”页面265 17.4小结266 第18章定制拦截器267 18.1Interceptor接口267 18.2编写一个自定义的拦截器268 18.3使用DataSourceInjectorInterceptor拦截器269 18.4小结273 第19章定制结果类型274 19.1概述274 19.2编写一个自定义的结果类型274 19.3使用新的结果类型277 19.4小结279 第20章Velocity280 20.1概述280 20.2Velocity隐式对象281 20.3标签281 20.4Velocity示例282 20.5小结284 第21章FreeMarker285 21.1概述285 21.2FreeMarker标签286 21.3示例287 21.4小结289 第22章XSLT结果类型290 22.1概述290 22.2XSLT结果类型292 22.3示例294 22.4小结295 第23章插件296 23.1概述296 23.2从哪里获得插件296 23.3编写一个自定义的插件296 23.4使用Captcha插件297 23.5小结300 第24章Tiles插件301 24.1JSPinclude指令/标签的不足302 24.2Tiles布局和定义303 24.2.1布局页面303 24.2.2Tiles定义304 24.3StrutsTiles插件305 24.4StrutsTiles示例306 24.5小结309 第25章JFreeChart插件310 25.1JFreeChartAPI310 25.1.1JFreeChart类310 25.1.2Plot抽象类310 25.2使用标准的插件311 25.3使用BrainySoftwareJFreeChart插件313 25.4小结315 第26章零配置316 26.1准备工作316 26.2注解317 26.2.1@Result注解317 26.2.2@Results注解318 26.2.3@Namespace注解318 26.2.4@ParentPackage注解319 26.3CodeBehind插件319 26.4小结321 第27章Ajax322 27.1Ajax概述322 27.2Dojo的事件系统323 27.3使用StrutsDojo插件324 27.4head标签324 27.5div标签325 27.5.1示例程序1326 27.5.2示例程序2326 27.5.3示例程序3327 27.6a标签328 27.7submit标签330 27.8bind标签331 27.9datetimepicker标签333 27.10tabbedpanel标签334 27.11textarea标签336 27.12autocompleter标签337 27.12.1示例程序1339 27.12.2示例程序2339 27.12.3示例程序3340 27.13tree和treenode标签341 27.13.1示例程序1342 27.13.2示例程序2343 27.14小结345 附录AStruts配置346 附录BJSPEL语言361 附录CJava注解370 ……