struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml"></include>
//cjhstruts.xml //省略
<include file="cjhstruts.xml"></include> <!-- 引用加一个xml文件(这样在一个大的项目中如果action太多,可以分模块放) -->
<!-- package中的namespace表示命名空间如果设置了,刚在页面用搞用??.action要加上 命名空间/??.action 比如 mm/test1.action-->
<package name="test" extends="struts-default"> <!-- extends:表示继承父类struts-default -->
<interceptors>
<!-- 定义拦截器 所定义的类要继承AbstractInterceptor类 -->
<interceptor name="interceptor1" class="com.yysoft.interceptors.Interceptors1"></interceptor>
<interceptor name="methodFilterInterceptor1" class="com.yysoft.interceptors.MethodFilterInterceptor1">
<!-- exculdeMethods:是不被拦截的方法,如果有多个以逗号分隔。
includeMethods:需要被拦截的方法,如果有多个以逗号分隔。-->
<!--<param name="exculdeMethods">execute</param>-->
<!--<param name="includeMethods">execute</param>-->
</interceptor>
<interceptor-stack name="mydefalut"> <!-- 定义默认拦截器 mydefalut为固定的 -->
<interceptor-ref name="defaultStack"></interceptor-ref> <!-- struts默认的 defaultStack为固定的-->
<interceptor-ref name="interceptor1" /> <!-- 需求添加的默认拦截器 -->
</interceptor-stack>
</interceptors>
<!-- 定义全局的反回页面 -->
<global-results>
<result name="error">/error.jsp</result>
</global-results>
<!-- 说明用,没有作用 -->
<!--<global-results>
<result name="mainMenu" type="redirect">mainMenu.html</result>
<result name="dataAccessFailure">pages/dataAccessFailure.jsp</result>
</global-results>-->
<!--定义异常处理 exception指定异常 result当发生该异常时进放到那个页面进行处理 -->
<!--<global-exception-mappings>
<exception-mapping exception="org.springframework.dao.DataAccessException" result="dataAccessFailure"/>
</global-exception-mappings>-->
<action name="test1" class="com.yysoft.action.Test1Action" method="execute">
<!--<interceptor-ref name="interceptor1"></interceptor-ref>-->
<!--<interceptor-ref name="methodFilterInterceptor1"></interceptor-ref>-->
<!--<interceptor-ref name="defaultStack"></interceptor-ref>-->
<result name="success">/success.jsp</result>
<result name="failure" type="redirect">/failure.jsp</result>
<result name="login" type="redirect">/failure.jsp</result> <!-- 当登录出错时返回到这 return Action.LOGIN; -->
</action>
<action name="test2" class="com.yysoft.action.Test2Action">
<result name="success">/success.jsp</result>
<result name="failure" type="redirect">/failure.jsp</result>
</action>
<action name="validate" class="com.yysoft.action.ValidateAction">
<result name="success">/validateOK.jsp</result>
<result name="failure">/validateNO.jsp</result>
<result name="input">/validateNO.jsp</result>
</action>
</package>
</struts>
以下是所配置的action
一:最简单的action
package com.yysoft.action;
public class Test1Action {
private int t1id;
private String t1name;
public int getT1id() {
return t1id;
}
public void setT1id(int t1id) {
this.t1id = t1id;
}
public String getT1name() {
return t1name;
}
public void setT1name(String t1name) {
this.t1name = t1name;
}
public String execute(){
System.out.println("成功进入..."+t1id+" "+t1name);
if(t1name.length()>5){
System.out.println("长度大于5");
return "success";
}else{
System.out.println("长度小于或等于5");
return "failure";
}
}
}
二:再bean属性的action
public class Test2Action {
Users us;
public Users getUs() {
return us;
}
public void setUs(Users us) {
this.us = us;
}
public String execute(){
if(us.getUname().length()>5){
System.out.println("长度大于5");
return "success";
}else{
System.out.println("长度小于或等于5");
return "failure";
}
}
}
三:取得请求对象的action
public class Test3Action {
private String cc;
public void setCc(String cc) {
this.cc = cc;
}
public String getreq(){
ActionContext ac=ServletActionContext.getContext();
Map mapapplication = ac.getApplication();
Map mapsession = ac.getSession();
Map mapparam=ac.getParameters();
HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
String reqid=request.getParameter("reqid");
String reqname=request.getParameter("reqname");
Object objcjh=mapsession.get("cjh");
Object objchen=mapsession.get("chen");
Object objo=mapsession.get("ok");
System.out.println("reqid"+reqid);
System.out.println("reqname"+reqname);
System.out.println("objcjh"+objcjh);
System.out.println("objchen"+objchen);
System.out.println("objo"+objo);
System.out.println("cc:"+cc);
return "success";
}
}
四:另一种取得请求对象的action
public class Test4Action implements ServletRequestAware, ServletResponseAware,
ApplicationAware, SessionAware {
Map mapsession,mapapplication;
ServletRequest request;
ServletResponse response;
public void setServletRequest(HttpServletRequest req) {
this.request=req;
}
public void setServletResponse(HttpServletResponse res) {
this.response=res;
}
public void setApplication(Map app) {
this.mapapplication=app;
}
public void setSession(Map sess) {
this.mapsession=sess;
}
public String gettest4(){
System.out.println("");
String reqid=request.getParameter("reqid");
String reqname=request.getParameter("reqname");
Object objcjh=mapsession.get("cjh");
Object objchen=mapsession.get("chen");
Object objo=mapsession.get("ok");
System.out.println("reqid"+reqid);
System.out.println("reqname"+reqname);
System.out.println("objcjh"+objcjh);
System.out.println("objchen"+objchen);
System.out.println("objo"+objo);
return "success";
}
public String gettest4_1(){
System.out.println("进放到gettest4_1");
return "success";
}
}
五:拦截器
public class Interceptors1 extends AbstractInterceptor{
//定义一个拦截器
@Override
public void init() {
System.out.println("初始化拦截器");
super.init();
}
@Override
public String intercept(ActionInvocation actionInvocation) throws Exception {
System.out.println("进入到拦截器Interceptors1.java");
Map session = actionInvocation.getInvocationContext().getSession();
ServletRequest request=ServletActionContext.getRequest();
System.out.println(request.getParameter("t1id"));
System.out.println(request.getParameter("t1name"));
Object c=session.get("c");
if(c!=null){
System.out.println(c.toString());
return actionInvocation.invoke(); //进行后续操作。
}else{
System.out.println(Action.LOGIN);
return Action.LOGIN;
}
}
@Override
public void destroy() {
System.out.println("销毁拦截器");
super.destroy();
}
}
分享到:
相关推荐
在深入探讨Struts2.0框架中的`struts.xml`配置文件之前,我们先来了解一下Struts2.0框架的基本概念。Struts2是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用...
"Struts2 中 Struts.xml 配置文件详解" Struts2 中的 Struts.xml 配置文件是 Struts2 框架的核心配置文件,用于定义应用程序的行为和结构。在 Struts.xml 文件中,我们可以定义 package、action、interceptor、...
### Struts struts-config.xml配置详解 #### 一、引言 在Java Web开发领域,Struts框架一直是构建MVC架构应用的重要工具之一。而`struts-config.xml`配置文件则是Struts应用的核心配置文件,它负责管理Struts应用中...
Struts-config.xml 配置文件详解 Struts-config.xml 是 Struts 框架的主要配置文件,用于配置 Struts 应用程序的各种设置。在该文件中,可以配置数据源、Form Bean、Action 和插件等信息。下面是 Struts-config.xml...
### web.xml配置文件详解 #### 一、概述 `web.xml`是Java Web应用程序的核心配置文件之一,主要用于定义Web应用程序的结构与行为。它是Servlet容器(如Tomcat)读取Web应用程序配置信息的主要来源,因此深入理解其...
struts1 中 web.xml 配置详解 struts1 框架是一种基于 Java 语言的 Web 应用程序开发框架,它提供了一个灵活的、可扩展的框架来开发基于 Web 的应用程序。在 struts1 框架中,web.xml 文件是必不可少的配置文件之一...
### Struts框架中struts-config.xml文件配置详解 #### 一、引言 在Java Web开发领域,Struts是一个非常重要的MVC(Model-View-Controller)框架,它极大地简化了Web应用程序的开发过程。而在Struts框架中,`struts...
- 创建`struts.xml`配置文件,这是Struts 2的核心配置文件,用于定义动作(Action)、结果(Result)以及拦截器链。 6. **配置文件详解**: - `web.xml`中,`<filter>`元素定义了名为`struts2`的过滤器,`...
4. **配置文件详解**:Struts2的配置文件通常为struts.xml,用于定义Action、结果类型、拦截器栈等。通过配置文件,开发者可以灵活地指定URL到Action的映射、Action的执行流程等。 5. **OGNL表达式语言**:OGNL...
- 创建`struts.xml`配置文件,配置Struts2.0的拦截器、Action和Result类型。 - 在`web.xml`中配置Struts2.0的前端控制器Filter。 - 设定FreeMarker的配置,包括模板路径、编码格式等。 - 创建FreeMarker模板文件...
Struts2的Struts.properties配置文件详解 Struts2是一个基于MVC模式的Web应用程序框架,它提供了一个名为Struts.properties的配置文件,该文件用于配置Struts2的各种参数和设置。下面将对Struts.properties配置文件...
在Struts中,`struts.xml`和`struts.properties`文件是两个核心的配置文件,它们分别负责定义应用的行为和设置全局属性。 **`struts.xml`配置详解** `struts.xml`是Struts 2框架的核心配置文件,用于定义动作映射...
Struts.xml文件是Apache Struts 2框架的核心配置文件,它用于定义应用程序的行为、Action映射、结果页面、拦截器等关键组件。在深入讲解struts.xml之前,我们先来了解与之相关的struts.properties文件。 struts....
### Struts.xml配置文件详解 #### 一、Struts配置文件概述 在Struts框架中,`struts.xml`配置文件扮演着极其重要的角色。它主要用于定义应用中的各种配置信息,包括但不限于包(Package)、拦截器(Interceptor)...
Struts的配置文件通常命名为struts-config.xml,它是整个Struts应用的核心配置文件,通过定义一系列的XML元素来设定框架的不同功能和行为。下面将详细介绍struts-config.xml中8个主要配置元素的功能和使用方法。 1....
`struts2.0中struts.xml配置文件详解.docx`深入解析了Struts2的核心配置文件`struts.xml`,该文件定义了Action、Result、Interceptor栈等关键元素,是控制流程的中心。通过学习这份文档,开发者可以了解如何配置...
struts自动加载的一个配置文件列表 struts.configuration.xml.reload Whether to reload the XML configuration or not 是否加载xml配置(true,false) struts.continuations.package The package containing ...
这个strut-config配置详解是韩顺平老师指定的 很多同学都看过韩老师的视频或者上过韩老师的课程吧