struts2中<welcome-file>index.action</welcome-file>直接设置action,404的解决方案

这几天的项目页面的访问全部改为.action访问,在修改首页时遇到了问题。将web.xml文件中<welcome-file>index.action</welcome-file>修改成这样,访问首页时报404错误,也就是说文件找不到。上网查了有两种解决方法。 
    方法一、在WebRoot下新建一个index.action空文件,这个方法简单实用,强烈推荐。 
   方法二、因为 welcome-file 必须是实际存在的文件,不能是action或者servlet路径你可以设置一个 比如 <welcome-file>goindex.jsp</welcome-file>,然后 goindex.jsp 写 <jsp:forward page="index.action" /> 就行了。意思就是借助一个jsp页面来转发请求进入action。

方法三:在index.html中使用META重定向。

操作:<META HTTP-EQUIV="Refresh" CONTENT="0;URL=max/HelloWorld.action">

其中,

content="1 是时间控制,表示1秒后自动跳转到要跳转的页面. 
content="0 表示打开该页后立即跳转到你要跳转的页面. 
url 是要跳转的路径

——————————————————————————————————————————————

在struts2中还很特别:

原因:

因为struts2采用过滤器的方式处理请求,默认情况时监控url地址的变化

必须如下操作:

第一步:
web.xml中修改
<filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern >/*</url-pattern>
  <dispatcher>REQUEST</dispatcher> 
  <dispatcher>FORWARD</dispatcher>   
</filter-mapping>
第二步:
web.xml中添加
<welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
第三步:
首页跳转语句
index.jsp内容如下:
<jsp:forward page="HelloWorld.action"></jsp:forward>

或者采用方法三!!!

来自:http://blog.sina.com.cn/s/blog_4b5bc0110100yrn2.html

struts2中<welcome-file>index.action</welcome-file>直接设置action,404的解决方案,布布扣,bubuko.com

时间: 2024-09-30 04:39:00

struts2中<welcome-file>index.action</welcome-file>直接设置action,404的解决方案的相关文章

关于Struts2中的错误:例如There is no Action mapped for namespace / and action name product-input.

            在配置struts.xml 文件时,会出现    There is no Action mapped for namespace / and action name ....    意思是没有product-input的映射文件或者是命名空间       出现这样的错误的原因后:     做如下检查:           1: 把struts.xml中的namespace="/"改成namespace=""或者去除,使用默认的命名空间. 2:

Struts2中Action的数据如何获取的

引言 我们在使用struts2的时候,发现只要实现一个和 用户表单相对应的Action那么我们就可以在execute()方法中直接使用该请求的参数,存放在request域中的数据是谁帮我们完成了和Action中的对应哪?以及他们是如何对应的哪? 对于第一个问题大家都可能已经知道这位好人就是拦截器,我们的request域中存放的参数,已经由拦截器帮我们映射完毕了,那么下边就看一下是怎么映射的. 基本的数据对应方式 Struts2中提供了两种页面数据和Action对应的方式:属性驱动(FieldDr

struts2中struts.xml配置文件详解【未整理】

1.    深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1.    包配置: Struts2框架中核心组件就是Action.拦截器等,Struts2框架使用包来管理Action和拦截器等.每个包就是多个Action.多个拦截器.多个拦截器引用的集合. 在struts.xml文件中package元素用于定义包配置,每个package元素定义了一个包配置.它的常用属性有: l name:必填属性,用来指定包的名字. l extends:可选属性,用来指定该包继承

Struts2中的valuestack

值栈(ValueStack) Struts2将OGNL上下文设置为Struts2中的ActionContext(内部使用的仍然是 OgnlContext),并将值栈设为OGNL的根对象. 我们知道,OGNL上下文中的根对象可以直接访问,不需要使用任何特殊的“标记”, 而引用上下文中的其他对象则需要使用“#”来标记.由于值栈是上下文中的根对 象,因此可以直接访问.那么对于值栈中的对象该如何访问呢?Struts2提供了一 个特殊的OGNLPropertyAccessor,它可以自动查找栈内的所有对象

struts2中如何根据请求路径定位到详细的访问action

在struts2中在访问一个菜单链接时,我们只需要将相应的package 命名空间和 action的name进行组合,并加上相应的后缀,就可以直接访问到相应的Action了,那么这个过程是如何进行的,多个相同命名空间的 package是如何满足互不冲突的呢,这就需要详细了解struts2中是如何解析路径信息,并根据访问路径寻找相应的action配置了. 整个过程我们可以分成以下几个步骤进行处理 解析xml,将所有可以访问到的路径信息进行保存 根据访问请求信息,取其中可用的路径 根据路径进行查找,

Struts2中Action的动态调用方法

在Struts2中,Action执行的时候并不一定要执行execute,我们可以指定Action执行哪个方法,下面分别介绍三种方法来指定Action执行哪个方法: 1.第一种方法,通过Action里的method属性指定执行方法,我们可以在struts.xml配置文件中配置Action的时候用method="   " 来指定执行的哪个方法. (1).接下来附上一个例子,通过第一种方法来指定执行方法,首先,复制一个已经搭建好struts2环境的web项目,这里我们复制ActionTest

struts2中的action标签

struts2中的action标签用于在JSP页面中直接调用一个Action,通过指定executeResult参数,还可以将该Action的处理结果包含到本页面中来. 使用action标签可以允许JSP页面直接调用Action,因为需要调用Action,故可以指定需要被调用的Action的name以及namespace.如果指定了executeResult参数的值为true,该标签还会把Action中处理的结果包含到本页面中来.使用action标签有如下的几个属性: id:          

Struts2中jsp前台传值到action后台的三种方式以及valueStack的使用

struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: 1 <form action="login" method="post"name="form1"> 2 3 4 用户名:<s:textfieldname="username"/><br/> 5 密 码:<s:passwordname="password"/>&l

【转-整理】Struts2中package,action,result,method配置详解

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 <struts> 6