Struts2学习笔记(一)

一、下载依赖包

maven下载:

<dependency>

<groupId>org.apache.struts</groupId>

<artifactId>struts2-core</artifactId>

<version>x.x.x</version>

</dependency>

<!--注解-->

<dependency>

<groupId>org.apache.struts</groupId>

<artifactId>struts2-convention-plugin</artifactId>

<version>x.x.x</version>

</dependency>

 

集成spring下载

<dependency>

<groupId>org.apache.struts</groupId>

<artifactId>struts2-spring-plugin</artifactId>

<version>x.x.x</version>

</dependency>

 

 

二、struts2配置

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<!-- 把它设置为开发模式,发布时要设置为false -->

<constant name="struts.devMode" value="true" />

<!-- 设置在class被修改时是否热加载,发布时要设置为false -->

<constant name="struts.convention.classes.reload" value="true" />

<!-- 自动动态方法的调用,使用这个设置后可以这样调用:action!method -->

<constant name="struts.enable.DynamicMethodInvocation"

value="true" />

<!-- 指定jsp文件所在的目录地址 -->

<constant name="struts.convention.result.path"

value="/WEB-INF/content/" />

<!-- 使用struts-default默认的转换器,如果是rest的使用:rest-default,rest需要rest的jar插件 -->

<constant name="struts.convention.default.parent.package"

value="struts-default" />

<!-- 用于配置包名后缀。默认为action、actions、struts -->

<constant name="struts.convention.package.locators"

value="actions" />

<!-- 用于配置类名后缀,默认为Action,设置后,Struts2只会去找这种后缀名的类做映射 -->

<constant name="struts.convention.action.suffix"

value="Action" />

<!-- 设置即使没有@Action注释,依然创建Action映射。默认值是false。因为Convention-Plugin是约定优于配置的风格,

可以不通过注解根据预先的定义就能访问相应Action中的方法 -->

<constant name="struts.convention.action.mapAllMatches"

value="true" />

<!-- 自定义jsp文件命名的分隔符 -->

<constant name="struts.convention.action.name.separator"

value="-" />

<!-- 国际化资源文件名称 -->

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

<!-- 是否自动加载国际化资源文件 -->

<constant name="struts.i18n.reload" value="true" />

<!-- 浏览器是否缓存静态内容 -->

<constant name="struts.serve.static.browserCache"

value="false" />

<!-- 上传文件大小限制设置 -->

<constant name="struts.multipart.maxSize" value="-1" />

<!-- 主题,将值设置为simple,即不使用UI模板。这将不会生成额外的html标签 -->

<constant name="struts.ui.theme" value="simple" />

<!-- 编码格式 -->

<constant name="struts.i18n.encoding" value="UTF-8" />

 

 

<!-- include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件中 然后用include节点引用 -->

<include file="struts-default.xml"></include>

<!-- package提供了将多个Action组织为一个模块的方式 package的名字必须是唯一的 package可以扩展 当一个package扩展自

另一个package时该package会在本身配置的基础上加入扩展的package 的配置 父package必须在子package前配置 name:package名称

extends:继承的父package名称 abstract:设置package的属性为抽象的 抽象的package不能定义action 值true:false

namespace:定义package命名空间 该命名空间影响到url的地址,例如此命名空间为/test那么访问是的地址为http://localhost:8080/struts2/test/XX.action -->

<package name="com.kay.struts2" extends="struts-default"

namespace="/test">

<interceptors>

<!-- 定义拦截器 name:拦截器名称 class:拦截器类路径 -->

<!-- 定义拦截器栈 -->

<interceptor-stack name="mystack">

<!-- 以action执行时间的形式提供简单的分析信息。 -->

<interceptor-ref name="timer"></interceptor-ref>

<!-- 通过输出正在执行的action的名称提供简单的日志记录。 -->

<interceptor-ref name="logger"></interceptor-ref>

</interceptor-stack>

</interceptors>

 

<!-- 定义默认的拦截器 每个Action都会自动引用 如果Action中引用了其它的拦截器 默认的拦截器将无效 -->

<default-interceptor-ref name="mystack"></default-interceptor-ref>

 

 

<!-- 全局results配置 -->

<global-results>

<result name="input">/error.jsp</result>

</global-results>

 

<!-- Action配置 一个Action可以被多次映射(只要action配置中的name不同) name:action名称 class:

对应的类的路径 method: 调用Action中的方法名 -->

<action name="hello" class="com.kay.struts2.Action.LoginAction">

<!-- 引用拦截器 name:拦截器名称或拦截器栈名称 -->

<interceptor-ref name="timer"></interceptor-ref>

 

<!-- 节点配置 name : result名称 和Action中返回的值相同 type : result类型 不写则选用superpackage的type

struts-default.xml中的默认为dispatcher -->

<result name="success" type="dispatcher">/talk.jsp</result>

<!-- 参数设置 name:对应Action中的get/set方法 -->

<param name="url">http://www.sina.com</param>

</action>

</package>

</struts>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值