![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
Struts2中修改了web.xml之后运行起来会抛404错误,但是保持默认代码就可以显示JSP页面。
运行环境:MyEclipse6.5,Tomcat6.0,Struts2,在网上下载了Struts2的包2.0.14。解压缩后把5个jar包导入MyEclipse当前项目的...
运行环境:
MyEclipse6.5,Tomcat6.0,Struts2,在网上下载了Struts2的包2.0.14。解压缩后把5个jar包导入MyEclipse当前项目的lib文件夹下(分别是common-logging,freemarker,ognl,struts2-core和xwork).
然后创建一个login.jsp,非常简单的,只设置了一个用户名和密码的输入框,其中form表单是这么写的:
<form action="login.action" method="post" >
username:<input type="text" name="username"><br>
password:<input type="password" name="password"><br>
<input type="submit" value="submit">
</form>
此时在浏览器中输入:http://localhost:8080/struts2-1/login.jsp是可以显示用户名和密码框的。
再然后配置web.xml,也很简单的,代码如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispacher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
最后配置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>/result.jsp</result>
</action >
</package>
</struts>
其中result.jsp是显示登陆成功的页面的,就一句话很简单,就不写了。
现在的问题就是如果把web.xml中的代码保留初始状态,就是这样子:
<?xml version="1.0" encoding="UTF-8"?>
<?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">
</web-app>
这样再在浏览器中输入就可以显示login.jsp的内容了,虽然点了submit按钮会出错,但至少第一步还是可以实现的。但只要在web.xml中配置了过滤器就会出现问题。
我是新手,这个问题弄得我实在很郁闷,在知道上查了很多也没找到合适的办法。希望有大侠帮助小女啊!小女不胜感激!
木有财富了,不过这几天我都在努力地积累财富,如有大侠帮小女解决此问题,小女愿献出所有财富悬赏! 展开
MyEclipse6.5,Tomcat6.0,Struts2,在网上下载了Struts2的包2.0.14。解压缩后把5个jar包导入MyEclipse当前项目的lib文件夹下(分别是common-logging,freemarker,ognl,struts2-core和xwork).
然后创建一个login.jsp,非常简单的,只设置了一个用户名和密码的输入框,其中form表单是这么写的:
<form action="login.action" method="post" >
username:<input type="text" name="username"><br>
password:<input type="password" name="password"><br>
<input type="submit" value="submit">
</form>
此时在浏览器中输入:http://localhost:8080/struts2-1/login.jsp是可以显示用户名和密码框的。
再然后配置web.xml,也很简单的,代码如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispacher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
最后配置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>/result.jsp</result>
</action >
</package>
</struts>
其中result.jsp是显示登陆成功的页面的,就一句话很简单,就不写了。
现在的问题就是如果把web.xml中的代码保留初始状态,就是这样子:
<?xml version="1.0" encoding="UTF-8"?>
<?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">
</web-app>
这样再在浏览器中输入就可以显示login.jsp的内容了,虽然点了submit按钮会出错,但至少第一步还是可以实现的。但只要在web.xml中配置了过滤器就会出现问题。
我是新手,这个问题弄得我实在很郁闷,在知道上查了很多也没找到合适的办法。希望有大侠帮助小女啊!小女不胜感激!
木有财富了,不过这几天我都在努力地积累财富,如有大侠帮小女解决此问题,小女愿献出所有财富悬赏! 展开
展开全部
请问下你这个问题怎么解决的,我也是这个问题,现在不知道则么弄了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我用的是struts2.2.1 版本的
导入的是7个jar包
我按照你所写的步骤做了一遍
是ok的...
你的struts.xml中的com.test.action.LoginAction你的项目中写了吗?
导入的是7个jar包
我按照你所写的步骤做了一遍
是ok的...
你的struts.xml中的com.test.action.LoginAction你的项目中写了吗?
更多追问追答
追问
com.test.action.LoginAction写了的,很简单,只是一个JavaBean,有用户名和密码两个属性,还有相对的getXXX()和setXXX()方法,除此之外还有一个execute()方法,代码如下:
public String execute() throws Exception{
return "success";
}
上面那些也是看一个教学视频跟着人家做的。本来应该没问题的,可是就是不行。
追答
啊...我找到了,你的单词写错了.....org.apache.struts2.dispatcher.FilterDispatcher..
这种情况你可以使用快捷方式:.ctrl+shift+T 然后输入你要找的类,在复制上面的类全路径就ok了,这样不会出错.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询