第一次按照网上的教程,配置J2EE+struts2+helloworld,遇到了几个问题,自己解决方法参考下面:
(1)myeclipse中project名字前有红色感叹号的解决办法
最近一个项目开始开发时用的myeclipse6.0,后来同事使用了j2ee6的特性,在myeclipse6.0下没有j2ee6的jar,由于我的工作机上同时安装了myeclipse10.0,为了简单起见,就在myeclipse10.0上又checkout了一个project,但checkout出来后项目前有个红色感叹号,以前也没注意过这个问题,经查,是由于同事那边将原来框架中多余的jar给删除了,但jar的path路径更改后并没有提交,所以出现了这个问题,解决办法是在工程名上面右键,选择Properties->Java Build Path,把前面带红色感叹号的包删除就好了。
当然,如果jar缺少,需要重新导入。
(2)The requested resource (/jsp/LoginServlet) is not available
运行tomcat 提示如下错误: The requested resource () is not available的解决方案
有的人说:只需要修改Tomcat服务器中web.xml
<init-param>
<param-name>listings</param-name>
<param-value>false(将其该为true)</param-value>
</init-param>
但我改为true之后,还是出现同样的错误,所以,接着寻找答案,后来发现:有一个jar的文件没有导入到项目中
因此,必须将Struts 2的jar包复制到项目的WEB-INF/lib目录下,开发Struts 2框架至少需要的jar文件如下:
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.2.1.jar
当然,如果开发不同的项目需要的jar文件是不同的!
3. Struts2中关于"There is no Action mapped for namespace / and action name"的总结
今天在调试一个基础的Struts2框架小程序。总是提示"There is no Action mapped for namespace / and action name"的错误。上网查询后发现这是一个初学者经常碰到的问题,导致错误的原因主要有两种。总结如下:
一、struts.xml文件错误。这种错误又分为以下几种:1,struts.xml文件名错误。一定要注意拼写问题;2,struts.xml文件放置路径错误。一定要将此文件放置在src目录下。编译成功后,要确认是否编译到classes目录中;3,struts.xml文件内容错误。下面给出一个正确的struts.xml文件以供参考。注意背景色部分。
<?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="default" namespace="/" extends="struts-default">
<action name="login" class="com.wanggc.struts2.sample.Struts2Action">
<result name="success">/jsp/result.jsp</result>
</action>
</package>
</struts>
二、如果排除了struts.xml文件的问题,还有一种可能就是,在web.xml文件中的<welcome-file>信息中是否配置了自己工程的启动页面。如果没有配置,地址栏中要输入完成的url,如:http://localhost:8080/Struts2Sample/jsp/login.jsp,后面的资源详细信息不输入的时候也会报这个错误,我就是栽在这个问题上的(^_^)。