首先我把struts2做了一个简单的登录的实现。没有出错
主要的代码和配置文件如下:
--------------------
web.xml
-------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="person" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>/login.jsp</welcome-file>
</welcome-file-list>
</web-app>
-------------------------------
struts.xml
-------------------------------
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="cn" extends="struts-default" >
<action name="Login" class="cn.ityc.action.LoginAction">
<result name="success">/index.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
----------------
LoginAction
-----------------
package cn.ityc.action;
public class LoginAction{
private String username;
private String password;
public String getUsername(){
return username;
}
public void setUsername(String username){
this.username = username;
}
public String getPassword(){
return password;
}
public void setPassword(String password){
this.password=password;
}
public String execute() throws Exception{
if(getUsername().equals("ityc")&&getPassword().equals("ityc")){
return "error";
}else{
return "success";
}
}
}
------------
login.jsp
-------------
<%@ page language="java" contentType="text/html;charset=GBK"%>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="Login.action" method="post">
<table align="center">
<caption><h3>用户登陆</h3></caption>
<tr>
<td>用户名:<input type="text" name="username" /></td>
</tr>
<tr>
<td>密 码:<input type="password" name="password" /></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="登录" />
</tr>
</table>
</form>
</body>
</html>
----------------------------
上面没有问题
然后我想把action用spring管理
------------------------
下面我在web.xml中添加以后
----------
web.xml
-----------
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="person" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>/login.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/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>
</web-app>
启动tomcat以后就报错。。
-------------
错误信息
-------------
严重: Error loading WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@6f50a8
org.springframework.web.context.ContextLoaderServlet
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1083)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4045)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4351)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-1-1 13:48:32 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet /kongtiaoDemo threw load() exception
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1083)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4045)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4351)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-1-1 13:48:32 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2008-1-1 13:48:33 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2008-1-1 13:48:33 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/31 config=null
2008-1-1 13:48:33 org.apache.catalina.startup.Catalina start
信息: Server startup in 9935 ms
我用的spring和hibernate是用myeclipse加载的包
我弄了整整40个小时了。
网上说是hibernate和spring的包冲突
我也弄不明白。
有哪位仁兄,有过这个经历请指点一下。我的QQ:531345341
QQ技术群:26572256
分享到:
相关推荐
1. **Struts2和Spring3的整合原理** - **Struts2**:主要负责处理HTTP请求,通过Action映射到业务逻辑,返回结果视图。Struts2支持基于XML的配置和注解方式定义Action。 - **Spring3**:提供了强大的DI和AOP功能,...
总之,"struts2 hibernate spring整合(出错的)"意味着开发者可能在整合过程中遇到了困难,需要对每个框架的配置、相互间的配合以及常见的问题有深入理解,才能找出并修复错误。这通常需要对Java Web开发有扎实的基础...
在Java开发领域,Struts2、Spring和Hibernate这三大框架的整合,简称SSH2,是常见的企业级应用开发模式。MyEclipse作为一款强大的Java集成开发环境,提供了便捷的SSH2整合支持。以下是详细的搭建步骤及知识点解析: ...
在整合过程中,可能遇到的常见问题包括版本兼容性、依赖冲突以及配置错误。确保所有使用的库(如Quartz、Struts2、Spring及其相关依赖)的版本相互兼容是非常重要的。如果程序报错,通常需要检查是否存在缺失的jar包...
Struts2-Spring-Plugin-2.2.1.1.jar是Apache Struts 2框架的一个重要插件,主要用于整合Struts 2与Spring框架。这个插件在开发基于SSH(Struts 2、Spring、Hibernate)的企业级应用时扮演着关键角色。SSH是一个流行...
在这个SSH整合项目中,开发者首先需要配置三个框架的环境,包括添加相应的库到项目的类路径,配置Struts2的struts.xml,Spring4的spring-context.xml以及Hibernate4的hibernate.cfg.xml。然后,创建实体类(Entity)...
总的来说,"struts2spring5hibernate5整合包"是一个用于快速搭建基于SSH的Java Web项目的工具包,它集成了三个框架的最新稳定版本,经过测试,可以正常运行。开发者可以通过这个整合包,快速开始一个包含MVC、业务...
标题提到的问题是“struts2+spring+hibernate整合中spring注入出错,页面中报空指针异常”,这通常是由于Spring的依赖注入没有正确配置导致的。 首先,让我们深入了解一下Struts2、Spring和Hibernate各自的核心概念...
在整合Spring和Struts2时,主要涉及以下几个关键知识点: 1. **Spring框架**:Spring的核心是IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入),它通过管理对象的生命周期和对象间的...
Struts2、Hibernate和Spring是Java开发中常用的三大框架,它们各自负责Web应用的不同层面:Struts2专注于表现层管理,Hibernate处理数据持久化,而Spring则作为一个全面的框架,涵盖了依赖注入、事务管理、安全控制...
### Struts2+Spring3+Hibernate整合知识点概述 #### 整合框架介绍 整合Struts2、Spring3和Hibernate三大框架是Java企业级开发中的常见做法,旨在构建Web应用程序。这种整合模式允许开发者利用Struts2进行Web层的...
在本文中,我们将深入探讨如何在MyEclipse环境中整合Struts2、Spring和Hibernate这三个流行的技术框架。这个过程对于开发企业级Java应用至关重要,因为它提供了模型-视图-控制器(MVC)架构、依赖注入以及持久化数据...
Struts2.1+Spring2+Hibernate3.3的整合是Java Web开发中常见的MVC框架集成方案,常被称为SSH2整合。这三个框架分别扮演不同的角色:Struts2作为前端控制器,负责处理用户请求和视图展示;Spring则提供依赖注入(DI)...
在IT行业中,SSH(Spring、Hibernate、Struts2)是一个常见的Java Web开发框架组合,用于构建高效、可维护的企业级应用程序。这三个框架分别处理不同层面的问题:Spring是全面的轻量级应用框架,Hibernate是对象关系...
8. **错误和异常处理**:整合过程中可能会遇到各种错误和异常,例如SQL异常、空指针异常等。合理地捕获和处理这些异常,提供友好的错误信息给用户,是提高用户体验的关键。 9. **安全性考虑**:Struts2和Hibernate...
在教程中,作者尝试整合Spring3.2.3版本,因为3.1版本在整合时出现了空指针异常。这涉及到Spring框架的依赖注入(DI)、控制反转(IoC)、Bean生命周期管理等核心概念。此外,Spring的应用上下文...
Struts2、Spring和Hibernate是Java企业级应用开发中的三大框架,它们的组合,通常被称为SSH(Struts2 + Spring + Hibernate)。这个“struts2+spring2.5+hibernate3.2中文开发手册”是针对这些框架的详细指南,旨在...
在使用Struts2.1.6、Spring2.5.6与Hibernate3.3.1进行框架整合时,开发者经常会遇到一些常见的问题。这些问题可能会导致程序无法正常运行或出现异常行为。下面我们将针对这些常见错误进行详细的分析,并提供可能的...