`
在水伊方
  • 浏览: 107522 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论
文章列表
续Spring之HelloWorld:http://huangminwen.iteye.com/admin/blogs/1040405   Spring容器启动后,首先读取spring.xml配置文件中的bean信息,然后再实例化该bean,所以我们就可以直接获取bean来使用了,而无需实例化,下面我们模拟一下Spring容器的工作原理,首先我们需要先读取spring.xml配置文件,然后再初始化bean标签页中的类,SimulateClassPathXMLApplicationContext说明了该过程: package org.spring.junit; import java ...

Spring环境搭建

Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目的是简化企业开发。   搭建环境步骤: 1、到http://www.springsource.org/download下载spring,我用的是spring-framework-2.5.6的版本   2、导入2个常用包      spring-framework-2.5.6\dist\spring.jar     spring-framework-2.5.6\lib\jakarta-commons\commons-logging   3、创建spri ...
1、整个继承树映射到一张表 在一个论坛中有用户(User)这个实体类,其中User这个实体中有分为普通用户,管理员与游客这3种身份,而这3种现在身份的用户就只有一个字段(即类型)不相同,可以考虑用Hibernate中的Table per class hierarchy策略   对象模型(Java类结构) 表结构 User代码: package org.hibernate.domain; import java.util.Date; /** * 实体类 */ public class User { private int id; private Stri ...
设想一下部门与员工的关系,如果一个部门有几百个员工,则我们在存储数据的时候,需要一次的保存每个员工的信息,如果能在对部门进行操作的时候,把员工的信息也进行相对应的操作,那就方便多了,Hibernate中的Cascade便可以解决上述问题。   Cascade用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似的操作,常用的cascade:none,all,save-update,delete,lock,refresh,evict,replicate,persist,merge,delete-orphan(one-to-many)。一般对many-to-one,many-to-man ...
组件(Component)是一个被包含的对象,在持久化的过程中,它被当作值类型,而并非一个实体的引用(即数据库中没有表与该属性对应,但该类的属性要之久保存的。)。举个例子, 你对人(Person)这个概念可以像下面这样来建模: public class Person { private java.util.Date birthday; private Name name; private String key; public String getKey() { return key; } private void ...
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; /** * 计算2个日期之间的相差天数 */ public class CountTimeDiff { public static void main(String[] args) { try { // 日期格式 SimpleDateFormat sdf = n ...
       OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。   OGNL有一个上下文(Context)概念,说白了上下文就是一个MAP结构,它实现了java.utils.Map接口,在Struts2中上下文(Context)的实现为ActionContext,下面是上下文(Context)的结构示意图  
       如果我们的项目需要支持多国语言,则我们需要对项目进行国际化,下面简单介绍一下Struts2中为我们提供的国际化功能,仅作为入门知识   Struts2中的国际化资源文件分为以下3种: 1、全局范围的国际化       首先我们需要编写国际化资源文件,资源文件的命名如下:               baseName_language_country.properties          baseName_language.properties                其中baseName是资源文件的基本名,我们可以自定义,但language和cou ...
为什么会有拦截器: 许多Action都需要做一些相同的事情,比如说登录验证,表单输入验证,上传文件时的初始化操作,而有些Action则需要在页面显示前做一些预先填充数据的准备,这些需求在项目中都是很常见的,设想一下, ...
       在大部分应用里,随着应用规模的增加,系统中Action的数量也会大量增加,导致struts.xml配置文件变得非常臃肿。为了避免struts.xml文件过于庞大、臃肿,提高struts.xml文件的可读性,我们可以将一个struts.xml配置文件分解 ...

Struts2--工作流程

下图描述了Struts 2 的整体结构       1、 在上图中客户端初始化一个指向Servlet容器(例如 Jetty 或者Resin)的请求 2 、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action 4 、如果ActionMapper决定需要调用某个Action, ...
Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入值。注意:属性必须提供setter方法。下面举例说明: 配置文件如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apa ...
1.获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action   2.首先寻找namespace为/path1/path2/path3的package,如果不存在这个package则执行步骤3;如果存在这个package,则在这个package中寻找名字为test的action,当在该package下寻找不到action 时就会直接跑到默认namaspace的package里面去寻找action(默认的命名空间为空字符串“” ),如果在默认namaspace的package

Struts2--HelloWorld

因为struts2是通过filter启动的,而web.xml配置文件中的StrutsPrepareAndExecuteFilter的init()方法会读取类路径下默认的配置文件struts.xml完成初始化操作,故我们需要首先配置struts.xml文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" ...

Struts2--环境搭建

Struts的环境搭建,分为以下步骤: 1、到http://struts.apache.org/download.cgi#struts221下载struts-2.3.8-all.zip,下载完成后,解压该文件,开发struts2应用需要依赖的jar文件在解压目录的lib文件夹下,使用struts-2.3.8开发应用,最少需要依赖的jar见附件   2、接下来需要编写Struts2的配置文件,这里只是作为测试环境用,所以<struts>标签内没有任何内容 <?xml version="1.0" encoding="UTF-8" ...
Global site tag (gtag.js) - Google Analytics