摘要: 拦截器(interceptor)是Struts2最强大的特性之一,也可以说是struts2的核心,拦截器可以让你在Action和result被执行之前或之后进行一些处理。同时,拦截器也可以让你将通用的代码模块化并作为可重用的类。Struts2中的很多特性都是由拦截器来完成的。拦截是AOP(Aspec 阅读全文
posted @ 2016-02-04 17:54 kabibo 阅读(4102) 评论(0) 推荐(0)
摘要: 一、处理一般异常(javaBean异常) struts2进行异常处理首先需要添加exception拦截器,而默认拦截器栈已经加入了这个拦截器,所以不用特意的声明。在Struts 2框架中,采用声明式异常处理方式。在这种方式下,只需要在struts.xml文件中进行配置,Struts 2便能够处理异常 阅读全文
posted @ 2016-02-04 17:54 kabibo 阅读(838) 评论(0) 推荐(0)
摘要: 一、问题的提出 在mvc中,数据是在各个层次之间进行流转是一个不争的事实。而这种流转,也就会面临一些困境,这些困境,是由于数据在不同世界中的表现形式不同而造成的: 1. 数据在页面上是一个扁平的,不带数据类型的字符串,无论你的数据结构有多复杂,数据类型有多丰富,到了展示的时候,全都一视同仁的成为字符 阅读全文
posted @ 2016-02-04 17:53 kabibo 阅读(811) 评论(0) 推荐(0)
摘要: 一、Struts2内置拦截器 Struts2中内置类许多的拦截器,它们提供了许多Struts2的核心功能和可选的高级特 性。这些内置的拦截器在struts-default.xml中配置。只有配置了拦截器,拦截器才可以正常的工作和运行。Struts 2已经为您提供丰富多样的,功能齐全的拦截器实现。大家 阅读全文
posted @ 2016-02-04 17:53 kabibo 阅读(685) 评论(0) 推荐(0)
摘要: 首先我们一起来看一下OGNL中的#、%和$符号。 关于OGNL各种用法总结参看:http://blog.163.com/seara520@126/blog/static/72069304201032081730286/ 一.OGNL中的#、%和$符号 #、%和$符号在OGNL表达式中经常出现,而这三 阅读全文
posted @ 2016-02-04 17:52 kabibo 阅读(2639) 评论(0) 推荐(0)
摘要: 一.Action中的代码:MapAction.java package com.zx.demo.action; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util. 阅读全文
posted @ 2016-02-04 17:51 kabibo 阅读(931) 评论(0) 推荐(0)
摘要: 一、简介 struts2确实一个非常棒的MVC框架。这里部分记述一下struts2对AJAX的支持。实现AJAX有两种方式,一种是使用原生的javascript代码实现,一种是使用第三方的ajax框架(jquery,dwr,dojo等),jquery和dwr比较简单,做项目时也会经常用到。Strut 阅读全文
posted @ 2016-02-04 17:51 kabibo 阅读(343) 评论(0) 推荐(0)
摘要: 一、简介 <s:iterator />可以遍历 数据栈里面的任何数组,集合等等 在使用这个标签的时候有三个属性值得我们关注 1. value属性:可选的属性,value属性是指一个被迭代的集合,使用ognl表达式指定,如果为空的话默认就是ValueStack栈顶的集合. 2.id属性:可选属性, 是 阅读全文
posted @ 2016-02-04 17:50 kabibo 阅读(1074) 评论(0) 推荐(0)
摘要: 一、问题的提出 先让我们看下web.xml中struts2和servlet的配置: <!-- struts2拦截页面请求的配置 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispa 阅读全文
posted @ 2016-02-04 17:49 kabibo 阅读(1464) 评论(0) 推荐(0)
摘要: 一个result代表了一个可能的输出。当Action类的方法执行完成时,它返回一个字符串类型的结果码,框架根据这个结果码选择对应的result,向用户输出。 在com.opensymphony.xwork2.Action接口中定义了一组标准的结果代码,可供开发人员使用,当然了只有我们的action继 阅读全文
posted @ 2016-02-04 17:49 kabibo 阅读(537) 评论(0) 推荐(0)
摘要: 一、为什么struts2要返回json 如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择。而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好的支持。但是,在开发工作中,对功能的升级是基于既定架构是很常 阅读全文
posted @ 2016-02-04 17:47 kabibo 阅读(2591) 评论(0) 推荐(0)
摘要: 一、概述 对于Java组件开发者来说,他们都盼望拥有一组能够对组件开发提供全面测试功能的好用的单元测试。一直以来,与测试独立的Java对象相比,测试传统型J2EE Web组件是一项更为困难的任务,因为Web组件必须运行在某种服务器平台上并且它们还要与基于HTTP的Web交互细节相联系。 易测性(在框 阅读全文
posted @ 2016-02-04 17:46 kabibo 阅读(13618) 评论(0) 推荐(2)
摘要: Spring 完全可以不依赖容器,自己管理数据源,但是却依赖第三方的开源的数据源管理框架. Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。 1、DBCP数据源 : DBCP类包位于 阅读全文
posted @ 2016-02-04 17:45 kabibo 阅读(544) 评论(0) 推荐(0)
摘要: Spring 一、Proxool连接池简介及其配置属性概述 Proxool是一种Java数据库连接池技术。是sourceforge下的一个开源项目,这个项目提供一个健壮、易用的连接池,最为关键的是这个连接池提供监控的功能,方便易用,便于发现连接泄漏的情况。 目前是和DBCP以及C3P0一起,最为常见 阅读全文
posted @ 2016-02-04 17:45 kabibo 阅读(3858) 评论(0) 推荐(0)
摘要: 一、SpringMVC核心接口 5、ViewResolver接口--视图解析接口 继承体系: 5、View接口--视图接口 二、SpringMVC项目示例 (1)建立动态web工程,导入spring的jar包(不要忘加SpringMVC.jar)。 (2)配置DispatcherServlet Di 阅读全文
posted @ 2016-02-04 17:43 kabibo 阅读(788) 评论(0) 推荐(0)
摘要: 一、SpringMVC原理 请求到来时,第一个接受这个请求的前端控制器叫DispatcherServlet(这个需要在web.xml中配置), 后端控制器叫Controller。负责处理请求URL和后端控制器映射的叫HandMapping,它有多种类型,比较灵活,也是在一个xml文件上进 行配置。负 阅读全文
posted @ 2016-02-04 17:42 kabibo 阅读(5484) 评论(0) 推荐(0)
摘要: 在MyEclipse 的Spring工程中,有时候要使用@Resource注释来驱动Spring配置。但是在MyEclipse添加Spring开发能力的操作中,并没有 把相关的库添加到工程的classpath中,所以使用该注解时会产生找不到类的错误,这是由于MyEclipse带的Spring里没有该 阅读全文
posted @ 2016-02-04 17:41 kabibo 阅读(355) 评论(0) 推荐(0)
摘要: 二、SpringMVC请求处理流程 其中Front controller :前端控制器 Controller:后端控制器 三、Spring核心组件及请求处理流程 阅读全文
posted @ 2016-02-04 17:41 kabibo 阅读(232) 评论(0) 推荐(0)
摘要: 1、new一个web project。 2、右键项目,为项目添加Struts支持。 点击Finish。src目录下多了struts.xml配置文件。 3、使用MyEclipse DataBase Explorer建立数据源。 new一个数据源。填入数据源信息。 点击test Driver,如果成功显 阅读全文
posted @ 2016-02-04 17:40 kabibo 阅读(240) 评论(0) 推荐(0)
摘要: struts2 commons-logging-1.0.4.jar 主要用于日志处理 freemarker-2.3.8.jar 模板相关操作需要包 ognl-2.6.11.jar ognl表达示所需包, xwork-2.0.7.jar xwork核心包 struts2-core-2.0.14.jar 阅读全文
posted @ 2016-02-04 17:39 kabibo 阅读(289) 评论(0) 推荐(0)
摘要: 最下面有log4j的详解及配置步骤 步骤一、导入相应的jar包(具体参看下一篇博文) 步骤二、修改WEB.XML文件,内容如下: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/jav 阅读全文
posted @ 2016-02-04 17:38 kabibo 阅读(287) 评论(0) 推荐(0)
摘要: 步骤一、在spring配置文件中引入<tx:>命名空间 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx= 阅读全文
posted @ 2016-02-04 17:37 kabibo 阅读(255) 评论(0) 推荐(0)
摘要: 一、基础知识普及 声明式事务的事务属性: 一:传播行为 二:隔离级别 三:只读提示 四:事务超时间隔 五:异常:指定除去RuntimeException其他回滚异常。 传播行为: 所谓事务的传播行为是指,如果在开始当前事务之前,一个事务上下文已经存在,此时有若干选项可以指定一个事务性方法的执行行为。 阅读全文
posted @ 2016-02-04 17:36 kabibo 阅读(242) 评论(0) 推荐(0)
摘要: 一、Spring事务的相关知识 1、事务是指一系列独立的操作,但在概念上具有原子性。 比如转账:A账号-100, B账号+100,完成。这两个操作独立是没问题的。 但在逻辑上,要么全部完成,要么一起失败。 1)jdbc事务:每个Connection都带有一个事务,只是默认被设置为自动提交。一个连接可 阅读全文
posted @ 2016-02-04 17:35 kabibo 阅读(2830) 评论(0) 推荐(0)
摘要: 一、Spring为什么要整合Struts2 Struts2与Spring进行整合的根本目的就是要让 Spring为Struts2的Action注入所需的资源对象,它们整合的原理则是只要导入了struts2的spring插件包,不需要进行 任何额外的配置,Struts2的Action实例对象将由str 阅读全文
posted @ 2016-02-04 17:34 kabibo 阅读(264) 评论(0) 推荐(1)
摘要: 一、Springl为什么要整合Hibernate 二者的整合主要是把hibernate中核心的一些类型交给spring管理,这些类型主要包括sessionFactory、 transactionManager、transactionTemplate,把这些类型配置成bean,然后注入到hiberna 阅读全文
posted @ 2016-02-04 17:34 kabibo 阅读(368) 评论(0) 推荐(0)
摘要: 一、整合的步骤 1、步骤一:首先要获得DataSource连接池(推荐使用B方式): 要对数据库执行任何的JDBC操作,需要有一个Connection.在Spring中,Connection对象是通过DataSource获得的。 有几种方法可以得到DataSource, 其中一种方法是使用Sprin 阅读全文
posted @ 2016-02-04 17:33 kabibo 阅读(983) 评论(0) 推荐(0)
摘要: 一、简介 1、AOP用在哪些方面:AOP能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任,例如事务处理、日志管理、权限控制,异常处理等,封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。 2、AOP中的概念: Aspect(切面):指横切性关注点的抽象即 阅读全文
posted @ 2016-02-04 17:31 kabibo 阅读(1607) 评论(0) 推荐(0)
摘要: 一、通过Scheme配置实现AOP步骤(Spring AOP环境的环境与上篇博文 Spring接口方式相同) 步骤一、编写业务类: public class AspectBusiness { //切入点 public String delete(String obj) { System.out.pr 阅读全文
posted @ 2016-02-04 17:30 kabibo 阅读(610) 评论(0) 推荐(0)
摘要: 一、初识AOP 关于AOP的学习可以参看帮助文档:spring-3.2.0.M2\docs\reference\html目录下index.html的相关章节 1、AOP:Aspect-Oriented Programming。AOP是OOP的补充,是GOF的延续。说到AOP,我们就不得不来提一下软件 阅读全文
posted @ 2016-02-04 17:29 kabibo 阅读(6255) 评论(0) 推荐(0)
摘要: 一、依赖注入--手工装配—注解方式 在java代码中使用@Autowired或@Resource注解方式进行装配的前提条件是: 1、引入context命名空间 需要在xml配置文件中配置以下信息: <beans xmlns="http://www.springframework.org/schema 阅读全文
posted @ 2016-02-04 17:28 kabibo 阅读(342) 评论(0) 推荐(0)
摘要: 一、Spring容器接口关系 容器是Spring框架的核心,Spring容器就是一个巨大的工厂。Spring容器使用Ioc(控制反转(Inversion of Control )管理所有组成应用系统的组件。 Spring容器会使用XML解析器读取改属性值,并利用反射来创建该实现类的实例。 Sprin 阅读全文
posted @ 2016-02-04 17:27 kabibo 阅读(199) 评论(0) 推荐(0)
摘要: 一、思想理解 Spring 能有效地组织J2EE应用各层的对象。不管是控制层的Action对象,还是业务层的Service对象,还是持久层的DAO对象,都可在Spring的 管理下有机地协调、运行。Spring将各层的对象以松耦合的方式组织在一起,Action对象无须关心Service对象的具体实现 阅读全文
posted @ 2016-02-04 17:27 kabibo 阅读(254) 评论(0) 推荐(0)
摘要: 一、简介 1、Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发. 2、为何要使用Spring? i:降低组件之间的耦合度,实现软件各层之间的解耦。 ii:可以使用容器提供的众多服务,如:事务管理服务、消息 阅读全文
posted @ 2016-02-04 17:26 kabibo 阅读(200) 评论(0) 推荐(0)
摘要: 一、在Myeclipse中新建项目一般会有下列四种libraries: JRE System Library , java EE 6 Libraries , Referenced Libraries,Web App Libraries 二、各种libraries含义 JRE System Libra 阅读全文
posted @ 2016-02-04 17:19 kabibo 阅读(431) 评论(0) 推荐(0)
摘要: MyEclipse中构造新的jsp模板(原创) 首先随便打开一个jsp页,在网页中单击右键选择:preferences 打开后如图所示,找到jsp template选项. 选择new,在弹出的提示框,输入如图所示内容,当然输入你想要的就可以了.我这里是 struts2. 点击ok就可以了,具体步骤如 阅读全文
posted @ 2016-02-04 17:18 kabibo 阅读(510) 评论(0) 推荐(0)
摘要: 在右上边三角那里进去设置 选第一个是显示完整的包名,第二个显示的是树形结构,我们一般用第一种,如下图: 阅读全文
posted @ 2016-02-04 17:17 kabibo 阅读(578) 评论(0) 推荐(0)
摘要: eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的。一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同,就会产生中文的乱码问题,这其中还有几种情况。 如果导入的整个工程的编码方式与eclipse的编码方 阅读全文
posted @ 2016-02-04 17:13 kabibo 阅读(424) 评论(0) 推荐(0)
摘要: 1.在Eclipse里面设置了java文件保存时自动格式化,在java->Code Style->Formatter里设置了自定义的格式化的样式,这样每次保存后都会自动格式化代码,用了一段时间感觉还不错,高科技,自动化。 如果要想取消自动格式化的设置,将Preferences ->java->edi 阅读全文
posted @ 2016-02-04 17:13 kabibo 阅读(1272) 评论(0) 推荐(0)
摘要: CLASSPATH是什么?它的作用是什么? 它是javac编译器的一个环境变量。 它的作用与import、package关键字有关。 当你写下improt java.util.*时,编译器面对import 关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个 阅读全文
posted @ 2016-02-04 17:09 kabibo 阅读(240) 评论(0) 推荐(0)
摘要: 1、抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、native访问修饰符修饰。原 因如下:抽象方法没有方法体,是用来被继承的,所以不能用private修饰;static修饰的方法可以通过类名来访问该方法(即该方法的方法体),抽 象方法用 阅读全文
posted @ 2016-02-04 17:07 kabibo 阅读(3446) 评论(0) 推荐(0)
摘要: 1、下载tomcat 到apache的官网(http://www.apache.org/)的download页面下找到tomcat下载免安装的zip包 2、配置环境变量 JAHA_HOME: E:\Program Files\Java\jdk1.6.0_22(JDK的安装目录) CATALINA_H 阅读全文
posted @ 2016-02-04 17:06 kabibo 阅读(193) 评论(0) 推荐(0)
摘要: 关于成员变量与局部变量: 如果一个变量是成员变量,那么多个线程对同一个对象的成员变量进行操作时,他们对该成员变量是彼此影响的(也就是说一个线程对成员变量的改变会影响到另一个线程) 。 如果一个变量是局部变量,那么每个线程都会有一个该局部变量的拷贝,一个线程对该局部变量的改变不会影响到其他的线程。 实 阅读全文
posted @ 2016-02-04 17:05 kabibo 阅读(420) 评论(0) 推荐(0)
摘要: 1.相同点 A. 两者都是抽象类,都不能实例化。 B. interface实现类及abstrct class的子类都必须要实现已经声明的抽象方法。 2. 不同点 A. interface需要实现,要用implements,而abstract class需要继承,要用extends。 B. 一个类可以 阅读全文
posted @ 2016-02-04 17:04 kabibo 阅读(177) 评论(0) 推荐(0)
摘要: 1、 对finalize认识: finalize—方法名。是gc操作的运行机制中得一部分,进行gc操作时会调用finalize方法。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用 阅读全文
posted @ 2016-02-04 17:03 kabibo 阅读(204) 评论(0) 推荐(0)
摘要: 类: 访问修饰符 修饰符 class 类名称 extends 父类名称 implement 接口名称 (访问修饰符与修饰符的位置可以互换) 访问修饰符 名称 说明 备注 public 可以被本项目的所有类访问(使用),其他项目若想使用本项目中的类,必须将本项目打包为jar包,然后加入到classpa 阅读全文
posted @ 2016-02-04 17:02 kabibo 阅读(6946) 评论(0) 推荐(0)
摘要: 问题描述: 修改项目名称后,部署到tomcat问题 解决方案: 项目->属性->myelcipse->web下,修 改web context root就可! 要在eclipse里面改下,光把项目重命名 是不成的。 工程名--右键--Properties--MyEclipse--Web--把Web C 阅读全文
posted @ 2016-02-04 17:00 kabibo 阅读(263) 评论(0) 推荐(0)
摘要: 原理要解:抽象类其实是可以实例化的,但是他的实例化方式不是通过new方式来创建对象,而是通过父类的引 用来指向子类的实例来间接地实现父类的实例化(因为子类要实例化前,一定会先实例化他的父类。这样创建了继承抽象类的子类的对象,也就把其父类(抽象类) 给实例化了). 但是:接口是不能被实例化的(接口压根 阅读全文
posted @ 2016-02-04 16:58 kabibo 阅读(1368) 评论(0) 推荐(0)
摘要: 首先结论是:java中静态属性和和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏。 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成的,不需继承机制就可以调用如果子类里面定义了静态方法和属性,那么这时候父类的静态方法 或属性称之为“隐藏”,你如果想要调用父类的静态方法 阅读全文
posted @ 2016-02-04 16:54 kabibo 阅读(6538) 评论(0) 推荐(1)
摘要: boolean类型不可以转换为替他的数据类型。 Java中byte(8位)、short(16位)、char三种类型的优先级是相同的,相同优先级之间是不能进行自动转换的(如果相互转换的话,必须强制类型转换),只能将低类型自动转换为高类型,例如,可以将byte自动转换为int类型。(char 在java 阅读全文
posted @ 2016-02-04 16:46 kabibo 阅读(445) 评论(0) 推荐(0)
摘要: 一、Java的反射机制 每个Java程序执行前都必须经过编译、加载、连接、和初始化这几个阶段,后三个阶段如下图: 其中 i、加载是指将编译后的java类文件(也就是.class文件)中的二进制数据读入内存,并将其放在运行时数据区的方法区内,然后再堆区创建一个Java.lang.Class对象,用来封 阅读全文
posted @ 2016-02-04 16:36 kabibo 阅读(569) 评论(0) 推荐(0)
摘要: 一、误区:简单认为JAVA静态代码块在类被加载时就会自动执行。证错如下: [java] view plain copy class MyClass1 { static {//静态块 System.out.println("static block "); } } public class Main  阅读全文
posted @ 2016-02-04 16:22 kabibo 阅读(316) 评论(0) 推荐(1)
摘要: static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类 阅读全文
posted @ 2016-02-04 14:08 kabibo 阅读(468) 评论(0) 推荐(0)
摘要: 1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用 2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。 3、protected:prote 阅读全文
posted @ 2016-02-04 10:34 kabibo 阅读(301) 评论(0) 推荐(0)