当前位置: 代码迷 >> Java Web开发 >> struts2的配置,该怎么处理
  详细解决方案

struts2的配置,该怎么处理

热度:2407   发布时间:2016-04-10 22:46:57.0
struts2的配置
从网上下载了一个简单的struts2的例子,导包,配置文件。编译没有问题,运行总是报错,404。我用的tomcat是apache-tomcat-6.0.37,导入的struts2包是struts-2.1.6。
这是我导入的包:commons-fileupload-1.2.1.jar
                            commons-io-1.3.2.jar
                            commons-logging-1.0.4.jar
                            freemarker-2.3.13.jar
                            ognl-2.6.11.jar
                            struts2-core-2.1.6.jar
                            xwork-2.1.2.jar
这是struts.xml:<action name="helloworld" class="wuwei.HelloWorldAction" method="execute">
                                    <result name="success">/WEB-INF/hello.jsp</result>
                        </action>
这是web.xml:<filter>
                                  <filter-name>myStruts2</filter-name>
                                  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
                         </filter>
                        <filter-mapping>
                               <filter-name>myStruts2</filter-name>
                               <url-pattern>/*</url-pattern>
                        </filter-mapping>
访问路径:http://localhost:8080/myStruts2/test/helloworld.action
有谁知道,可以替我解答一下,我折腾了好久没搞出来,感谢感谢!!!

------解决方案--------------------
你这项目名是什么?直接项目名+action
------解决方案--------------------
<result name="success">/WEB-INF/hello.jsp</result>
你的struts.xml中该action的空间的默认的吧,
两种解决方法,第一:不要把jsp放到WEB-INF目录下
第二:给空间命名。不使用默认命名。
------解决方案--------------------
第一:method="execute"不用设置,在HelloWorldAction里面设置就可以了。
第二: <result name="success">/WEB-INF/hello.jsp</result>,hello.jsp不能放在/WEB-INF/下,WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录,如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。所以你放在web-info下你是找不到的,就报找不到(404)的错误了;
明白了吗?
------解决方案--------------------
不知道你的开发环境是什么,先看tomcat启动时有无异常?项目是否正常启动?排除这些,再去看struts的配置问题
------解决方案--------------------
http://localhost:8080/myStruts2/helloworld.action访问这个吧。
不行的话http://localhost:8080/myStruts2访问这个试试,如果还显示404,说明struts2配置错了
  相关解决方案