日期:2014-05-20  浏览次数:20845 次

关于struts2的最基础问题~~~
这几天在看<<struts2权威指南>>,想学学struts2,问题来了~~我连最基本的helloworld都运行不了,老是报错说:
--------------------------------------------

type Status report

message /struts2qs/Login.action

description The requested resource (/struts2qs/Login.action) is not available.


--------------------------------------------
我的整个文件都是从随书光盘下复制过来的,因该没问题~~
我的环境是tomcat6.0+java5,究竟是什么问题啊???要是我没说清楚的话我再详细说~~~
决绝问题马上给分!!

------解决方案--------------------
最好能贴出struts.xml中的配置及对应的jsp(如果有的话)代码
------解决方案--------------------
你的Struts里面没有体现你的那个Login.action 啊?
把你Struts中的配置文件都调出来!
应该是你的路径写错了!
如果你请求的Action是Login.action的话就必须在配置文件"Struts-Config"中配置一样的action-mappings!

要是还不明白就把那个Struts-Config文件打出来!
------解决方案--------------------
给你看看我的配置:
xwork.xml
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">

<xwork>
<include file="webwork-default.xml" />
<package name="default" extends="webwork-default">
<interceptors>
<interceptor-stack name="modelParamsStack">
<interceptor-ref name="params" />
<interceptor-ref name="model-driven" />
</interceptor-stack>
</interceptors>
<action name="login"
class="com.dhcc.webwork.action.LoginAction">
<result name="success" type="dispatcher">
<param name="location">/main.jsp</param>
</result>
<result name="loginfail" type="dispatcher">
<param name="location">/index.jsp</param>
</result>
<interceptor-ref name="modelParamsStack" />
</action>
</package>
</xwork>

web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>webwork</display-name>
<filter>
<filter-name>webwork</filter-name>
<filter-class>
com.opensymphony.webwork.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>webwork</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<servlet>
<servlet-name>freemarker</servlet-name>
<servlet-class>
com.opensymphony.webwork.views.freemarker.FreemarkerServlet
</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>freemarker</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>

<taglib>
<taglib-uri>webwork</taglib-uri>
<taglib-location>/WEB-INF/webwork.tld</taglib-location>
</taglib>
</web-app>
希望对你有帮助
------解决方案--------------------
struts.xml

<action name= "GetBooks" class= "lee.GetBooksAction"> 
<result name= "login">/login.jsp</result> 
<result name= "success">/showBook.jsp</result>
</action> 

这里说明两个问题:
1.你在有一个lee.GetBooksAction里面有个GetBooks的方法。