我正在为项目需求学习 Struts 2,但遇到了一些问题。
在本教程之后:
http://www.mkyong.com/google-app-engine/google-app-engine-struts-2-example/
我做了额外的事情:
- 在 war 文件夹中添加了一个 index.jsp
将 web.xml 更改为
<?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <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> <listener> <listener-class>com.mkyong.listener.Struts2ListenerOnGAE</listener-class> </listener> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
现在,当我重建和加载
http://localhost:8888
而不是看到我应该在我的 index.jsp 中的内容,我得到了一个
Error 404 There is no Action mapped for namespace [/] and action name [] associated with context path [].
有人可以指出我正确的方向吗?我在 SO 中看到了一些其他类似的问题,但他们的解决方案不适用于 Struts 2 + GAE 的这个特定示例。
我的 struts.xml
<struts>
<package name="user" namespace="/User" extends="struts-default">
<action name="Login">
<result>pages/login.jsp</result>
</action>
<action name="Welcome" class="com.mkyong.user.action.WelcomeUserAction">
<result name="SUCCESS">pages/welcome_user.jsp</result>
</action>
</package>
</struts>
文件夹结构
我不能发布图片所以, http: //i.imgur.com/KSPmaMr.png
用于下载的完全相同的库