写这个小案例的时候,出现了以下错误:现在与大家分享以下:
1. 通常applicationContext.xml,就是apring的配置文件应该放在WEB-INF的目录的下面,不然会出现一些很奇怪的问题
2. 要引入那个struts2-spring-plugin.XXX.jar这个整合包,不然会报错
3. 将项目部署到tomcat的时候,就会报内存溢出的问题: 解决方案:
window-properties-myeclipse-tomcat-jdk-vm arument里面加入如下话语 -Xms64m -Xmx256m
4. 在web应用中,不需要手动的创建这个容器,只需要在web.xml中配置:
<!-- 使用ContextLoaderListener初始化Spring容器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
5. 注入的时候,没有注入到里面的问题,解决方案:在struts.xml中配置如下常量,采用name自动装配的方案 :它不需要在spring中配置action的实例,并且,它会将action中的所有与spring中的实例名比较,如果相同,就注入!
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.custom.i18n.resources" value="mess"></constant>
<constant name="struts.custom.i18n.encoding" value="GBK"></constant>
<constant name="struts.devMode" value="true"/>
//这是一句非常关键的代码!!!!!!!!!!!!! <constant name="struts.objectFactory.spring.autoWire" value="name"></constant> <package name="test" extends="struts-default"> <action name="loginAction" class="com.huxin.spring_struts2.action.LoginAction"> <result>/WEB-INF/content/main.jsp</result> <result name="error">/WEB-INF/content/error.jsp</result> </action> <!-- 让用户直接访问该应用时列出所有视图页面 --> <action name="*"> <result>/WEB-INF/content/{1}.jsp</result> </action> </package> </struts>
6. 提交没有反应的问题: 解决方案: 这个命名空间的问题:如果提交的时候,不写命名空间,它会在当前的路径下找这个action,如果没有找到当然没有反应。 <s:form action="loginAction" method="post" namespace="/"> 一个小案例,引发这个多的错误,搞了一天,特地和大家分享一下!!!!项目就不贴到上面来了。