eclipse 环境下整合 struts2+spring+hibernate 开发web应用常见问题及解答

JAVAweb客户管理系统源码:Eclipse实现与新手指南 Struts2是Apache软件基金会下的一个用于创建企业级Java Web应用的框架。Struts2采用MVC(Model-View-Controller)模式,将业务逻辑、页面展示和用户请求分离,从而使得Web应用更加模块化和易于维护。在Struts2框架中,核心组件包括Action、ActionContext、ValueStack(值栈)以及拦截器(Interceptor)等。 阅读详情

1. org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save():

2. org.hibernate.exception.SQLGrammarException: could not update

3. com.microsoft.sqlserver.jdbc.SQLServerException: 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'COMPONENT' 中的标识列插入显式值。

4. 如何让struts配置文件ApplicationResources.properties生效

5. eclipse java.lang.OutOfMemoryError: Java heap space 解决方案

6. Spring2 struts2 hibernate3 后台测试时报的错 Exception in thread "main" java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.解决方案

7. Oracle Database Error ORA-02289  ORA-02289 sequence does not exist

8. org.hibernate.PropertyValueException: not-null property references a null or transient value. 
9. EJB异常:identifier of an instance of xx was altered from x to x


1. org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save()

异常原因:
<id>元素配置不正确,<id>元素缺少其子元素<generator></generator>的配置。
解决方法:
<id>元素映射了相应数据库表的主键字段,对其子元素<generator class="">,其中class的取值可以为increment、identity、sequence、hilo、native……等,更多的可参考hibernate参考文档,一般取其值为native 功能是适应本地数据库。

exp:

<hibernate-mapping>
    <class name="com.fqf.Vipdata" table="vipdata" catalog="test">
        <id name="vipId" type="java.lang.Integer">
            <column name="vipId" />
            <generator class="assigned" />
        </id>
        <property name="vipName" type="java.lang.String">
            <column name="vipName" length="20" not-null="true" />
        </property>
        <property name="vipTitle" type="java.lang.String">
            <column name="vipTitle" length="20" not-null="true" />
        </property>
    </class>
</hibernate-mapping>

看看数据库表中的 id 是不是自增长类型,如果是自增长类型,把<generator class="assigned" />中assigned改为identity

(vipId的类型为自增长)

2. org.hibernate.exception.SQLGrammarException: could not update

错误原因:

  xxx.hbm.xml与数据库表字段类型不匹配。

解决方法:

  重新反转生成hbm文件。或者手动修改相应字段为匹配类型。

3. com.microsoft.sqlserver.jdbc.SQLServerException:

4. 如何让struts配置文件ApplicationResources.properties生效

在src目录下添加文件struts.properties文件,并在其中书写一行

struts.custom.i18n.resources=com.comp.struts.resources.ApplicationResources

重启tomcat,即可生效

国际化将文件转换为二进制方法:

native2ascii -encoding UTF-8 ApplicationResources.properties ApplicationResources_zh_CN.properties

参考文献:

ssh之struts第一篇:struts国际化:http://blog.youkuaiyun.com/rookieStudent/archive/2010/03/21/5401516.aspx
 

5. eclipse java.lang.OutOfMemoryError: Java heap space 解决方案

 eclipse java.lang.OutOfMemoryError: Java heap space 解决方案2008年11月24日 星期一 下午 01:57eclipse 有启动参数里设置jvm大小,因为eclipse运行时自己也需要jvm,所以eclipse.ini里设置的jvm大小不是具体某个程序运行时所用jvm的大小,这和具体程序运行的jvm大小无关。 

那么怎么才能设置某个程序的jvm大小呢(当然控制台运行的话不会存在这个问题,如:java -Xms256m -Xmx1024m classname,这样就可以把当前程序的jvm大小给设定)? 

因为eclipse里默认的一个程序的jvm配置为:-Xms8m -Xmx128m,所以我们的处理耗内存比较大时需要手动调整一下,以便不会内存溢出。具体的设置方法为: 

选中被运行的类,点击菜单‘run->run...’,选择(x)=Argument标签页下的vm arguments框里输入 -Xmx512m, 保存运行就ok了

因为我使用的是tomcat服务器,可以在tomcat configure 的java标签下面直接进行修改。修改方式如下:

打开 configure tomcat,在 Java 选项卡中,下方,会有
Inital memory Pool:   
Maximum memory Pool:
Thread stack size:
三个输入框,在这里即可不用做上面的操作,直接配置内存大小,只需要设置
Inital memory Pool 为 256
Maximum memory Pool 为 512

点击确定后,重启tomcat 生效。

但这种方法只能作用于手动启动tomcat,使用eclipse启动时还是会报错。

在eclipse中配置java内存的启动参数,要采用下面的方法: 
A.windows->preference->java->instal jres->edit,增加参数:-Xms256m -Xmx512m 
或者 
B.windows->preferences..->tomcat->jvm..->jvm文本框里,添加-Xms256m -Xmx512m 

如果使用myeclipse, 
窗口->首选项->MyEcliipse->Application Servers->Tomcat->Tomcat5.x->JDK->Optional Java VM arguments中填写一下内容。 
-Xms128m -Xmx256m 
-Dcom.sun.management.jmxremote=true

 参考文献:

如何修改tomcat内存大小:http://edu.codepub.com/2010/0327/21418.php

增加eclipse启动的Tomcat内存的方法: http://wallimn.javaeye.com/blog/693158

  

6. Spring2 struts2  hibernate3 后台测试时报的错 Exception in thread "main" java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter. <init> 解决方案

因为cglib 包和asm包冲突

开始用的cglib包是cglib-2.1.3.jar  ,后来换了一个cglib-nodep-2.2.jar才测试通过.

7. Oracle Database Error ORA-02289  ORA-02289 sequence does not exist

表示系统未找到相应的sequence,有以下两种可能:

(1)数据库访问用户的权限不够,应该更换用户或增加权限以访问用户。

(2)hibernate 映射文件配置不正确,映射文件中的id采用oracle自动生成时需要采用native方式,若使用hibernate时采用sequence方式。hibernate会默认查找"hibernate_sequence"这一序列。xml映射文件中的子元素generator来说明主键的产生方式,此处指定的是“native”,表示根据数据库来选择,比如,对于Oracle数据库,它会去寻找一个sequence(默认情况下,它会去寻找一个名为“hibernate_sequence”的sequence),我们可以用参数param来指定一个sequence。而property用来指定Student.java类中的属性和Student数据库表之间的对应关系,以及各个字段的数据类型。在这个例子中,我们指定的数据类型是Java语言中的数据类型(此时需要指定引用类型数据),我们也可以使用Hibernate中自定义的数据类型,限于篇幅,在本文中不一一讲解。

 

8.  org.hibernate.PropertyValueException: not-null property references a null or transient value.

表示数据库的非空字段映射到本地的可为空的字段中。检查是否没有给非空字段赋值。

 

9. EJB异常:identifier of an instance of xx was altered from x to x请检查Role类的主键属性是否是封装类型。例如:Integer,Long ……。不能是int,long等数据类型。

当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'COMPONENT' 中的标识列插入显式值
分析:也许你的id是这样配置的: 
<id name="id" type="integer"> 
            <column name="id" /> 
            <generator class="increment" /> 
</id> 

increment是由Hibernate自动以自增的方式生成主键 
identity是由底层数据库生成的标识符 
当数据库中的ID为自动增长的时候采用increment当然会报“无法显示为主键插入值” 

把主键生成方式改为identity或者你的操作表的主键没有被设置为自动增长。
Java EE项目管理系统实战:从数据库建模到部署答辩全解析 企业级Web开发中,Java EE早已成为构建复杂业务系统的成熟平台。从权限控制到任务流转,一个可落地的项目管理系统需要兼顾需求边界、数据库设计与工程分层。通过Spring Boot与MyBatis整合MySQL,能够高效实现用户角色权限管理、工时审批、进度监控等核心闭环,从而应对从课设到企业级应用的真实挑战。本文从技术选型、ER建模、接口设计到部署演示,系统拆解Java EE项目管理系统从0到1的完整路径。 阅读详情

相关推荐

UE5导入MetaHuman虚拟头像后,连接live link face,面部表情捕捉出错修正

UE5 利用live link face 驱动meta human面部表情捕捉

m0_53122690的博客 6595

Struts+Spring+Hibernate项目框架构建中的问题及解决方法集锦(1)

 Struts1.2+Spring2.0+Hibernate3.1项目框架构建中的问题及解决方法集锦(1)                 前天自己尝试着使用 Eclipse3.2+Myeclipse5.5 搭建一个自己的 Struts1.2+Spring2.0+Hibernate3.1 项目框架,这自己不做还不知道,一做就吓了一跳,怎搭个项目框架就这么难,经过整整一天的摸索这才成功的构建了自

Morecans的专栏 8231

从零到一:基于Docker与Gewechat协议,打造高可用微信AI助手

本文提供了一份从零开始的实战指南,详细讲解如何利用Docker容器化技术与Gewechat协议,构建一个高可用、低风险的微信AI助手。通过整合Dify AI平台,您可以为微信机器人注入大语言模型的智能,实现自动问答、知识库查询等高级功能,显著提升个人或团队在微信场景下的沟通与信息处理效率。

weixin_29280657的博客 160

JavaEE小项目:Struts2+Hibernate实现完整的注册和登录功能(数据校验)

文章目录前期准备最终项目结构 前期准备 新建一个Java Project 取名为HibernateDemo2 添加Sturts和Hibernate框架 架构起来 连接数据库并生成POJO类:Hibernate框架连接MySQL ( 使用Navicat ) 完整详细步骤 还有一个一定会出错的地方,因为Hibernate和Struts 2 中有相同的包(版本不同)会引起冲突,所以要把St...

超逸の学习技术博客 2102

从MRF8P9040N数据手册到ADS仿真:手把手教你搞定LDMOS功放设计(附完整模型下载)

本文详细解析了MRF8P9040N LDMOS功率放大器的数据手册关键参数,并提供了在ADS中进行仿真的完整指南。从模型导入、直流工作点验证到负载牵引与阻抗匹配设计,逐步指导工程师完成高效功放设计。文章还包含调试技巧和常见问题解决方案,帮助优化射频功放性能。

weixin_27015733的博客 490

基于FPGA的多通道音频信号采样系统设计

FPGA是随着数字集成电路的发展而逐步演变而来的。从早期的电子管、晶体管、小规模集成电路,到超大规模集成电路(VLSIC),数字集成电路的集成度和性能不断提升。FPGA的出现为系统设计师提供了灵活的设计平台,使其能够在不依赖半导体厂商的情况下快速设计专用集成电路(ASIC)。FPGA具有设计周期短、成本低、开发工具先进等优点,广泛应用于原型设计和产品生产中。VHDL是一种用于描述数字系统的硬件描述语言,其语言形式类似于计算机高级语言,但包含了许多硬件特征语句。

qq_62634009的博客 709

struts2+hibernate+spring之综合问题集锦

1、问题描述 [code="java"] Bean property 'sessionFactory' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? [/code]字面描述就是sessionF...

zhourrr1234的专栏 218

YOLO26 从零到工业落地全实战:自定义训练+多场景测试+边缘部署预备,踩坑实测100%可复现

很多人觉得训练是核心,其实不是——数据集的质量,直接决定了你模型的上限。我见过太多人,标注不规范、格式错误、数据集划分混乱,然后疯狂调参,训了几百轮还是不收敛,纯属白费功夫。我这次用的是工业零件缺陷检测自定义数据集,共3个类别:划痕、毛刺、变形,总计1200张图片,给大家讲一套标准的、可复现的数据集制作流程,不管你是做工业检测、安防、交通,都能直接套用。很多人拿到数据集,直接用默认命令训练,然后抱怨精度上不去。默认参数是给COCO数据集用的,你的自定义数据集,必须针对性调参,不然根本达不到最优效果。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 569

struts2+spring+hibernate使用中遇到的问题

1. struts2和spring框架整合。 某些service需要注入到action中,但是在spring的配置文件中并未发现如何相应的<bean>配置。 struts2-spring-plugin插件包是随struts2一起发布,用于解决以上问题的。 第一种方式: 当struts创建action时,装配器将自动为action进行装配。装配原则是,在ac...

weixin_34128839的博客 211

九天揽月带你玩转Ardupilot 的EKF2纸老虎(1)

目录 目录 摘要 1.kalman基础知识储备 摘要 本文主要记录自己学习ardupilot的ekf2代码的过程,相信很多人想移植或者学习ekf2,看到眼花缭乱的代码无从下手。九天揽月将带你玩转Ardupilot 的EKF2纸老虎 1.kalman基础知识储备 (1)先来看下最基础也是最重要的线性kalman 总结:不要害怕kalman,只要你可以懂得线性kal...

陌城烟雨 1万+

ParaView: GUI 轴网格

ParaView: GUI 轴网格

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1923

轻量级Java EE企业应用实战(第3版)——Struts 2+Spring 3+Hibernate整合开发

轻量级Java EE企业应用实战(第3版)——Struts 2+Spring 3+Hibernate整合开发李 刚 编著ISBN 978-7-121-12814-12011年2月出版定价:89.00元(含光盘1张)16开...

348

论文必备 - YOLO26热力图可视化,支持指定模型,指定显示层,设置置信度,以及9种可视化实现方式

本文带来的是YOLO26热力图可视化功能,支持指定模型,指定显示层,设置置信度,以及9种可视化实现方式。我们经常看到一些论文里绘制了不同的热力图,一方面能够直观的感受其模型的有效性,另一方面也丰富了论文内容。特别是在使用了注意力模块的网络中,热力图就可以验证注意力机制是否真正聚焦到了预期的重要特征上,以便对模型的有效性和合理性进行评估。例如Centralized Feature Pyramid for Object Detection这篇文章中展示的,就很能够表达作者改进后的模型相比之前模型的优越性。在项目

Limiiiing的博客 433

Java之基于Eclipse搭建SSH框架(下)

在上篇博客里,我简介了Tomcat滴配置与Struts2滴搭建,假设对这个还不会滴童鞋去看一下我滴上篇博客《Java之基于Eclipse搭建SSH框架(上)》。今天我们接着上篇博客滴内容。继续搭建我们滴SSH框架。 (一)在上篇博客滴基础上整合Spring: 首先我们把Spring所须要的jar(上篇博客有),拷贝到WebContent下的WEB-INF下的lib里面。其次...

weixin_34315665的博客 99

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

<%@ taglib prefix="s" uri="/struts-tags" %>的问题

的问题 2009-01-13 20:08lew1985 | 分类:网站使用 | 浏览34810次 我购买了电子工业出版社陈天河老师的《Eclipse,Struts,Hibernate,Spring集成开发宝典》这本书,照着上面的实例操作时遇到几个问题,想请教您。举最后一章的东西说一下。 1.import com.opensymphony.xwork2.ActionSupport;这个问题

evilcry2012的专栏 869

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

SSH集成实践一:配置

这两天练习Struts2, Spring,Hibernate的整合,碰到了一些问题,整理如下, 以供参考。 -------------------------------------------------------------------------------------------------------------------------------------------------

Extra_warrior的博客 428

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

我的五年百度博客文章列表

五年前,懵懵懂懂进入百度空间,五年后,总结一下在百度上贡献的文章(技术贴)以及收藏的文章.数了数大约450篇. nameurlservlet过滤器2解决用户非法在线filterhttp://hi.baidu.com/ae6623/item/617c46c5a96b6dd196445292servlet过滤器1解决字符集乱码filterhttp://hi.ba...

diyu8056的博客 4570

23个设计模式一文搞懂

本笔记涵盖 23 种经典设计模式,按创建型、结构型、行为型三大类整理。每个模式配有生活类比、核心思想、结构图解、实现要点、真实应用案例、适用场景、优缺点分析及常见面试题。

weixin_72753562的博客 803

Struts2和Hibernate 整合实验出现的错误和问题

一、Hibernate 问题 1、获得session的区别 getCurrentSession创建的session会和绑定到当前线程,而openSession不会。 getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭(调用session的close()方法) 2、Error部分 (1)、ERROR: HHH0000...

初学者_小铭 1373

总结一下复习Spring+Struts2+Hibernate遇到的问题

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dept' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested ex

498

Struts+Hibernate+Spring学习心得(3)Spring

主要分为两部分IoC和AOP。

zongzongzong2015的博客 493

struts+spring+hibernate做项目的困惑

使用struts+spring+hibernate做项目的困惑环境: spring:1.1 hibernate:2.1.6 strut:1.2.4 在做这个项目前,我们一直用servlet+jsp+javabean+jdbc开发系统,开发过程简单,效率也还可以,但就是sql写的太多,后期维护的工作量越来越大。而且PO基本上是table的一个对应,PO之间没有类的关系。在前期系统分析,基本上是做

wuhuif==专栏 856

使用Struts整合Hibernate实现用户登录

一、Dynamic Web Project struct必须是动态网页,而Hibernate可以使用静态网页实现,两者结合使用动态。 在创建动态网页时,记得勾选Generate web.xml deployment descripor,创建web.xml配置文件。 如果你忘记勾选,也可以这样: Dynamic Web Project右击->Java EE Tools->Generate deployment 就可以了。 二、导入两者需要的jar包。 struts需要的jar包: 和hibern

Adyczb的博客 1024

关于利用Eclipse整合hibernate与Spring出现的非代码问题

众所周知利用框架最头疼的问题就是配置xml文件 来说一下今天把老的其他编辑器上的整合hibernate与Spring的测试学习代码搬到eclipse上出现的问题 1 class path resource [XXXXXXXX] cannot be opened because it does not exist 这个错误提示就是在说你在[ ]里面这个文件找不到,建议先看看这个文件到底有没有创建在你自己的项目之中,当然除此之外还有一种可能就是框架自己找不到,即你的文件没有放在它要求的位置 我使用的是ecli

sprea的博客 253
上一篇: HttpWatch工具简介及使用技巧
下一篇: input 因为是disabled而导致不能传值到后台问题
tree3170
博客等级 码龄17年 9粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值