`

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面试笔试常见题集大全

    本资源记录了各种常见的Java题型以及各大公司的面试题和笔试题,对面试Java的程序员很有帮助。

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。 为了增加系统的...

    各大IT公司面试题集合

    │ Java常见问题集锦 -- 最大的IT资源网.txt │ JAVA问题.txt │ Java陷阱一箩筐----面试题集.doc │ Java陷阱一箩筐----面试题集[zt].txt │ JAVA面试题.txt │ JAVA面试题集(1) -- 最大的IT资源网.txt │...

    停车管理系统毕业设计论文.pdf

    为了解决这个停车难这一城市常见病的问题,无论是那些停车场的管理人员们,还是我们广大的车主们,都十分的需要有一套安全可靠、设计成熟的停车管理系统,来满足大家的使用需求。本系统的使用比起以往人工的传统记录...

    java停车管理系统-毕业设计(论文).pdf

    决这个停车难这一城市常见病的问题,无论是那些停车场的管理人员们,还是我 们广大的车主们,都十分的需要有一套安全可靠、设计成熟的停车管理系统,来 满足大家的使用需求。本系统的使用比起以往人工的传统记录,要...

    java面试题以及技巧

    │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE...

    java面试题目与技巧1

    │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE...

    java面试题及技巧4

    │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE...

    java面试题及技巧3

    │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE...

    java面试题以及技巧6

    │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE...

    Spring API

    9.9. 常见问题的解决方法 9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 ...

    java面试题大全(2012版)

    2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终止提交? 84 4、...

    超级有影响力霸气的Java面试题大全文档

     异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获...

    java 面试题 总结

    异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的...

    关于JAVA面试的100题及其答案

    异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的...

    JAVA面试题最全集

    2.J2EE是一种技术还是一种平台,他提供了那些技术。 3.什么是Application Server,它有什么功能和优点。 4.简单介绍连接池的优点和原理。 5.Web.xml的作用 四、其他 1.Web安全性的考虑(表单验证、浏览器Basic...

    进销存系统文档作业例子

    异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的...

    asp.net知识库

    如何解决ACCESS中SELECT TOP语句竟然返回多条记录的问题? Asp.net 利用OleDb的GetOLEDBSchemaTable方法得到数据库架构信息 用于 Visual Studio .Net 的 IBM DB2 开发外接程序 第2章 并发操作的一致性问题 (2) Using...

    Java面试宝典2010版

    2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终止提交? 4、请写...

Global site tag (gtag.js) - Google Analytics