读书人

求救啊纠结啊(Struts2),该如何解决

发布时间: 2012-03-23 12:06:21 作者: rapoo

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

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


XML code
<?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 code
<?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文件

Java code
<?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 没问题

[解决办法]
应该是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开发

热点推荐