读书人

啊纠结啊(Struts2)

发布时间: 2013-03-06 16:20:31 作者: rapoo

求救啊,纠结啊。。。。(Struts2)
各位帮我看看我这样的配置 有木有啥问题。我是看马士兵的视频,然后复制过来的(至于复制的文件,有错误,我也不知道,下面列出了我的xml jsp 文件)
当我输入http://localhost:8080/Struts2_0200_Namespace/front/index
为何显示不了呢 提示HTTP Status 404 - /Struts2_0200_Namespace/front/index 错误!!!

我刚刚接触框架,表示很补懂,求各位教教我丫


<?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="front" extends="struts-default" namespace="/front">
<action name="index">
<result>/Namespace.jsp</result>
</action>
</package>

<package name="main" extends="struts-default" namespace="">
<action name="index">
<result>/Namespace.jsp</result>
</action>
</package>

</struts>


这是我的struts.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>


这是我的web.xml文件

<?xml version="1.0" encoding="GB18030" ?>
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
<title>Insert title here</title>
</head>
<body>
namespace决定了action的访问路径,默认为"",可以接收所有路径的action<br />
namespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/index.action,
/xxx/index.action,或者/xxx/yyy/index.action.<br/>
namespace最好也用模块来进行命名
</body>
</html>


这是的我jsp文件


[解决办法]
url路径不对

穷举法都可以试出来

[解决办法]
索引有问题吧intex
[解决办法]
马士兵又在害人了。。。害了不少人。。。
[解决办法]
http://localhost:8080/Struts2_0200_Namespace/front/index 这个有问题吧,我不确定,你试下吧!

/front 为命名空间

struts.xml文件
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

过滤的是是对 /*

所以你改成这个:http://localhost:8080/Struts2_0200_Namespace/front/index.action

尝试一下吧!


[解决办法]
提示HTTP Status 404 - /Struts2_0200_Namespace/front/index 错误!!!

明显路径不对的!
[解决办法]
部署的项目名是否正确。。。好好检查一下。。。怀疑你部署的实际项目名不对。。。
[解决办法]
把你的目录结构和tomcat的部署的项目名发上来
[解决办法]
记得默认的是http://localhost:8080/Struts2_0200_Namespace/front/index.action
应该是.action了
你试试在你的struts.xml中配置这样一个试试
在packge便签外面添加这样一句了
<constant name="struts.action.extension" value="do,action"></constant>
这个表示是说你请求的时候可以用http://localhost:8080/Struts2_0200_Namespace/front/index.do或者
http://localhost:8080/Struts2_0200_Namespace/front/index.action来跳转到action中

[解决办法]
哈哈!!两眼泪汪汪呀!
[解决办法]

引用:
引用:

url路径不对

穷举法都可以试出来


试过了 url 没问题

404就是表示了该URL定位的资源找不到
[解决办法]
应该是action访问没问题的,不然会报struts problem的,看下你的jsp路径有没有问题吧
[解决办法]
xml 如何进行扩展和自定义标签

[解决办法]
<result>/Namespace.jsp</result>
这个地方都没有返回结果,就没有办法跳转到对应的页面吧!
<result name="XXXX">/Namespace.jsp</result>
XXX表示后台action代码中return的返回值。


[解决办法]
右键工程-》properties-》找到myeclipse下的web-》看右边的web context root是否正确
[解决办法]

我怀疑是不是忘记加了.jsp
因为你的项目欢迎页面是xml里面配置的 index.jsp

[解决办法]
你的端口有没有被你修改

读书人网 >J2EE开发

热点推荐