欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重地阐述SSH三个框架的基础知识,第四部分将会进入项目实战,如果您已经对SSH框架有所掌握,那么可以直接浏览第四章,源码均提供在GitHub/ssh-network-hard-disk上供大家参阅

要想学好一个框架,就必须要学好如何配置好这个框架,下面让我们大体上来一起来了解一下Struts2的相关配置,在Struts2框架中涉及到三个配置文件,如下所示

  1. web.xml
  2. struts.xml
  3. struts.properties

web.xml

不管是基于MVC模式的框架还是其他功能框架,只要参与了Web应用的请求与响应动作,就必须要借助web.xml文件来安装这个框架,例如Struts2就借助StrutsPrepareAndExecuteFilter这个类来拦截WEB程序的请求

  1. <filter>
  2. <filter-name>struts2</filter-name>
  3. <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
  4. <init-param>
  5. <!--配置默认加载包-->
  6. <param-name>actionPackages</param-name>
  7. <param-value>com.jimisun.action</param-value>
  8. </init-param>
  9. </filter>
  10. <filter-mapping>
  11. <filter-name>struts2</filter-name>
  12. <url-pattern>/*</url-pattern>
  13. </filter-mapping>

struts.xml

struts.xml是Struts2的核心配置文件,负责管理Struts2中的Action

. 例如下面的配置中就配置了一个http://xxxx.xx/hello.action的Action,当前在请求的时候携带一个参数为username参数值为jimisun,如果执行结果为success,就跳转至"/success.jsp"

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
  4. "http://struts.apache.org/dtds/struts-2.3.dtd">
  5. <!-- 根元素 -->
  6. <struts>
  7. <package name="default" extends="struts-default" namespace="/">
  8. <action name="hello" class="com.jimisun.action.HelloAction">
  9. <param name="username">jimisun</param>
  10. <result name="success">/success.jsp</result>
  11. </action>
  12. </package>
  13. </struts>

struts.properties

struts2框架中有两个核心配置文件,其中struts.xml文件主要负责管理应用中的action映射,以及该action包含的result定义等。除此之外,struts2框架还包括一个struts.properties文件,该文件定义了struts2框架的大量属性,开发者可以通过改变这些属性来满足应用的需求。

  1. struts.configuration
  2. 该属性制定加载Struts 2配置文件的配置文件管理器。该属性的默认值是org.apache.struts2.config.DefaultConfiguration,这是Struts 2默认的配置文件管理器。如果需要实现自己的配置配置文件管理器,开发者可以实现一个实现Configuration接口的类,该类可以自己加载Struts 2配置文件。
  3. struts.locale
  4. 指定Web应用的默认locale
  5. struts.il8n.encoding
  6. 该常量指定了Web应用的默认编码集。通常,由于使用中文字符集,将其设置为UTF-8
  7. struts.objectFactory
  8. 指定Struts 2默认的ObjectFactory Bean,该属性默认时Spring
  9. struts.objectFactory.spring.autoWire
  10. 指定Spring框架的自动装配模式,默认值时name,即默认根据Beanname属性自动装配。
  11. struts.objectFactroy.spring.useClassCache
  12. 指定整合Spring框架时,是否缓存Bean实例,该属性只允许使用truefalse,默认值是true。通常不建议修改该属性值得。
  13. struts.objectTypeDeterminer
  14. 指定Struts 2的类型检测机制,通常支持tigernotiger两个属性值。
  15. struts.multipart.parser
  16. 指定处理multipart/forma-dataMIME类型(文件上传)请求框架,该属性支持cospell、和jakarta等属性,即分别对应使用cos的文件上传框架、pell上传及common-fileupload文件上产框架。默认值是jakarta.
  17. struts.multipart.saveDir
  18. 指定上传文件的临时保存路径,默认值是javax.servlet.context.tempdir
  19. struts.multipart.maxSize
  20. 该属性指定Struts 2文件上传中整个请求内容允许的最大字节数。
  21. struts.custom.properties
  22. 指定Struts 2 应用加载用户自定义的属性文件,该自定义属性文件指定的属性不会覆盖struts.properties文件中指定的属性。如果需奥加载多个自定义属性文件,多个自定义属性文件的文件名以英文逗号(,)隔开。
  23. struts.mapper.class
  24. 指定将HTTP请求映射到指定Action的映射器,Struts 2提供了默认的映射器:org.apache.struts2.dispatcher.mapper.DefaultActionMapper。默认映射器根据请求的前缀与Actionname属性完成映射。
  25. struts.action.extension
  26. 指定需要Struts 2处理的请求后缀,默认值是action,即所有匹配*.action的请求都都由Struts2处理。如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。
  27. struts.serve.satic
  28. 该属性设置是否通过JAR文件提供静态内容服务,该属性只支持truefalse,默认值是false
  29. struts.serve.static.browserCache
  30. 该属性设置浏览器是否缓存静态内容。当应用处于开发间段时,我们希望每次请求都获得服务器的最新响应,则可设置该属性为false
  31. struts.enable.DynamicMethodInvocation
  32. 设置Struts 2是否支持动态方法调用,默认值是true
  33. struts.enable.SlashesInActionNames
  34. 设置Struts 2是否允许Action名中使用斜线,默认值为false
  35. struts.tag.altSyntax
  36. 指定是否允许在Struts 2标签中使用表达式语法,因为通常都会在标签中使用表达式语法,因此应该设置为true,默认值是true
  37. struts.devMode
  38. 指定Struts 2应用是否应用开发模式。如果该属性设置为true,则可以在应用出错时显示更多、更友好的出错提示。该属性只接受truefalse,默认值是false
  39. struts.il8.reload
  40. 设置是否每次HTTP请求到达时,系统都重新加载资源文件。默认值是false。在开发阶段应该设置为true。每次请求都加载资源文件会大大降低应用的性能。
  41. struts.ui.theme
  42. 指定试图标签默认的试图主题,默认值是xhtml
  43. struts.ui.templateDir
  44. 指定试图主题所需要模板文件的位置,默认值是tempate,即默认加载template路径下的模板文件。
  45. struts.ui.templateSuffix
  46. 指定模板文件的后缀,默认值是ftl。该属性还允许使用ftlvmjsp,分别对应FreeMarkervelocity JSP模板。
  47. struts.configuration.xml.reload
  48. 设置当struts.xml文件改变后,系统是否自动重新加载该文件。默认值是false
  49. struts.velocity.configfile
  50. 指定Velocity框架所需的velocity.properties文件位置。默认值为velocity.properties
  51. struts.velocity.contexts
  52. 指定Velocity框架的Context位置,如果该框架有多个Context,则多个Context之间以英文逗号隔开。
  53. struts.velocity.toolboxlocation
  54. 指定Velocity框架的toolbox位置。
  55. struts.url.http.port
  56. 指定web应用所在的监听端口。
  57. struts.url.https.port
  58. 该属性类似于struts.url.http.port属性的作用,区别是该属性指定的是WEB应用的加密服务端口。
  59. strust.url.includeParames
  60. 该属性指定Struts 2生成URL时是否包含请求参数。该属性接受nonege all三个属性,分别对应不包含、仅包含GET类型请求参数和包含全部请求参数。
  61. struts.custom.il8n.resources
  62. 该属性指定struts 2应用所需要的国际化资源文件,如果有多份国际化资源文件,则多个国际化资源文件的文件名以英文逗号隔开。
  63. struts.dispatcher.parametersWorkaround
  64. 对于某些JAVA EE服务器,不支持HttpServletRequest调用getParameterMap()方法,此时可以设置该属性值为true来解决该问题。默认值是false。对于WebLogicOrionOC4J服务器,通常应该设置为true
  65. struts.freemarker.manager.classname
  66. 指定Struts 2使用的FreeMarker管理器。默认值是org.apache.struts2.views.freemarker.FreemarkerManager,这是Struts2内建的FreeMarker管理器。
  67. struts.xslt.nocache
  68. 指定XSLT Result是否使用样式表缓存。当应用处于开发间段时,通常被设置为true
  69. struts.configuration.files
  70. 指定struts2框架默认加载的配置文件,如果需要指定默认加载多个配置文件,则多个配置文件的文件名以英文逗号隔开。默认值为struts-default.xml,strust-plugin.xml,struts.xml

当然以上这些配置你同样可以写在struts.xml中

  1. <constant name="struts.custom.i18n.resources" value="Resource"/>
  2. .....

Struts2配置文件加载顺序

  1. struts-default.xml
  2. struts-plugin.xml
  3. struts.xml
  4. struts.properties
  5. web.xml

如果在配置文件中多次配置,最后加载的配置会覆盖前面的配置

从零打造在线网盘系统之Struts2框架配置全解析的更多相关文章

  1. 从零打造在线网盘系统之Struts2框架起步

    欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重 ...

  2. 从零打造在线网盘系统之Struts2框架核心功能全解析

    欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重 ...

  3. 从零打造在线网盘系统之Hibernate框架起步

    欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重 ...

  4. 从零打造在线网盘系统之SSH框架整合

    欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重 ...

  5. 从零打造在线网盘系统之Hibernate配置O/R映射

    欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重 ...

  6. 从零打造在线网盘系统之Hibernate查询与更新技术

    欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重 ...

  7. SSH教程从零打造在线网盘系统前言&目录

    本系列教程内容提要 本系列教程是一个学习教程,是关于Java工程师的SSH(Struts2+Spring+Hibernate)系列教程,本教程将会分为四个部分和大家一同打造一个在线网盘系统,由于教程是 ...

  8. vue+nodejs+express+mysql 建立一个在线网盘程序

    vue+nodejs+express+mysql 建立一个在线网盘程序 目录 vue+nodejs+express+mysql 建立一个在线网盘程序 第一章 开发环境准备 1.1 开发所用工具简介 1 ...

  9. Layui框架+PHP打造个人简易版网盘系统

    网盘系统   大家应该都会注册过致命的一些网盘~如百度云.百科介绍:网盘,又称网络U盘.网络硬盘,是由互联网公司推出的在线存储服务,服务器机房为用户划分一定的磁盘空间,为用户免费或收费提供文件的存储. ...

随机推荐

  1. 【转】7Z命令行解压缩

    7z.exe在CMD窗口的使用说明如下: 7-Zip (A) 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06 Usage: 7za <co ...

  2. am335x mux配置

    /**************************************************************** * am335x mux配置 * * am335x的引脚复寄存器是C ...

  3. 类加载器详解 (转至http://blog.csdn.net/jiangwei0910410003/article/details/17733153)

    首先来了解一下字节码和class文件的区别: 我们知道,新建一个java对象的时候,JVM要将这个对象对应的字节码加载到内存中,这个字节码的原始信息存放在classpath(就是我们新建Java工程的 ...

  4. perl 面向对象编程

    今天看到一个perl面向对象编程的例子,充分体现了如何对数据进行封装: 自己模仿写一个读取配置文件的例子, 配置文件的内容如下 samtools_binary = /usr/bin/samtools ...

  5. opengl 模板测试 glStencilOp glStencilFunc

    下面来设置蒙板缓存和蒙板测试. 首先我们启用蒙板测试,这样就可以修改蒙板缓存中的值. 下面我们来解释蒙板测试函数的含义: 当你使用glEnable(GL_STENCIL_TEST)启用蒙板测试之后,蒙 ...

  6. mysql分组取每组大的记录

    SELECT a.* FROM chat_log a INNER JOIN (SELECT MAX(id) id,to_user FROM chat_log GROUP BY to_user)b ON ...

  7. asp.net DropDownList实现二级联动效果

    1.在aspx页面中,拖入两个DroDownList控件,代码如下: <div>   <asp:DropDownList ID="s1" runat=" ...

  8. C#委托和事件详解

    委托Delegate delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类.与其它的类不同,delegate类能够拥有一个签名(signature),并且它"只能持 ...

  9. 删除C盘垃圾文件bat

    @ECHO OFF@echo 此批处理由59互联(http://www.59.cn)整理发布@echo @echo 清理几个比较多垃圾文件的地方DEL /F /S /Q "C:\WINDOW ...

  10. C#导出Excel按照指定格式设置单元格属性值

    最近项目中一直在写XML.Table.Excel之间的转化.之前一直都是不考虑格式的导出,今天给出一个格式,让按照格式导出,还真把我这新手为难了一翻,网上给出的资料基本一样.为了一个单元格文字变色纠结 ...