谁微信能发多大的视频一些tomcat,jsp或者SSH的参考文献给我啊,3000字的

trackbacks-0
使用Struts2上传图片存取到Mysql中并读取出来显示在页面上
Google 标签:&;;;;;;;;
李顺利,Struts,图片,存取,存入,显示,Mysql,数据库,Blob,
&&&&&&&& 实际上,写完文章的时候,类似的想法就已经有了,一直没有实际把它整理好,今天也终于把这方面的一些经验分享给大家了。
&&&&&&&& 本文涉及到的需求(功能点)大致有:
1.&&&&&& 如何上传图片,并把图片存入数据库(Mysql)中;
2.&&&&&& 从数据库中读取图片并显示在页面中
注:本文使用的是单纯的Struts2 + Spring + Hibernate,图片操作并没有使用Servlet。
&&&&&&&& 本文全部使用Annotation来整合SSH,运用了文件上传和表单验证等知识,这些知识都可以在我以前写的博文中获取到,包括
1.&&&&&& Struts2下多文件的上传与下载
2.&&&&&& 使用Annotation并对DAO层封装具有分页功能的S2SH整合实例
3.&&&&&& 如何自定义Struts2表单验证后的错误信息显示格式/样式
&&&&&&&& 如果大家对上面的知识有所欠缺的话和想学习的话,也请大家Google或者看我的blog。谢谢。
Struts 2.1.8.1 + Hibernate3 + Spring3+ Mysql5 + Tomcat 7.0.2+ Myeclipse 8.6
本文会使用User对象(包括username、password、picture等属性),对应Mysql数据库的创建脚本如下:
Source Server&&&&&&&& : Local
Source Server Version : 50140
Source Host&&&&&&&&&& : localhost:3306
Source Database&&&&&& : test
Target Server Type&&& : MYSQL
Target Server Version : 50140
File Encoding&&&&&&&& : 65001
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
& `id` int(100) NOT NULL AUTO_INCREMENT,
& `username` varchar(100) NOT NULL,
& `password` varchar(100) NOT NULL,
& `picture` longblob,
& PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8;
(请注意pictrue的类型)
这个步骤请参考。
1、& User 类
实际上很简单,写出来,主要是让大家知道这里面图片是使用的是什么类型
@Entity
@Table(name = "user", catalog = "test")
public class User implements java.io.Serializable {
&&&& private static final long serialVersionUID = 6007292L;
&&&& private Integer id;
&&&& private String username;
&&&& private String password;
&&&& private Blob picture;
&&&& &* 省略构造方法和set、get方法
2、& AddUserAction类
在add user action,就是真正的把User对象(包括图像)save到Mysql中。其中这里使用了Struts2的Annotation,请注意 InterceptorRefs 中 params 的写法。
关键的代码也就是使用hibernate的createBlob方法来把File类型转换成Blob类型。
Blob blob = Hibernate.createBlob(..)
@Controller
@Scope("prototype")
@Results( { @Result(name = "success", location = "/index.jsp"), @Result(name = "input", location = "addUser.jsp") })
@InterceptorRefs(value = {
&&&&&&&& @InterceptorRef(value = "fileUpload", params = { "maximumSize", "1048576", "allowedTypes","image/bmp,image/x-png,image/png,image/gif,image/jpeg,image/jpg,image/pjpeg" }), @InterceptorRef(value = "defaultStack") })
public class AddUserAction extends ActionSupport {
&&&& private static final long serialVersionUID = -5994251L;
&&&& private User user;
&&&& private File image;
&&&& @Resource(name = "org.usc.services.userService")
&&&& private IUserService userService;
&&&& &* 省略 set、get方法和validate验证
&&&& @Override
&&&& public String execute() throws Exception {
&&&&&&&& if (image != null) {
&&&&&&&&&&&&& FileInputStream fin = new FileInputStream(image);// File 转 InputStream
&&&&&&&&&&&&& Blob blob = Hibernate.createBlob(fin);// InputStream 转 Blob
&&&&&&&&&&&&& user.setPicture(blob);
&&&&&&&& }
&&&&&&&& userService.save(user);
&&&&&&&& return SUCCESS;
3、& addUser.jsp
这个就是一个普通的Input界面,很简单。想说一下,这里使用了表单验证后信息显示的技术,详情请见,也请注意这里使用了文件上传控件,所以要设置enctype="multipart/form-data"。
&s:form action="add-user" method="post" theme="simple" enctype="multipart/form-data"&
&&&& UserName&s:textfield name="user.username"&&/s:textfield&
&&&& &font color="red"& *&s:property value="fieldErrors['user.username'][0]" /& &/font&
&&&& PassWord&s:password name="user.password"&&/s:password&
&&&& &font color="red"& *&s:property value="fieldErrors['user.password'][0]" /& &/font&
&&&& &br&&&&&
&&&& Image&s:file name="image"&&/s:file&
&&&& &font color="red"&&s:property value="fieldErrors['image'][0]" /& &/font&
&&&& &s:submit value="Submit" /&&s:reset value="Reset"&&/s:reset&
4、& GetAllUserAction 类
很简单,不想贴代码了,主要是通过Dao查找所有的User,再放到List&User& userList,Struts在调用此Action的使用,通过Iterator List来显示所有的User。
注意:我这里仅使用了List,并没有使用把List放到request中,Struts会通过s:iterator来迭代List,只要我们提供Get List 方法即可。
&s:iterator value="userList" id="user" status="count"&
5、& GetImageByIdAction 类
这个类应该是本文的难点和重点,实际上,代码很简单的,请大家注意一下几点
1)& 使用Result type“Stream” :type = "stream" ;
2)& Result params 中设置 contentType 和inputName参数,其中
contentType& = image/jpeg
inputName& = image
inputName 是Action可以通过相关的method获得InputStream。
注意:下载文件这里不使用contentType,而是使用contentDisposition参数,详情请见
&param name="contentDisposition"&filename="${fileName}"&/param&
(Action可以通过Get,Set FileName()来设置和获得文件名)
&&&&&&&& 实际上这部分的代码是参考以前某位朋友写的使用Struts2 生成验证码的例子,参考下面的网站
不好意思,现在记不清作者和网站,所以贴上的网址不知道是否是原创或者就是原创,如果有朋友知道,请联系我,我会更新链接的,谢谢,也很感谢这位朋友的无私奉献。
@Controller
@Scope("prototype")
@Results( { @Result(type = "stream", params = { "contentType", "image/jpeg", "inputName", "image" }) })
public class GetImageByIdAction extends ActionSupport {
&&&& private static final long serialVersionUID = 580274L;
&&&& private Integer id;
&&&& @Resource(name = "org.usc.services.userService")
&&&& private IUserService userService;
&&&& public Integer getId() {
&&&&&&&& return id;
&&&& public void setId(Integer id) {
&&&&&&&& this.id =
&&&& public void setUserService(IUserService userService) {
&&&&&&&& this.userService = userS
&&&& &* 注意这里的方法名,和上面配置params中inputName是一致的,Struts会调用此方法(也可以使用Method配置其他方法)
&&&& &* @return
&&&& &* @throws Exception
&&&& public InputStream getImage() throws Exception {
&&&&&&&& InputStream imageStream = userService.find(id).getPicture().getBinaryStream();
&&&&&&&& return imageS
6、& allUser.jsp
这个JSP也算知识点比较多,包括一下几点
1)& Action如何取得Image显示在页面上
通过调用get-image-by-id.action来获取图片
2)& list如何Iterator
&s:iterator value="userList" id="user" status="count"&
// 注意value
3)& Table可以限制每行显示多少条记录
&&&&&&&& &s:if test="#count.index % 6 == 0"&
&&&&&&&&&&&&& &tr&
&&&&&&&& &/s:if&
&&&&&&&& &s:if test="(#count.index + 1) % 6 == 0"&
&&&&&&&&&&&&& &/tr&
&&&&&&&& &/s:if&
// 每行显示6 条记录
(延伸,也可以控制只显示多少条,给个链接,显示所有的条数)
4)& 如果标题长了,省略多余的字,避免表格撑大
&td width="800" height="120" style="width: 200 word-break: break-all" align="center"&
&div style="width: 200x; height: 20 border: 1 overflow: text-overflow: ellipsis"&
(单元格固定宽带,不是随着内容的变化而变化)
5)& 如果没找到图片的话,选择默认图片显示
&img … onerror="javascript:this.src='images/default.png'" /&
&s:form action="get-all-user" method="post" theme="simple"&
&&&& &s:if test="userList.size"&
&&&&&&&& &table width="75%" align="center"&
&&&&&&&&&&&&& &s:iterator value="userList" id="user" status="count"&
&&&&&&&&&&&&&&&&&& &s:if test="#count.index % 6 == 0"&
&&&&&&&&&&&&&&&&&&&&&& &tr&
&&&&&&&&&&&&&&&&&& &/s:if&
&&&&&&&&&&&&&&&&&& &td width="800" height="120" style="width: 200 word-break: break-all" align="center"&
&&&&&&&&&&&&&&&&&&&&&& &a href="http://www.blogjava.net/lishunli/" target="_blank"&
&&&&&&&&&&&&&&&&&&&&&&&&&&& &img src="&%=basePath + "get-image-by-id.action?id="%&&s:property value="#user.id"/&" width="100" height="100" alt="照片"
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& title="&s:property value="#user.username" /&" onerror="javascript:this.src='images/default.png'" /&
&&&&&&&&&&&&&&&&&&&&&& &/a&
&&&&&&&&&&&&&&&&&&&&&& &div style="width: 200x; height: 20 border: 1 overflow: text-overflow: ellipsis"&
&&&&&&&&&&&&&&&&&&&&&&&&&&& &s:property value="#user.username" /&
&&&&&&&&&&&&&&&&&&&&&& &/div&
&&&&&&&&&&&&&&&&&& &/td&
&&&&&&&&&&&&&&&&&& &s:if test="(#count.index + 1) % 6 == 0"&
&&&&&&&&&&&&&&&&&&&&&& &/tr&
&&&&&&&&&&&&&&&&&& &/s:if&
&&&&&&&&&&&&& &/s:iterator&
&&&&&&&& &/table&
&&&& &/s:if&
本文全部使用的是Annotation(包括Struts2的所有配置),如果需要使用xml但又觉得转化成xml配置有困难的话,可以Google,或者联系我。谢谢。
本篇文章还是可以延伸的,可以做成上传文件,再判断文件类型,例如是Image类型的,就显示出来,如果是Txt等类型,可以提供下载。后续…或者Ending…
源码在Google Code上
源码和相关参考提供下载& & Via&& &&
(源码和所需Jar)
文&件&名:ImageUseStruts2AndMysql.zip
其中 ImageUseStruts2AndMysql.zip 有下面的文件
如果有什么建议或意见可以通过微博&(左上侧直接加关注) 或 QQ: 或 Email:leeshunli&# 或 MSN:lishunli&#(QQ白天经常不在线,建议微博或者MSN 交流,谢谢),大家一起交流学习。& & &这篇博文是基于()以前写的,如果有什么不明白的地方,也可以前往看看,谢谢。& & & 最后弱弱地说一下,如果可以的话,转载请提供原URL,谢谢。
顺利写于2010年11月14日
&博客中的一些下载已经放到了百度云了,请根据需要下载。
最后弱弱地说一下,如果可以的话,转载请提供出处(
阅读(10910)
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上
mark,一下,辛苦了&&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上[未登录]
博主的精神值得我学习&&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上
@milestone@冰河快狼谢谢&&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上
正需要也的东西
谢谢博主 &&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上
这是我在网上搜了很久才觉得的一篇最好的关于图片显示的例子,楼主非常谢谢您!&&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上
@郑智睿谢谢支持&&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上[未登录]
谢谢你。
很大方的把代码贴出来 支持你&&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上
我做了个测试 关于下载的,我可以把图片插入数据库,也可以取得picture的引用,但就是获得不了inputstream引用,感觉就是getBinaryStream();
失效了。。请问您这是为什么呢
public InputStream getImage() throws Exception {
InputStream imageStream = userService.find(id).getPicture().getBinaryStream();
return imageS
}
我的邮箱是wang_denglei@yeah.net,请帮帮我把&&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上
@大雷可以试试Debug下,如果imageStream 是null值的话,那就要考虑是否是上传图片到数据库的时候有问题,如果不是,那就要考虑显示是否有问题,一步步分析,加上google,相信问题不难解决&&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上
@李顺利
哈哈,可以上传数据库也可以下载了!!今天对照了您的代码发现我在applicationContext里的&property name=&url& value=&jdbc:mysql://localhost:3306/mydb&后面少加了
?useUnicode/=true&characterEncoding/=utf-8,加上后就可以获得输入流了。在此真心感谢你!!&&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上
看到你写的东西,节省了很多时间呢,帮助大大滴,呵呵,灰常感谢&&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上[未登录]
兄弟大无私。。。佩服&&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上[未登录]
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上
真不知道说行的人是什么心态....&&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上
很认真看完了,受教啊!!!&&&&&&
&re: 使用Struts2上传图片存取到Mysql中并读取出来显示在页面上
突然发现不是ssh2,是ssh1,我做毕业设计需要ssh2的上传框架,大概原理我懂了,但是深入的不懂,InputStream imageStream = userService.find(id).getPicture().getBinaryStream(); 这句要是让我写,我不知道怎么写。&&&&&&
随笔分类(10)
随笔档案(49)
积分与排名
阅读排行榜我用ssh整合了一个项目,tomcat发布也能通过,为什么一打开jsp页面就会报404错误,求高手指教。_百度知道
我用ssh整合了一个项目,tomcat发布也能通过,为什么一打开jsp页面就会报404错误,求高手指教。
myeclipse控制台打印如下信息:
com/zhidao/pic/item/18d8bc3eb13533fadc08f790a8d3fd1f40345bd5.hiphotos://g.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http.baidu://g.jpg" esrc="http.hiphotos已经解决了&nbsp:///zhidao/wh%3D600%2C800/sign=8faafd36776cdcbdd875c//zhidao/wh%3D450%2C600/sign=034f0f98ca029afbc3eb13533fadc08f790a8d3fd1f40345bd5;&不过还是谢谢各位啊<a href="http.baidu
提问者采纳
localhost内的工程)的两个工程文件,您试着检查一下吧,很基础的错误.跳转页面文件格式后缀有误;.:首先404是地址跳转的错误,多余的&quot。1,也就是没有找到指定的页面.跳转地址有误,但年困惑了我久,试着在浏览器地址栏中看看跳转地址有没有出现重复地址.Tomcat未正常启动。很少见的马虎错误,重新部署即可.&.2;,也是最难排查的问题,因为在你修改过跳转地址时。进行适当的调整和对照修改即可,Jsp还是Html,这是软件上的一个Bug,有时Tomcat是没有更新源地址的.,光光依靠重新部署可能无法解决;&quot.;Catalina&gt,你需要删除工程目录部署下(webapps内的工程和work&gt。3。这是一个最常见的问题.;;&#47,以及是否正确使用&quot.&和&quotJsp的404错误多数有以下几种情况
提问者评价
其他类似问题
tomcat的相关知识
按默认排序
其他4条回答
配置文件报错了把你spring的配置和web.xml贴出来
jsp中有个编译问题,具体可以查看生成java文件的23行
肯定是web.xml配置错
看看你的servlet
发布没有成功,所以报404,相当于没有成功。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁做了一个简单的SSH应用,但启动tomcat时总抛NoClassDefFoundError异常。
会有java.lang.ClassNotFoundException: javax.transaction.TransactionManager
各位一定要帮看看啊!(ssh未入门级)
开发工具:Eclipse3.2+Tomcat5.5+Mysql5.0
CREATE TABLE `people` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100) default NULL,
`location` varchar(100) default NULL,
PRIMARY KEY
首先,建立工程和package,以下是我的工程目录
DeletePeopleAction.java
//删除人员action
EditPeopleAction.java
//编辑人员action第一步,读取需要修改的人员资料
EditPeopleActionDo.java
//修改人员action
ListPeopleAction.javaSave
//显示人员列表action
SavePeopleAction.java
//新增人员action
SearchPeopleAction.java
//查找人员action
//数据库操作接口
StudentDAOImpl.java
//数据库操作实现
AbstractPeople.java
//实体抽象类
People.hbm.xml
//数据库映射
People.java
IService.java
//服务层接口
StudentManagerImpl.java
//服务层实现
Character.java
//字符编码过滤器
PageSupport.java
applicationContext.xml
//Spring配置文件(hibernate部分和Service部分)
JSP:不详细些了。
addStudent.jsp
editStudent.jsp
searchList.jsp
searchStudent.jsp
studentList.jsp
我觉得问题就出在 Spring 的xml部署上,
或者是我引入的包有冲突,要么就是根本不对。
下面是应用的配置信息:
&web-app xmlns="/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemalocation="/xml/ns/j2ee /xml/ns/j2ee/web-app_2_4.xsd"&
&context-param&
&param-name&contextConfigLocation&/param-name&
&param-value&/WEB-INF/classes/applicationContext.xml&/param-value&
&/context-param&
&resource-ref&
&description&SqlServer Datasource example&/description&
&res-ref-name&jdbc/StudentManager&/res-ref-name&
&res-type&javax.sql.DataSource&/res-type&
&res-auth&Container&/res-auth&
&/resource-ref&
&filter-name&hibernateFilter&/filter-name&
&filter-class&
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
&/filter-class&
&init-param&
&param-name&singleSession&/param-name&
&param-value&true&/param-value&
&/init-param&
&filter-mapping&
&filter-name&hibernateFilter&/filter-name&
&url-pattern&*.do&/url-pattern&
&/filter-mapping&
&servlet-name&SpringContextServlet&/servlet-name&
&servlet-class&
org.springframework.web.context.ContextLoaderServlet&/servlet-class&
&load-on-startup&1&/load-on-startup&
&/servlet&
&servlet-name&SpringLog4jConfigServlet&/servlet-name&
&servlet-class&
org.springframework.web.util.Log4jConfigServlet
&/servlet-class&
&/servlet&
&servlet-name&web&/servlet-name&
&servlet-class&
org.springframework.web.servlet.DispatcherServlet
&/servlet-class&
&/servlet&
&servlet-name&action&/servlet-name&
&servlet-class&org.apache.struts.action.ActionServlet&/servlet-class&
&init-param&
&param-name&config&/param-name&
&param-value&/WEB-INF/struts-config.xml&/param-value&
&/init-param&
&init-param&
&param-name&debug&/param-name&
&param-value&2&/param-value&
&/init-param&
&init-param&
&param-name&detail&/param-name&
&param-value&2&/param-value&
&/init-param&
&load-on-startup&2&/load-on-startup&
&/servlet&
&servlet-mapping&
&servlet-name&action&/servlet-name&
&url-pattern&*.do&/url-pattern&
&/servlet-mapping&
&welcome-file-list&
&welcome-file&/WEB-INF/jsp/index.jsp&/welcome-file&
&/welcome-file-list&
&taglib-uri&/WEB-INF/struts-bean.tld&/taglib-uri&
&taglib-location&/WEB-INF/struts-bean.tld&/taglib-location&
&taglib-uri&/WEB-INF/struts-html.tld&/taglib-uri&
&taglib-location&/WEB-INF/struts-html.tld&/taglib-location&
&taglib-uri&/WEB-INF/struts-logic.tld&/taglib-uri&
&taglib-location&/WEB-INF/struts-logic.tld&/taglib-location&
&taglib-uri&/WEB-INF/struts-nested.tld&/taglib-uri&
&taglib-location&/WEB-INF/struts-nested.tld&/taglib-location&
&/web-app&
2.struts-config.xml
&struts-config&
&data-sources&
&form-beans&
&form-bean name="people" type="domain.People"&&/form-bean&
&/form-beans&
&global-exceptions&
&global-forwards&
&action-mappings&
&action path="/savePeople" name="people" type="action.SavePeopleAction" scope="session" parameter="method"&
&forward name="success" path="/listPeople.do"&&/forward&
&action path="/listPeople" name="people" type="action.ListPeopleAction"&
&forward name="success" path="/studentList.jsp"&&/forward&
&action path="/deletePeople" name="people" type="action.DeletePeopleAction"&
&forward name="success" path="/studentList.jsp"&&/forward&
&action path="/editPeople" name="people" type="action.EditPeopleAction"&
&forward name="success" path="/editStudent.jsp"&&/forward&
&action path="/editPeopleDo" name="people" type="action.EditPeopleActionDo"&
&forward name="success" path="/studentList.jsp"&&/forward&
&action path="/searchPeople" name="people" type="action.SearchPeopleAction"&
&forward name="success" path="/searchList.jsp"&&/forward&
&action path="/test" name="people" type="action.Test"&&/action&
&/action-mappings&
&controller locale="true"&
&message-resources parameter=""&
&/struts-config&
3.applicationContext.xml
&bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" depends-on="sessionFactory"&
&property name="sessionFactory"&
&ref bean="sessionFactory"&
&/property&
&bean id="studentManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"&
&property name="transactionManager"&
&ref bean="transactionManager"&&/ref&
&/property&
&property name="target"&
&bean class="service.StudentManagerImpl"&
&property name="studentDAO"&
&ref bean="StudentDAO"&
&/property&
&/property&
&property name="transactionAttributes"&
&prop key="save*"&PROPAGATION_REQUIRED&/prop&
&prop key="list*"&PROPAGATION_REQUIRED,readOnly&/prop&
&prop key="delete*"&PROPAGATION_REQUIRED&/prop&
&prop key="get*"&PROPAGATION_REQUIRED,readOnly&/prop&
&prop key="edit*"&PROPAGATION_REQUIRED&/prop&
&prop key="search*"&PROPAGATION_REQUIRED&/prop&
&/property&
&property name="proxyTargetClass"&
&value&true&/value&
&/property&
&bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&
&property name="driverClassName"&
&value&com.mysql.jdbc.Driver&/value&
&/property&
&property name="url"&
&value&jdbc:mysql://localhost:3306/dbjee&/value&
&/property&
&property name="username"&
&value&root&/value&
&/property&
&property name="password"&
&value&123456&/value&
&/property&
&bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&
&property name="dataSource"&
&ref local="dataSource"&
&/property&
&property name="hibernateProperties"&
&prop key="hibernate.dialect"&org.hibernate.dialect.MySQLDialect&/prop&
&prop key="hibernate.show_sql"&true&/prop&
&prop key="hibernate.cache.use_query_cache"&true&/prop&
&prop key="hibernate.cache.provider_class"&
org.hibernate.cache.HashtableCacheProvider&/prop&
&/property&
&property name="mappingResources"&
&value&domain/People.hbm.xml&/value&
&/property&
&bean id="StudentDAO" class="dao.StudentDAOImpl"&
&property name="sessionFactory"&
&ref local="sessionFactory"&
&/property&
4.People.hbm.xml
&hibernate-mapping package="domain"&
&class name="People" table="people"&
&id name="id" type="java.lang.Integer"&
&column name="id"&
&generator class="increment"&&/generator&
&property name="name" type="java.lang.String"&
&column name="name" length="100"&
&/property&
&property name="location" type="java.lang.String"&
&column name="location" length="100"&
&/property&
&/hibernate-mapping&
附件里是我引入的jar包。
希望各位能帮帮忙,困扰我2天,一直出不来。
最后把启动Tomcat时报的错误也贴出来。
严重: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Instanti nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getDeclaredMethods(Unknown Source)
at java.beans.Introspector$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.beans.Introspector.getPublicDeclaredMethods(Unknown Source)
at java.beans.Introspector.getTargetMethodInfo(Unknown Source)
at java.beans.Introspector.getBeanInfo(Unknown Source)
at java.beans.Introspector.getBeanInfo(Unknown Source)
at org.springframework.beans.CachedIntrospectionResults.&init&(CachedIntrospectionResults.java:149)
at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:85)
at org.springframework.beans.BeanWrapperImpl.setIntrospectionClass(BeanWrapperImpl.java:234)
at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:192)
at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:176)
at org.springframework.beans.BeanWrapperImpl.&init&(BeanWrapperImpl.java:129)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:491)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:366)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:330)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:283)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:321)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:252)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190)
at org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:83)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.lang.ClassNotFoundException: javax.transaction.TransactionManager
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 55 more
20:08:31 org.apache.catalina.core.ApplicationContext log
严重: StandardWrapper.Throwable
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Instanti nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getDeclaredMethods(Unknown Source)
at java.beans.Introspector$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.beans.Introspector.getPublicDeclaredMethods(Unknown Source)
at java.beans.Introspector.getTargetMethodInfo(Unknown Source)
at java.beans.Introspector.getBeanInfo(Unknown Source)
at java.beans.Introspector.getBeanInfo(Unknown Source)
at org.springframework.beans.CachedIntrospectionResults.&init&(CachedIntrospectionResults.java:149)
at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:85)
at org.springframework.beans.BeanWrapperImpl.setIntrospectionClass(BeanWrapperImpl.java:234)
at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:192)
at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:176)
at org.springframework.beans.BeanWrapperImpl.&init&(BeanWrapperImpl.java:129)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:491)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:366)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:330)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:283)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:321)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:252)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190)
at org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:83)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.lang.ClassNotFoundException: javax.transaction.TransactionManager
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 55 more
20:08:31 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet /SSHDemo threw load() exception
java.lang.ClassNotFoundException: javax.transaction.TransactionManager
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getDeclaredMethods(Unknown Source)
at java.beans.Introspector$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.beans.Introspector.getPublicDeclaredMethods(Unknown Source)
at java.beans.Introspector.getTargetMethodInfo(Unknown Source)
at java.beans.Introspector.getBeanInfo(Unknown Source)
at java.beans.Introspector.getBeanInfo(Unknown Source)
at org.springframework.beans.CachedIntrospectionResults.&init&(CachedIntrospectionResults.java:149)
at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:85)
at org.springframework.beans.BeanWrapperImpl.setIntrospectionClass(BeanWrapperImpl.java:234)
at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:192)
at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:176)
at org.springframework.beans.BeanWrapperImpl.&init&(BeanWrapperImpl.java:129)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:491)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:366)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:330)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:283)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:321)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:252)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190)
at org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:83)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
20:08:32 org.apache.coyote.http11.Http11BaseProtocol start
信息: Starting Coyote HTTP/1.1 on http-8888
20:08:32 org.mon.ChannelSocket init
问题补充zzxplayful 写道没有这个包
java.lang.ClassNotFoundException: javax.transaction.TransactionManager
这段异常我看得懂,
包括下面的:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Instanti nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
都看得懂,我想知道的是解决办法。
javax.transaction.TransactionManager
在什么包里?
要怎样解决?问题补充fywcc 写道这个是spring里面的
你把SPRING的jar包重新覆盖进去试试
我在Spring包里看了啊,
源码都是以 org.springframework.×××× 开始的啊,
没有 javax.transcation.** 啊,
怎么办?还是需要什么别的包,要么是我的包冲突了。
我引入了:
commons-beanutils.jar
commons-digester.jar
commons-fileupload.jar
commons-logging.jar
commons-validator.jar
jakarta-oro.jar
struts.jar
spring.jar
hibernate3.jar问题补充jones 写道放入jta.jar就行了,找找吧,spring里面应该有,要不就是Hibernate里面有
我把缺少的包都放上了,终于启动Tomcat时候不抛异常,而且也能打开welcome页面了。
但还有其他问题,明天搞。
第一次搞SSH,多谢指点啊!
采纳的答案
放入jta.jar就行了,找找吧,spring里面应该有,要不就是Hibernate里面有
加入jta.jar就可以了。。
在/搜索一下就有了
ClassNotFoundException
就是缺少jar包,或者jar版本问题
这个是spring里面的& 你把SPRING的jar包重新覆盖进去试试
没有这个包java.lang.ClassNotFoundException: javax.transaction.TransactionManager&
已解决问题
未解决问题

我要回帖

更多关于 不是好友能发悄悄话吗 的文章

 

随机推荐