为什么加了filter的struts2就找不到jsp页面?不加就没问题,求解

jlu_lamp_lamp 2012-05-28 05:41:24
前两天试了一下用纯手动建一个struts2的登录,在web.xml里面加了filter后就会有404错误(找不到jsp),去掉就没有问题,可以正常显示,后台tomcat也没有报错,我奇怪了好几天了,各位帮我看看是什么地方出了问题,我怀疑是路径有问题,但是不知道哪里有问题。我实在看不出问题在哪里,多谢了。



目录结构是:
StrutsDemo
---login.jsp
---success.jsp
---error.jsp
---WEB-INF
---web.xml
---lib
---src
---classes
---abc
---LoginAction.class
---struts.xml


login.jsp的代码是:

 

<%@ page contentType="text/html;charset=gbk"%>


<html>
<body>
<form action="login.action">
<input type="text" name="username"/>
<br/>
<input type="password" name="password"/>
<br/>
<input type="submit" value="登陆"/>
</form>
</body>
</html>





web.xml是代码是:(filter-class是org.apache.struts2.dispatcher.FilterDispatcher也试过了不行)

 

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"
metadata-complete="true">

<filter>
<filter-name>s2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>s2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>





lib目录下有9个文件:
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
freemarker-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.5.jar
struts2-core-2.3.3.jar
xwork-core-2.3.3.jar

src目录里面只是一些原文件



struts.xml的代码是:(namespace要不要效果都是一样,都是404找不到jsp)

 

<?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>
<package name="default" extends="struts-default" namespace="/">
<action name="login" class="abc.LoginAction">
<result>/success.jsp</result>
</action>
</package>
</struts>





LoginAction.class是一个LoginAction.java编译后的文件,是一个POJO类,这里我没用继承ActionSupport类或实现Action接口,因为都是一样的,本身是一个POJO类就可以,也不是这个问题导致的404找不到jsp



 

package abc;

public class LoginAction
{
String username;
String password;



public LoginAction()
{}



public void setUsername(String username)
{
this.username = username;
}


public String getUsername()
{
return username;
}



public void setPassword(String password)
{
this.password = password;
}


public String getPassword()
{
return password;
}



public String execute()
{
if(username.equals("") || username == null)
{
return "error";
}
else
{
return "success";
}
}
}


...全文
345 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
willschang 2012-12-06
  • 打赏
  • 举报
回复
引用 5 楼 jlu_lamp_lamp 的回复:
帖子写的时候和发布的时候格式完全不一样,代码都没有显示出来,目录结构也变成平行了 是我的包添加少了,找到问题了,每个struts版本都不一样 谢谢各位了
还要添加哪些包呢?
jlu_lamp_lamp 2012-05-29
  • 打赏
  • 举报
回复
帖子写的时候和发布的时候格式完全不一样,代码都没有显示出来,目录结构也变成平行了
是我的包添加少了,找到问题了,每个struts版本都不一样
谢谢各位了
昨日凡阳 2012-05-28
  • 打赏
  • 举报
回复
你就不能多贴一点代码。
jacksjjjacksjj 2012-05-28
  • 打赏
  • 举报
回复
这个应该是拦截器对页面或action拦截的问题 可以在struts中配置要拦截的后缀名
y_exception 2012-05-28
  • 打赏
  • 举报
回复
404页面截图能看到就好了~
古布 2012-05-28
  • 打赏
  • 举报
回复
404的话,肯定是URL配置的问题。

81,092

社区成员

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

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