J2EE & SSH
文章平均质量分 77
枫之逆
逆风的方向,更适合奔跑。。
展开
-
spring原理--感悟
spring的最大作用ioc/di(控制反转),将类与类的依赖关系写在配置文件中,程序在运行时根据配置文件动态加载依赖的类,降低的类与类之间的藕合度。它的原理是在applicationContext.xml加入bean标记,在bean标记中通过class属性说明具体类名、通过property标签说明该类的属性名、通过constructor-args说明构造子的参数。其一切都是反射,当通过appli原创 2012-02-25 19:48:24 · 1081 阅读 · 6 评论 -
Struts2学习之国际化机制
什么叫国际化呢?自学时刚看到这个词的时候感觉好像很高端很难的样子,深入理解后才发现就那么一回事,不过其中的机制确实挺好的。 国际化主要是指语言的国际化,是不同地区和使用不同语言的用户都能方便地使用同一个应用系统。Struts2的国际化机制是建立在Java国际化 的基础之上,对Java国际化 进行了优化和封装。主要过程如下: 当客户端发送请求时,Struts2的i18n(原创 2012-02-28 18:43:50 · 1240 阅读 · 0 评论 -
Hibernate学习之缓存
Hibernate中有两种缓存机制。分为第一级和第二级。 第一级缓存,即Session缓存,是内置在内存中的,不能卸载,当应用程序调用Session的save(),update(),get(),load()方法或查询接口的list(),iterate()方法时,如果session缓存中不存在相关的对象,则会把该对象加入到以及缓存,这个一般是事务范围的缓存,即生命周期在事务范围中存原创 2012-03-09 13:22:28 · 1258 阅读 · 0 评论 -
Hibernate学习之事务
一、事务。 事务是指一个单元的工作,这些工作要么全做,要么全不做。事务处理可以确保所有操作都成功完成,否则不会永久更新面向数据的资源。事务有ACID属性(Atomicity原子性,Consistency一致性,Isolation隔离性,Durability持久性。) 原子性指事务必须是源自工作单元,对于数据修改要么全都执行,要么全都不执行。通常于某个事务关联的操原创 2012-03-03 21:46:39 · 7674 阅读 · 2 评论 -
shiro 授权介绍
授权即访问控制,它将判断用户在应用程序中对资源是否拥有相应的访问权限。如,判断一个用户有查看页面的权限,编辑数据的权限,拥有某一按钮的权限,以及是否拥有打印的权限等等。一、授权的三要素授权有着三个核心元素:权限、角色和用户。权限权限是Apache Shiro安全机制最核心的元素。它在应用程序中明确声明了被允许的行为和表现。一个格式良好好的权限声明可以清晰表达出用户对原创 2012-05-23 14:55:26 · 15764 阅读 · 4 评论 -
JSTL标签库介绍及EL表达式语言介绍
前言从JSP 1.1规范开始,JSP就支持在JSP中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL(JavaServer Pages Standard Tag Library)的诞生。JSTL简介JSTL包含两个部分:标签库和EL(Expression Language表达式语言)语言。标签库目前支持四种标签:标签 URI 前缀 示例原创 2012-05-23 14:39:57 · 1437 阅读 · 0 评论 -
SpringMVC 用注解Annotation驱动的IoC功能@Autowired @Component
本文分为三个部分:概述、使用注解进行属性注入、使用注解进行Bean的自动定义。一,概述注释配置相对于 XML 配置具有很多的优势:它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射转载 2012-05-24 15:15:44 · 24256 阅读 · 4 评论 -
SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
概述继 Spring 2.0 对 Spring MVC 进行重大升级后,Spring 2.5 又为 Spring MVC 引入了注解驱动功能。现在你无须让 Controller 继承任何接口,无需在 XML 配置文件中定义请求和 Controller 的映射关系,仅仅使用注解就可以让一个 POJO 具有 Controller 的绝大部分功能 —— Spring MVC 框架的易用性得到了进转载 2012-05-24 16:03:50 · 122867 阅读 · 45 评论 -
反射获取对象成员的字段值,getFields()和getDeclaredFields()用法区别
用反射获取内部类的属性其实很简单。。我弄了半天才弄好,由于很弱智的原因啊,写此博文已吸取教训。 虽简单,但是太坑爹了,getFields()只能获取public的字段,包括父类的。 而getDeclaredFields()只能获取自己声明的各种字段,包括public,protected,private。 而我写的Characters类中的属性是在继承父类的,父类中是protect原创 2013-03-06 18:44:26 · 77549 阅读 · 10 评论 -
Freemarker 内置函数 数字、字符串、日期格式化用法介绍
在用FreeMarker过程中,感觉FreeMarker的字符串,日期,集合等处理能力还是很强大的,上网搜了一些资料,整理如下,以便能帮助大家更熟练的应用Freemarker完成项目开发。一、Sequence的内置函数1. sequence?first 返回sequence的第一个值。2. sequence?last 返回sequence的最后一个值。3.原创 2012-07-26 17:06:57 · 49883 阅读 · 4 评论 -
【protocol buffers】java解析protoBuf custom option自定义扩展文件具体方法
一、前言 由于需要解析自定义扩展,获取对应的信息,方便以后扩展,需要解析,上网找了很久木有找到解决办法,而且官方的文档(https://developers.google.com/protocol-buffers/docs/reference/java/index),于是自己在debug模式下一步一步找到解决办法,记录并分享如下。 注:关于protocol buffer的基础知识,如p原创 2014-01-14 22:25:41 · 9005 阅读 · 2 评论 -
Spring学习之深入AOP面向切面编程
AOP(Aspect Oriented Programming,面向切面编程)的主要目的是针对业务处理过程中的切面进行提取,所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。可以通过预编译方式和运行时动态代理,实现在不修改源代码的请你工况下,给程序动态添加功能的一种技术。在OOP中模块化的关键单元是类,而在AOP中模块化的单元是切面。切面能对关注点进行模块化,例如原创 2012-03-02 13:33:23 · 16059 阅读 · 0 评论 -
Spring学习之使用关闭钩子销毁bean
Spring中关于bean的销毁有三种方法。分别是1)执行某一方法如destroy()方法,然后在标签上的destroy-method属性制定方法名就行了。2)实现DisopableBean接口的destroy方法,DispoableBean接口只有一个destroy方法,在bean销毁前调用。代码如下:public class DestructiveBeanImpl implements原创 2012-03-08 16:27:56 · 12110 阅读 · 5 评论 -
Hibernate使用之检索方式HQL
Hibernate的检索方式主要有5种,分别为导航对象图检索方式、OID检索方式、HQL检索方式、QBC检索方式和SQL检索方式。其中前两者比较简单,比如OID检索方式是指Session对象的get()和load()方法。HQL是Hibernate Query Language的缩写,是官方推荐的查询语言。QBC是Query By Criteria的缩写,是Hibernate提供的一个接口。Hib原创 2012-02-28 19:41:15 · 2129 阅读 · 0 评论 -
Struts2学习之拦截器机制
一些资料上都说Struts2框架中,拦截器是基石,许多共嫩的实现都是构建在拦截器的基础之上的,例如文件的上传与下载、国际化、类型转换和数据校验等,且Struts2还提供内建拦截器,例如timer和params等,这些拦截器可完成框架的大部分赶任务。于是对拦截器的机制进行了进一步学习和了解。拦截是AOP(Aspect-Oriented Programming,面向切面编程)的一种实现策略。如果说原创 2012-02-28 20:46:18 · 1284 阅读 · 0 评论 -
Sping学习之HibernateTemplate源码
对Spring和Hibernate整合过程中,一直不太懂原理,感觉看着API用,实在是不踏实,于是上网找到了这个HibernateDaoSupport中提供的模版方法的源码,代码如下:/* * Copyright 2002-2008 the original author or authors. * * Licensed under the Apache License, Version 2原创 2012-03-03 14:18:15 · 7043 阅读 · 0 评论 -
Spring学习之MVC框架
SpringMVC是基于Model2实现的框架,Model2的目的和MVC一样也是利用处理器分离模型、视图、控制,达到不同技术层级之间松散耦合的效果,从而提高系统的灵活性、复用性和可维护性。主要步骤如图所示: 在整个框架中DispathcerServlet处于核心的位置,负责协调和组合字不同组件共同完成请求响应的工作,SpringMVC通过一个前端Servlet处理器接受原创 2012-03-03 11:10:11 · 1753 阅读 · 0 评论 -
Spring学习之Bean装配、生命周期。。
Resource res = new FileSystemResource(" bean.xml"); //实例化文件系统资源bean.xmlBeanFactory factory = new XmlBeanFactory (res);//生成Bean工厂ApplicationContext:ApplicationContext factory = new ClassPathXmlApplic原创 2012-03-01 12:52:40 · 1927 阅读 · 0 评论 -
Spring学习之中文乱码问题
在用Spring开发时,难免会遇到乱码问题,在Spring中的解决方法如下:虽然表示层的页面都是JSP实现,JSP中的编码格式都采用UTF-8,但是中文乱码还是出现了,不过用SpringMVC来处理这个问题就简单多了,只需要在web.xml中配置一个Spring的编码转换过滤器就可以了。web.xml中的部分代码如下所示: encodFilter org.springframewo原创 2012-03-02 13:48:12 · 3387 阅读 · 1 评论 -
Servlet、jsp的生命周期,线程安全,感悟
在学Servlet、JSP时候,对于servlet什么时候创建实例?什么时候调用init()方法,init()方法有什么作用?service()方法何时调用?如何处理请求?init()、jspInit()、service()、_jspService()、destroy()、jspDestroy()能不能覆盖?ServletContext作用域、HttpSession作用域、HttpServletR原创 2011-12-16 11:06:44 · 2658 阅读 · 0 评论 -
J2EE ajax中文乱码解决
前几天在关于java web 开发中遇到的表单提交、ajax提交的乱码问题,纠结死了,找了下资料,终于发现解决方法,总结了一下,方便日后查找。 1、html表单提交,在文本框中输入中文提交到Servlet或JSP处理,即使对HttpServletRequest中的方法进行了设置req.setCharacterEncoding("gb2312");也不能解决中文乱码问题,但是英文则原创 2011-12-15 10:45:27 · 1139 阅读 · 0 评论 -
<jsp:useBean />及相关动作深入理解
学JSP的时候,发现jsp和javaBean合作真的很方便,一些东西直接交给javaBean处理,但是在用的过程中,还是发现了不少问题,如果提交表单中有中文怎么办?javaBean里面的属性成员不只是基本数据类型,而是Object类型又如何处理?深入了解了后,发现javaBean其实不过是各种作用域的一个Attrubute属性。 1、单独使用和包含使用。单独使用即原创 2011-12-18 15:42:55 · 1318 阅读 · 0 评论 -
Struts2(2.1.2)部分源码阅读
从org.apache.struts2.dispatcher.FilterDispatcher开始 //创建Dispatcher,此类是一个Delegate,它是真正完成根据url解析,读取对应Action的地方 public void init(FilterConfig filterConfig) throws ServletException {转载 2012-03-05 13:04:07 · 1282 阅读 · 0 评论 -
深挖ThreadLocal
ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它原创 2014-04-22 16:59:27 · 428274 阅读 · 229 评论