1.springmvc 使用中的错误信息
(1)NetworkError: 400 Bad Request
该错误是springmvc将页面提交信息映射到controller中参数或者bean时,参数类型不匹配导致
比如页面value=“”,而后台bean中定义为private int id;
2.Hibernate
(1)Hibernate中Entity中尽量避免使用java中基本类型int,long等,改用包装类型Integer,Long,因为在数据库中记录转化为Entity时,遇到null无法赋值给int,long
(2)hibernate级联更新时,没有执行delete
@Entity
@Table (name = "BSS_PRODUCT")
public class Product
implements Serializable
{
@Id
@GeneratedValue (generator = "SEQ_BSS_PRODUCT")
@SequenceGenerator (name = "SEQ_BSS_PRODUCT", sequenceName = "SEQ_BSS_PRODUCT")
private int id;
@OneToMany (cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "product", orphanRemoval = true)
private List<FeeItem> feeItems;
public List<FeeItem> getFeeItems()
{
return feeItems;
}
public void setFeeItems(List<FeeItem> feeItems)
{
if(null==this.feeItems){
this.feeItems = feeItems;
}else{
//这里不能直接this.feeItems = feeItems,因为hibernate已经将feeItems这个集合放到hibernate的对象池当中,首先应该告诉hibernate删除掉对象池中集合对象,必须改为如下实现
this.feeItems.clear();
this.feeItems.addAll(feeItems);
}
}
}
3.fastjson问题
(1)转换后字符串含有引用类型{"$ref": "$.itemSkuList[0].itemSpecificationList[0]"}
private SerializerFeature feature = SerializerFeature.DisableCircularReferenceDetect;
String jsonString = JSON.toJSONString(objectToConvert,feature);
如果是springmvc,增加以下配置:
<!-- 避免IE执行AJAX时,返回JSON出现下载文件 -->
<bean id="fastJsonHttpMessageConverter"
class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
<property name="features">
<array value-type="com.alibaba.fastjson.serializer.SerializerFeature">
<value>DisableCircularReferenceDetect</value>
</array>
</property>
<!--<property name="serializerFeature"> -->
<!--这个地方加上这个功能吧,能自己配置一些东西,比如时间的格式化,null输出""等等 -->
<!--</property> -->
</bean>
(2)被转化为JSON字符串对象中某个属性不需要被fastjson序列化,在变量定义处或者变量get方法处添加@JSONField(serialize=false)
官方API说明如下:
com.alibaba.fastjson.annotation.JSONField
@Target(value={FIELD, METHOD, PARAMETER})
@Retention(value=RUNTIME)
Note: This element neither has attached source nor attached Javadoc and hence no Javadoc could be found.
例子如下:
@JSONField(serialize=false)
public Product getProduct() {
return product;
}
4.myibatis
1)通过string传入单个参数到myibatis两种方法
方法一:
在DAO方法上添加@Param,如下:
User findByUsername(@Param(value="username") String username) throws Exception;
<select id="findByUsername" parameterType="java.lang.String"
resultType="User">
SELECT
<include refid="columns_user"></include>
FROM sys_user
WHERE 1=1
<if test="username!= null and username!= ''">
AND user_name=#{username,jdbcType=VARCHAR}
</if>
</select>
方法二:
在DAO中方法保持不变,但在XML中使用_parameter
User findByUsername(@Param(value="username") String username) throws Exception;
<select id="findByUsername" parameterType="java.lang.String"
resultType="User">
SELECT
<include refid="columns_user"></include>
FROM sys_user
WHERE 1=1
<if test="_parameter!= null and _parameter!= ''">
AND user_name=#{_parameter,jdbcType=VARCHAR}
</if>
</select>
2)myibatis配置文件中jdbcType类型值写错后,导致web启动卡停,报错如下:
三月 14, 2017 3:22:29 下午 org.apache.catalina.core.ApplicationContext log
信息: No Spring WebApplicationInitializer types detected on classpath
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
三月 14, 2017 3:22:29 下午 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
[INFO ] localhost-startStop-1 2017-03-14 15:22:30,960 com.mchange.v2.log.MLog - MLog clients using log4j logging.
[INFO ] localhost-startStop-1 2017-03-14 15:22:31,024 com.mchange.v2.c3p0.C3P0Registry - Initializing c3p0-0.9.2.1 [built 20-March-2013 10:47:27 +0000; debug? true; trace: 10]
解决办法:自己检查myibatis的XML配置文件,修复错误配置值
5.linux常用命令
#查找当前目录下.phtml文件中,最近30分钟内修改过的文件
find . -name '*.phtml' -type f -mmin -30
#查找当前目录下.phtml文件中,最近30分钟内修改过的文件的详细情况
find . -name '.phtml' -type f -mmin -30 -ls
#查找当前目录下,最近1天内修改过的常规文件
find . -type f -mtime -l
#查找当前目录下,最近1天前(2天内)修改过的常规文件
find . -type f -mtime +1
6.oracle
6.1 ORA-01034和ORA-27101解决办法
问题:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
解决办法:
sqlplus /nolog;
connect / as sysdba;
shutdown immediate;
startup;
7. J2EE中VO DTO DO PO总结
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。
DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。
PO(Persistent Object):持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。
- 大小: 16.9 KB
分享到:
相关推荐
**J2EE常见问题手册** J2EE(Java 2 Platform, Enterprise Edition)是Java平台的一个版本,专门针对企业级应用开发。它提供了一个全面的框架来构建、部署和管理多层、分布式、跨平台的企业应用程序。J2EE在开发...
以下是一些常见的J2EE面试知识点,详细解析如下: 1. **工厂模式**:工厂模式是一种设计模式,用于创建对象,使得客户端无需知道所创建的具体类型,只需要知道它们属于同一族类。在J2EE开发中,工厂模式常用于创建...
【J2EE开发常见问题详解】 在J2EE开发中,开发者经常遇到一系列的问题,这些问题不仅涉及技术细节,还关乎架构设计和应用部署。本文将深入探讨这些常见问题,帮助开发者提升开发效率和解决问题的能力。 1. **容器...
### 常见JAVA J2EE面试问题解析 在JAVA J2EE领域内,面试时经常会被问到一些关于框架、数据库操作等方面的问题。本文将详细介绍四位面试官曾提出过的典型J2EE面试题目及其解答思路,帮助求职者更好地准备。 #### 1...
J2EE提供了两种主要的技术用于解决这一问题:Session管理和Cookie。 - **Session管理**:服务器端用来跟踪用户会话的一种机制,通常存储在服务器上。 - **Cookie**:客户端用来存储少量数据的一种方式,当浏览器向...
5. **安全性考虑**:在开发J2EE网上购物系统时,必须重视安全问题,例如防止SQL注入、XSS攻击,实现安全的会话管理,以及对敏感数据进行加密传输。 6. **部署与扩展性**:由于J2EE平台的特性,该系统可以轻松部署在...
本压缩包"design-pattern(设计模式,包括创建型、结构型、行为型三大类共23种常见的设计模式和J2EE常见设计模式等).zip"提供了全面的设计模式学习资源,适用于初学者和有经验的开发者,帮助他们提升软件设计能力。...
以下是一些常见的J2EE安全问题及其解决对策: 1. **不安全的身份验证与授权** - 解决对策:确保使用强大的身份验证机制,如基于角色的访问控制(RBAC),并使用HTTPS协议进行加密传输。避免硬编码用户名和密码,...
通过具体的案例,你可以了解到如何使用J2EE技术解决实际问题,例如用户认证、购物车系统、订单处理、库存管理等常见的企业级应用场景。 此外,这份资源可能还会讨论如何与其他技术如Spring Framework、Hibernate...
总的来说,J2EE在线聊天系统利用了J2EE的多种技术,如Servlet、JSP、JDBC和WebSocket,实现了用户认证、注册、聊天记录存储以及实时通信等功能。这样的系统设计可以满足中大型在线社区的需求,同时也为开发者提供了...
以上知识点涵盖了Java面向对象编程基础、字符串处理、异常处理、Servlet和EJB等J2EE面试的常见问题。理解并掌握这些概念对于准备J2EE面试至关重要。在实际面试中,还可能涉及到JDBC、JMS、JSP、Spring框架、...
此外,性能监控和日志记录工具也是必不可少的,如JMX(Java Management Extensions)用于系统管理和监控,Log4j用于日志记录,帮助开发者诊断和解决可能出现的问题。 总的来说,"网上银行系统J2EE"是一个涉及众多...
**J2EE简单打卡系统详解** 本项目是一个基于Java企业级平台(J2EE)的简单打卡系统,主要采用Spring...同时,它也涵盖了常见的企业级功能,如用户认证、数据持久化和权限管理,有助于提升开发者对J2EE开发的整体理解。
J2EE支持审计日志记录、数字签名和时间戳等机制,以确保交易的可追溯性,从而建立责任机制。 J2EE安全体系架构中,还包括以下关键组件和机制: - **角色与权限**:通过定义不同的角色(如管理员、用户等),并分配...
在这个环境中,我们讨论的是一个基于J2EE的图书管理系统,这是一个常见的项目案例,用于教学和实践目的。 该系统的主要目标是管理和维护图书馆的书籍信息,包括书籍的入库、出库、借阅、归还等功能。系统可能包含...
常见的SQL数据库有MySQL、Oracle、SQL Server等。SQL语句包括SELECT(查询)、INSERT(插入)、UPDATE(更新)、DELETE(删除)等,用于数据的增删改查操作。 三、MyEclipse开发环境 MyEclipse是一款集成开发环境...
在《开发高效率的J2EE企业应用》的分享中,作者Robbin(来自JavaEye.com)分享了他的调优经历,揭示了J2EE应用中常见的效率问题及其解决方案。 首先,EJB事务配置是关键。不当的配置可能导致事务处理效率低下,例如...
设计模式是软件工程中的一种最佳实践,它们是解决常见问题的经过验证的解决方案模板。在J2EE环境中,设计模式对于创建可扩展、灵活且易于维护的应用程序至关重要。本资料重点介绍了J2EE中的常用设计模式以及Structs...
在J2EE应用中,良好的日志管理对于问题排查和性能分析至关重要。 2. **Dom4j**:这是一个强大的Java XML处理库,它支持DOM、SAX和JDOM的API。Dom4j简化了XML文档的读写操作,提供了元素、属性、文本节点等的便捷...