报错如下:严重: Servlet.service() for servlet action threw exception
java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext
at org.springframework.web.struts.DelegatingActionUtils.getWebApplicationContext(DelegatingActionUtils.java:93)
at org.springframework.web.struts.DelegatingActionUtils.findRequiredWebApplicationContext(DelegatingActionUtils.java:145)
at org.springframework.web.struts.DelegatingActionProxy.getWebApplicationContext(DelegatingActionProxy.java:146)
at org.springframework.web.struts.DelegatingActionProxy.getDelegateAction(DelegatingActionProxy.java:125)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:109)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
at java.lang.Thread.run(Thread.java:595)
我添加了spring-web包还是报错呀
配置文件如下:
<bean name="/login" class="action.LoginAction" scope="prototype">
<property name="usermanager" ref="usermanager"></property>
</bean>
<bean id="usermanager" class="user.UserManagerImpl"></bean>
struts配置文件如下:
struts-config>
<data-sources />
<form-beans>
<form-bean name="LoginForm" type="form.LoginActionForm"></form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action path="/login1" forward="/login.jsp"> </action>
<action path="/login" type="org.springframework.web.struts.DelegatingActionProxy" name="LoginForm" scope="request">
<forward name="success" path="/login_success.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>
action代码如下:
public class LoginAction extends Action {
private UserManger usermanager;
public void setUsermanager(UserManger usermanager) {
this.usermanager = usermanager;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
LoginActionForm lf=(LoginActionForm)form;
String name=lf.getName();
String password=lf.getPwd();
//UserManger um=new UserManagerImpl();
//um.login(name, password);
return mapping.findForward("success");
}}搞了一下午没有搞出来,请大家帮帮忙!
java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext
at org.springframework.web.struts.DelegatingActionUtils.getWebApplicationContext(DelegatingActionUtils.java:93)
at org.springframework.web.struts.DelegatingActionUtils.findRequiredWebApplicationContext(DelegatingActionUtils.java:145)
at org.springframework.web.struts.DelegatingActionProxy.getWebApplicationContext(DelegatingActionProxy.java:146)
at org.springframework.web.struts.DelegatingActionProxy.getDelegateAction(DelegatingActionProxy.java:125)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:109)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
at java.lang.Thread.run(Thread.java:595)
我添加了spring-web包还是报错呀
配置文件如下:
<bean name="/login" class="action.LoginAction" scope="prototype">
<property name="usermanager" ref="usermanager"></property>
</bean>
<bean id="usermanager" class="user.UserManagerImpl"></bean>
struts配置文件如下:
struts-config>
<data-sources />
<form-beans>
<form-bean name="LoginForm" type="form.LoginActionForm"></form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action path="/login1" forward="/login.jsp"> </action>
<action path="/login" type="org.springframework.web.struts.DelegatingActionProxy" name="LoginForm" scope="request">
<forward name="success" path="/login_success.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>
action代码如下:
public class LoginAction extends Action {
private UserManger usermanager;
public void setUsermanager(UserManger usermanager) {
this.usermanager = usermanager;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
LoginActionForm lf=(LoginActionForm)form;
String name=lf.getName();
String password=lf.getPwd();
//UserManger um=new UserManagerImpl();
//um.login(name, password);
return mapping.findForward("success");
}}搞了一下午没有搞出来,请大家帮帮忙!
<bean id="usermanager" class="....">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
下方加上:
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn" >
<set-property property="contextConfigLocation" value="classpath:search.xml"/>
</plug-in>
因为struts1.x是以组建形式集成到Spring中......
search.xml你可以替换为你的Spring配置文件...applicationContext.xml
在struts-config.xml 文件中配置如下信息.放置的位置应该在</struts-config>的前面.
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"/>
</plug-in>
然后改动你写的action的type属性为:
type="org.springframework.web.struts.DelegatingActionProxy"
如:
<action
path="/update" type="org.springframework.web.struts.DelegatingActionProxy" />
struts 的action就交给spring容器进行管理了.
接着,在我们的action类中注入我们要使用的数据操作对象.如,数据库操作类;
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>SpringContextServlet</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>