随笔分类 -  java学习心得

摘要:一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。因此如果要序列化某些类的对象,这些类就必须实现Serializable接口。而实际上,Serializable是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化。什么情况下需要序列化 ??a)当你想把的内存中的对象写入到硬盘的时候;b)当你想用套接字在网络上传送对象的时候;c)当你想通过RMI传输对象的时候;详细解释一下:a)比如说你的内存不够用了,那计算机就要将内存里面的一部分对象暂时的保存到硬盘中,等到要用的时候再读入到内存中,硬盘的那部分存储空间就是所谓的虚拟内存。在比 阅读全文
posted @ 2013-04-10 21:48 -1 阅读(1455) 评论(0) 推荐(0)
摘要:EL表达式和Ognl表达式,取数据的区别11.1、一般的EL表达式:${}查询变量的顺序为:1,当前域,即作用域2,page , request , session , application(从小到大,没有返回null${}可以写在jsp页面的任何位置,包括字符串中11.2、使用了Struts2后,在JSP中写的EL表达式(${})查询变量的顺序为:1,作用域 ,当前域2,值栈,ValueStack3,ActionContext中的map集合 :包括: request , session , application ,parameters ,attr集合,还有ActionContext本身的 阅读全文
posted @ 2013-04-08 22:07 -1 阅读(1147) 评论(0) 推荐(0)
摘要:最近在做一个OA项目,考了别人的一段代码,他的action的扩展名是action,我用的是do。 为了实现懒加载,我配置了过滤器:org.springframework.orm.hibernate3.support.OpenSessionInViewFilter 考了别人的代码后,我需要该过滤器同时拦截do和action请求,所以需要配置多个url-pattern<filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework 阅读全文
posted @ 2013-04-02 22:13 -1 阅读(736) 评论(1) 推荐(1)
摘要:l JSON(JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。sssJSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。l JSON的规则很简单:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。 规则如下: 1)映射用冒号(“:”)表示。名称:值 2)并列的数据之间用逗号(“,”)分隔。名称1:值1,名称2:值2 3) 映射的集合(对象)用大括号(“{}”)表 阅读全文
posted @ 2013-03-28 21:49 -1 阅读(423) 评论(0) 推荐(2)
摘要:请求行中的GET称之为请求方式,请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT常用的有: GET、 POST用户如没有设置,默认情况下浏览器向服务器发送的都是get请求,例如在浏览器直接输地址访问,点超链接访问等都是get,用户如想把请求方式改为post,可通过更改表单的提交方式实现。不管POST或GET,都用于向服务器请求某个WEB资源,这两种方式的区别主要表现在数据传递上:如请求方式为GET方式,则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔,例如: http://localhost:8080/mail/ 阅读全文
posted @ 2013-03-26 22:41 -1 阅读(582) 评论(0) 推荐(0)
摘要:1,tomcate服务器的启动需要java的JDK的支持,需要配置java_home环境变量以便支持服务器的启动 在window里配置java_home环境变量: 将JAVA_HOME环境变量设置为JDK的主目录,就可以使用startup.bat文件启动Tomcat了2, 端口占用问题:Tomcat服务器的占用端口是8080,如果有其它程序占用了8080端口的话,那么tomcat服务器就无法启动。要么关闭占用8080端口的其它程序,要么更改tomcat服务器默认占用端口8080为其它端口3, Catalina_home环境变量的设置问题 Catalina_home环境变量设置的是Tomcat服 阅读全文
posted @ 2013-03-25 23:21 -1 阅读(192) 评论(0) 推荐(0)
摘要:web标准的存放数据的范围有:pageContext域,request域,session域,application域(ServletContext)。struts2自己又定义了一个容器来存放数据,即:ActionContext。ActionContext是个Map集合,它持有了web标准的4个域,通过它可以直接获取这四个标准容器。不仅如此,它还引用了其它struts2自己定义的对象:ActionContext的几个特点:1,ActionContext是Strtuts2新设计出来的存储数据的容器,该容器是个Map集合,它里面持有到达各个容器(其它map)的引用,如可以获取标准的4个域容器,还有s 阅读全文
posted @ 2013-03-24 23:00 -1 阅读(925) 评论(1) 推荐(2)
摘要:最近在使用SSH开发OA项目,但是在发布应用程序时,总是会遇到 java.lang.OutOfMemoryError: PermGen space异常,该异常是:永久保存区域溢出于是在网上查了查,下面是查询的结果解释: PermGen space的全称是Permanent Generationspace,是指内存的永久保存区域。 这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGenspace区域,它和和存放Instance的Heap(堆)区域不同,GC(Garbage Collection)不会在主程序运行期对PermGenspace进行清理,所... 阅读全文
posted @ 2013-03-21 22:38 -1 阅读(528) 评论(0) 推荐(0)
摘要:=========完成一组功能(增删改查)的流程(已经分析完功能) =============一、准备Action相关 1,定义XxAction类,要继承BaseAction 2,定义Action中所有的方法(要有注释、方法名、返回值) 3,创建JSP页面 4,配置Action 1,(Spring)在XxAction上写注解:@Controller、@Scope("prototype") 2,(Struts2)在struts.xml中配置action <action name="xxAction_*" class="xxAction&qu 阅读全文
posted @ 2013-03-20 22:41 -1 阅读(602) 评论(0) 推荐(0)
摘要:我们在开发的时候经常会遇到延迟加载问题,在实体映射时,多对一和多对多中,多的一样的属性默认是lazy="true"(即,默认是延迟加载),如:<many-to-one name="parent" class="Department" column="parentId" lazy="true"/>延迟加载表现在:比如:我们要查询id为2的部门数据,但是有许多用户数据的部门外键是id为2,我们在查询的时候,由于默认lazy="true"(懒加载),所以是不会查询部门外 阅读全文
posted @ 2013-03-19 23:11 -1 阅读(1029) 评论(1) 推荐(1)
摘要:1, JSP程序存在有与Servlet程序完全相同的中文乱码问题,response对象的编码:response.setChar告诉浏览器要使用什么编码来解析输给它的数据:response.setHeader()request对象的编码问题2, JSP引擎将JSP页面翻译成Servlet源文件时也可能导致中文乱码问题2-1:如果JSP源文件中没有说明它采用的字符集编码,JSP引擎会使用默认ISO8859-1字符集编码将jsp文件翻译成servlet。(这时如果jsp文件中有中文,那么翻译后的servlet会出现中文乱码) 2-2:Jsp文件可通过page指令的pageEncoding属性来说明j 阅读全文
posted @ 2013-03-18 23:44 -1 阅读(822) 评论(1) 推荐(0)
摘要:每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用。由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响。JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9个与web开发相关的对象供_jspServlet使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的 阅读全文
posted @ 2013-03-17 23:48 -1 阅读(348) 评论(0) 推荐(0)
摘要:Bean的生命周期: 1,实例化bean 2,设置javaBean的属性值 3,若该bean实现了BeanNameAware接口,则调用该接口的setBeanName()方法 4,若该bean实现了BeanFactoryAware接口,则调用该接口的setBeanFactory()方法 5, 若sping为所有javaBean配置了后处理器,即实现了BeanPostPorcessor接口的java类,并在配置文件中注册为bean 调用BeanPostProcessor接口的postProcessBeforeInitialization()方法 6,若bean实现了InitializingBe. 阅读全文
posted @ 2013-03-16 23:08 -1 阅读(4955) 评论(0) 推荐(2)
摘要:Configuration 类Configuration 类负责管理 Hibernate 的配置信息。包括如下内容:Hibernate运行的底层信息:数据库的URL、用户名、密码、JDBC驱动类,数据库Dialect,数据库连接池等(对应 hibernate.cfg.xml 文件)。持久化类与数据表的映射关系(*.hbm.xml 文件)创建 Configuration 的两种方式1,xml文件(hibernate.cfg.xml) (常用这种方法 )Configuration cfg = new Configuration(); cfg.configure() ;2,属性文件(hibernat 阅读全文
posted @ 2013-03-15 22:24 -1 阅读(1510) 评论(0) 推荐(1)
摘要:一多对需要注意的问题: 多看文字部分的内容,有助于理解多 对多需要注意的问题: 阅读全文
posted @ 2013-03-13 23:27 -1 阅读(140) 评论(0) 推荐(0)
摘要:问题的关键:clazz其实应该是T.class,clazz该如何获取???public abstract class BaseDaoImpl<T> implements BaseDao<T>{ private SessionFactory sessionFactory ; //比如Class<User> clazz ,那么clazz就应该代表User.class private Class<T> clazz ; //clazz表示该类的子类传递给父类泛型上的类型,即T.class ,我需要在父类上获取父类泛型的具体类型,通过反射 protecte 阅读全文
posted @ 2013-03-12 23:11 -1 阅读(3197) 评论(0) 推荐(0)
摘要:1,spring的配置文件:applicationContext.xml <!-- 注册LocalSessionFactoryBean --><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 指定hibernate中的映射资源文件(x 阅读全文
posted @ 2013-03-11 23:24 -1 阅读(343) 评论(0) 推荐(0)