请教下关于struts2配置的问题 实在找不到是哪里错了

ocomeon 2008-07-26 09:05:17
我刚开始学习struts2 今天做了个简单的login.jsp的测试页面,老是出现404错误找不到响应的页面,我估计是配置问题 但是花了几个小时,也参照网上的资料,还是成功不了,实在是没办法了,求各位指教一下:
login.jsp
......

<body>
<form action="login.action" method="post">
uesrname:<input type="text" name="username"><br>
password:<input type="password" name="password"><br>
<input type="submit" name="submit" value="提交">

</form>
</body>
......

result.jsp
......
<body>
username:${requestScope.username}
password:${requestScope.password}
</body>
......
相应的LoginAction // struts2 后的action 不用像struts1继承相应的类吗?
package com.test.action;

public class LoginAction {
......
}

配置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>
<package name="struts2" extends="struts-default">

<action name="login" class="com.test.action.LoginAction">
<result name="success">/result.jsp</result>


</action>
</package>
</struts>

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

我通过 http://127.0.0.1:8080/struts2/login.jsp 可以访问login.jsp 页面,点提交按钮后,出现404错误:The requested resource (/struts2/login.action) is not available. 请各位给我指教下我的配置有问题吗 ?另外请请有经验的高手给我点相关建议 谢谢谢谢

环境:jdk 1.6 tomcat 5.5 myeclipse 6.0
...全文
351 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
failure_lee 2011-07-08
  • 打赏
  • 举报
回复
这个问题也弄了我挺久,后来发现是struts.xml配置有两个字母换了位置,所以一定要检查清楚,必须所有配置都对,错一个就全错了。
蚂蚁fuck大象 2011-05-25
  • 打赏
  • 举报
回复
到底有没有人解决了啊
zhangfei2007cumt 2009-11-01
  • 打赏
  • 举报
回复
跟我的问题一模一样。请问你问题解决了吗?#5楼的也不对我试过了#8楼的跟离谱。
mis2007 2008-11-18
  • 打赏
  • 举报
回复
有没有解决呢?
sunmajia 2008-07-27
  • 打赏
  • 举报
回复
<form action="login.action" method="post"> 改为<form action="login.html" method="post">
zidasine 2008-07-27
  • 打赏
  • 举报
回复
没有看出问题
// struts2 后的action 不用像struts1继承相应的类吗?
可以是一个pojo 也可以继承ActionSupport 也可以实现Action 接口 ActionSupport 实现了Action接口
GeomaticMm 2008-07-27
  • 打赏
  • 举报
回复
回复6楼的:
页面那每问题,struts2里的url后缀默认是action,也可以是jspa,这个可以struts.properties里配置
如果想省略后缀,可以使用struts2里提供的form标签
song040725 2008-07-27
  • 打赏
  • 举报
回复
login.jsp
......

<body>
<form action="login.action" method="post">


<struts>
<package name="struts2" extends="struts-default">

<action name="login" class="com.test.action.LoginAction">
<result name="success">/result.jsp </result>

看下你的配置,struts.xml里面name="login",但你jsp页面提交的却是action="login.action".




GeomaticMm 2008-07-27
  • 打赏
  • 举报
回复
看了下 首先 你的struts.xml文件中有问题,<struts>节点下面必须包含<include file="struts-default.xml"></include>
因为struts-default.xml文件中定义了bean,result,interceptor等内容,而且,你的package节点是继承自struts-dafault包的
就是<package extends="struts-default">这句,因为struts-default这个包是在struts-default.xml文件中定义的,
所以在项目启动时,因为你的struts.xml文件里没有不合语法的地方,所以解析时没问题,login.jsp页面可以访问,但是当提交请求
到login.action这个url时,框架会找name属性为login的action节点,这个时候,要读取继承的包struts-default的配置,但是文件
没有被包含进来,所以出错了。
ocomeon 2008-07-26
  • 打赏
  • 举报
回复
郁闷 还是出现 :The requested resource (/struts2/login.action) is not available
究竟是什么原因。。。
配置的好象都对啊
是不是对TOMCAT 和JDK 版本有要求啊
zhj92lxs 2008-07-26
  • 打赏
  • 举报
回复
没看出来
guazixing 2008-07-26
  • 打赏
  • 举报
回复
action类还是继承一下 ActionSupport吧,这样配置比较简单。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧