`

J2EE常见问题记录

 
阅读更多

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常见问题手册.rar

    **J2EE常见问题手册** J2EE(Java 2 Platform, Enterprise Edition)是Java平台的一个版本,专门针对企业级应用开发。它提供了一个全面的框架来构建、部署和管理多层、分布式、跨平台的企业应用程序。J2EE在开发...

    J2EE常见面试题 J2EE常见面试题

    以下是一些常见的J2EE面试知识点,详细解析如下: 1. **工厂模式**:工厂模式是一种设计模式,用于创建对象,使得客户端无需知道所创建的具体类型,只需要知道它们属于同一族类。在J2EE开发中,工厂模式常用于创建...

    J2EE开发中常见的问题总结

    【J2EE开发常见问题详解】 在J2EE开发中,开发者经常遇到一系列的问题,这些问题不仅涉及技术细节,还关乎架构设计和应用部署。本文将深入探讨这些常见问题,帮助开发者提升开发效率和解决问题的能力。 1. **容器...

    4个常见的JAVA J2EE 面试问题 源创

    ### 常见JAVA J2EE面试问题解析 在JAVA J2EE领域内,面试时经常会被问到一些关于框架、数据库操作等方面的问题。本文将详细介绍四位面试官曾提出过的典型J2EE面试题目及其解答思路,帮助求职者更好地准备。 #### 1...

    j2ee 笔记 j2ee 笔记 j2ee 笔记

    J2EE提供了两种主要的技术用于解决这一问题:Session管理和Cookie。 - **Session管理**:服务器端用来跟踪用户会话的一种机制,通常存储在服务器上。 - **Cookie**:客户端用来存储少量数据的一种方式,当浏览器向...

    J2EE网上购物系统

    5. **安全性考虑**:在开发J2EE网上购物系统时,必须重视安全问题,例如防止SQL注入、XSS攻击,实现安全的会话管理,以及对敏感数据进行加密传输。 6. **部署与扩展性**:由于J2EE平台的特性,该系统可以轻松部署在...

    design-pattern(设计模式,包括创建型、结构型、行为型三大类共23种常见的设计模式和J2EE常见设计模式等).zip

    本压缩包"design-pattern(设计模式,包括创建型、结构型、行为型三大类共23种常见的设计模式和J2EE常见设计模式等).zip"提供了全面的设计模式学习资源,适用于初学者和有经验的开发者,帮助他们提升软件设计能力。...

    J2EE工程实现中常见安全问题解决对策.rar

    以下是一些常见的J2EE安全问题及其解决对策: 1. **不安全的身份验证与授权** - 解决对策:确保使用强大的身份验证机制,如基于角色的访问控制(RBAC),并使用HTTPS协议进行加密传输。避免硬编码用户名和密码,...

    J2EE专业项目实例开发

    通过具体的案例,你可以了解到如何使用J2EE技术解决实际问题,例如用户认证、购物车系统、订单处理、库存管理等常见的企业级应用场景。 此外,这份资源可能还会讨论如何与其他技术如Spring Framework、Hibernate...

    J2EE在线聊天系统

    总的来说,J2EE在线聊天系统利用了J2EE的多种技术,如Servlet、JSP、JDBC和WebSocket,实现了用户认证、注册、聊天记录存储以及实时通信等功能。这样的系统设计可以满足中大型在线社区的需求,同时也为开发者提供了...

    J2EE面试葵花宝典

    以上知识点涵盖了Java面向对象编程基础、字符串处理、异常处理、Servlet和EJB等J2EE面试的常见问题。理解并掌握这些概念对于准备J2EE面试至关重要。在实际面试中,还可能涉及到JDBC、JMS、JSP、Spring框架、...

    网上银行系统J2ee

    此外,性能监控和日志记录工具也是必不可少的,如JMX(Java Management Extensions)用于系统管理和监控,Log4j用于日志记录,帮助开发者诊断和解决可能出现的问题。 总的来说,"网上银行系统J2EE"是一个涉及众多...

    J2EE简单打卡系统

    **J2EE简单打卡系统详解** 本项目是一个基于Java企业级平台(J2EE)的简单打卡系统,主要采用Spring...同时,它也涵盖了常见的企业级功能,如用户认证、数据持久化和权限管理,有助于提升开发者对J2EE开发的整体理解。

    j2ee安全体系架构

    J2EE支持审计日志记录、数字签名和时间戳等机制,以确保交易的可追溯性,从而建立责任机制。 J2EE安全体系架构中,还包括以下关键组件和机制: - **角色与权限**:通过定义不同的角色(如管理员、用户等),并分配...

    J2EE 图书管理系统

    在这个环境中,我们讨论的是一个基于J2EE的图书管理系统,这是一个常见的项目案例,用于教学和实践目的。 该系统的主要目标是管理和维护图书馆的书籍信息,包括书籍的入库、出库、借阅、归还等功能。系统可能包含...

    j2ee图书管理系统

    常见的SQL数据库有MySQL、Oracle、SQL Server等。SQL语句包括SELECT(查询)、INSERT(插入)、UPDATE(更新)、DELETE(删除)等,用于数据的增删改查操作。 三、MyEclipse开发环境 MyEclipse是一款集成开发环境...

    开发高效率的J2EE企业应用.ppt

    在《开发高效率的J2EE企业应用》的分享中,作者Robbin(来自JavaEye.com)分享了他的调优经历,揭示了J2EE应用中常见的效率问题及其解决方案。 首先,EJB事务配置是关键。不当的配置可能导致事务处理效率低下,例如...

    J2EE设计模式与Structs详解

    设计模式是软件工程中的一种最佳实践,它们是解决常见问题的经过验证的解决方案模板。在J2EE环境中,设计模式对于创建可扩展、灵活且易于维护的应用程序至关重要。本资料重点介绍了J2EE中的常用设计模式以及Structs...

    J2EE常用jar包

    在J2EE应用中,良好的日志管理对于问题排查和性能分析至关重要。 2. **Dom4j**:这是一个强大的Java XML处理库,它支持DOM、SAX和JDOM的API。Dom4j简化了XML文档的读写操作,提供了元素、属性、文本节点等的便捷...

Global site tag (gtag.js) - Google Analytics