代码改变世界

随笔档案-2012年12月

浅谈游戏(dota)中的炮塔攻击,人物攻击(未完待续)

2012-12-27 19:04 by eoeAndroid社区, 227 阅读, 收藏,
摘要: 玩过dota的玩家都晓得,游戏中炮塔会优先攻击攻击范围内攻击本方英雄的敌方英雄。以下我们就讨论哈攻击与被攻击的实现1.单机模式,当前地图怪全部加载到数据战斗场景内的类公用类class npc{//攻击目标target//类型(建筑,npc,英雄,炮塔等)type//判断攻击目标是否在攻击范围内private boolean functonisInRange(){if(target!=null){long distance=Math.sprt((this.worldX-target.worldX)*(this.worldX-target.worldX)+(this.worldY-target.w 阅读全文

struts2令牌机制

2012-12-27 10:48 by eoeAndroid社区, 135 阅读, 收藏,
摘要: 防止刷新提交页面,数据重复保存在jsp页面的form里面加上注意:要先访问到这个jsp页面,来给token初始的值,这样当你提交的时候,才能匹配上刚进入jsp页面的时候,struts2会生成一个tokenid的字符串,然后存入session。当点击提交按钮的时候,struts2把页面 的tokenid回传到struts2的拦截器里,看看是否一样,一样的话,就在给tokenid赋个新值,然后传回表单,当再点击提交或者刷新的时 候,又执行上面的过程,结果session中的tokenid和表单中的不一样,就出错<actionname="form提交的action"class 阅读全文

Hibernate 事务处理和spring中配置事务

2012-12-25 00:16 by eoeAndroid社区, 351 阅读, 收藏,
摘要: 1.非集成spring事务管理事务是指由一个或者多个SQL语句组成的工作单元,这个单元中SQL语句只要有一个SQL语句执行失败,就会撤销整个工作单元。事务的成功取决于工作单元的所有SQL语句都执行成功,它必须具备ACID特征,ACID是Atomic(原子性)、Consistency(一致性)、Isolation(隔离性)和持久性(Durability),它们的含义是:(1)原子性:事务是不可分割的工作单元,事务中所有操作执行成功事务才算成功(2)一致性:事务不能破坏数据的完整性和一致性(正确性)(3)隔离性:在并发环境中,事务是独立的,它不依赖其他事务也能完成任务(4)持久性:只要事务成功执行 阅读全文

hibernate 乐观锁与悲观锁使用

2012-12-25 00:16 by eoeAndroid社区, 201 阅读, 收藏,
摘要: 总结一句话概述 当多个事务同时使用相同数据时会导致并发问题,此时只能用锁来限制。 悲观锁:直接锁住数据库,一个用完,下个才能用,开销大。 乐观锁:数据库中增大version字段,每次提交时,对比当前version和数据库的version是否一致来判断。引用其他文章详细讲解:Hibernate支持两种锁机制:即通常所说的“悲观锁(Pessimistic Locking)”和 “乐观锁(OptimisticLocking)”。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。Hib 阅读全文

hibernate 延迟加载的错误 failed to lazily initialize

2012-12-25 00:16 by eoeAndroid社区, 216 阅读, 收藏,
摘要: 这个问题一般出现在一对多的情况下,解决的方法有两种1、设置lazy=false如果是用annotation,则配置如下Xml代码@OneToMany(targetEntity=CourseAuthorizationItem.class,cascade={CascadeType.PERSIST,CascadeType.MERGE},mappedBy="course",fetch=FetchType.EAGER)将fetch类型设置成直接获取2、就是使用filter,过滤所有的链接如果在使用filter的时候,要配置事务处理,否则会导致session处于只读状态而不能做修改、删 阅读全文

hibernate的1级缓存和2级缓存

2012-12-25 00:15 by eoeAndroid社区, 149 阅读, 收藏,
摘要: 一级缓存就是Session级别的缓存,close后就没了。 二级缓存就是SessionFactory级别的缓存,全局缓存,要配置其他插件。 什么样的数据适合存放到第二级缓存中? 1、很少被修改的数据 2、不是很重要的数据,允许出现偶尔并发的数据 3、不会被并发访问的数据 4、参考数据 不适合存放到第二级缓存的数据? 1、经常被修改的数据 2、财务数据,绝对不允许出现并发 3、与其他应用共享的数据。 Hibernate的二级缓存策略的一般过程如下: 1) 条件查询的时候,总是发出一条select * from table_name where …. (选择所有字段)这样的S... 阅读全文

SSH整合开发[Spring2.5+Hibernate3.3+Struts2]

2012-12-25 00:15 by eoeAndroid社区, 234 阅读, 收藏,
摘要: 1.首先整合Spring和Hibernate①引入jar包:hibernate核心安装包下的:hibernate3.jarlib\required\*.jarlib\optional\ehcache-1.2.3.jarhibernate 注解安装包下的lib\test\slf4j-log4j12.jarSpring安装包下的:dist\spring.jardist\modules\spring-webmvc-struts.jarlib\jakarta-commons\commons-logging.jar、commons-dbcp.jar、commons-pool.jarlib\aspectj 阅读全文

hibernate执行sql获取泛型对象

2012-12-25 00:15 by eoeAndroid社区, 218 阅读, 收藏,
摘要: 看下面的SQL查询示例:private void test(){ //获取Hibernate Session对象 Session session = HibernateUtil.currentSession(); //开始事务 Transaction tx = session.beginTransaction(); //编写SQL语句 String sqlString = "select {s.*} from student s where s.name like '马军'"; //以SQL语句创建SQLQuery对象 List l = session.cr 阅读全文

集成Spring后HibernateTemplate实现分页

2012-12-25 00:15 by eoeAndroid社区, 765 阅读, 收藏,
摘要: Spring 整合 Hibernate 时候用的 HibernateTemplate 不支持分页,因此需要自己包装一个类进行分页,具体实现如下...使用spring的hibernateTemplate的回调机制扩展hibernateTemplate的功能实现分页[java]view plaincopy/***使用hql语句进行操作*@paramhql*@paramoffset*@paramlength*@returnList*/publicListgetListForPage(finalStringhql,finalintoffset,finalintlength){Listlist=getH 阅读全文

spring的入门(aop,ioc,bean作用域等)简介

2012-12-25 00:15 by eoeAndroid社区, 243 阅读, 收藏,
摘要: Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。个人理解:Sping容器作为一个bean工厂,通过配置文件来管理bean(应用中所有组件都当成bean)组成关系:BeanFactory-------->ApplicationContext(子接口)-------->ClassPathXmlApplicationContext(实现类)········IOC控制反转模式 阅读全文

Hibernate 检索查询的几种方式(HQL,QBC,本地SQL,集成Spring等)

2012-12-25 00:14 by eoeAndroid社区, 360 阅读, 收藏,
摘要: 1.非集成SpringHibernate的检索方式,主要有以下五种。1.导航对象图检索方式。(根据已经加载的对象,导航到其他对象。)2.OID检索方式。(按照对象的OID来检索对象。)3.HQL检索方式。(使用面向对象的HQL查询语言。)4.QBC检索方式。(使用QBC(Qurey By Criteria) API来检索对象。)5.本地SQL检索方式。(使用本地数据库的SQL查询语句。)1、导航对象图检索方式利用类与类之间的关系来检索对象。譬如我们要查找一份订单,就可以由订单对象自动导航找到订单所属的客户对象。当然,前提是必须在对象-关系映射文件上配置了它们的多对一的关系。Orderorder 阅读全文

log4j的使用

2012-12-25 00:14 by eoeAndroid社区, 170 阅读, 收藏,
摘要: log4j是一个非常强大的log记录软件,下面我们就来看看在项目中如何使log4j。首先当然是得到log4j的jar档,推荐使用1.2.X版,下载地址:http://logging.apache.org/log4j/1.2/download.html我们先看一个最简单的示例:【示例1】 项目结构: 【注:由于这里的多个项目公用一个jar档,我们可以创建一个专门放置jar档的Java工程,然后将jar档放到lib目录下。在要使用的工程中按图所示进行引用 】Java代码:Java代码 packagecom.coderdream.log4j; importorg.apache.log4j.Logge 阅读全文

Hibernate 映射xml中的属性类型

2012-12-25 00:14 by eoeAndroid社区, 353 阅读, 收藏,
摘要: Hibernate的内置映射类型1JAVA基本类型(包括它们的包装类)和Hibernate映射类型HibernateJava类型标准SQL类型大小和取值范围integer/intint/java.lang.Integerinteger4字节,-2^31~2^31-1longlong/java.lang.Longbigint8字节, -2^63~2^63-1shortshort/java.lang.Shortsmallint2字节, -2^15~2^15-1bytebyte/java.lang.Bytetinyint1字节, -128~127flatfloat/java.lang.Floatfl 阅读全文

浅谈hibernate(cascade,lazy,inverse,fetch)

2012-12-25 00:13 by eoeAndroid社区, 206 阅读, 收藏,
摘要: 1.cascade是否执行级联操作 <set name="children" lazy="true" cascade="all"> 在保存主表的时候,如果没有保存从表信息,会抛出异常,如果设置了级联关系,可以自动先保存从表,在保存主表all: 所有情况下均进行关联操作,即save-update和delete。 none: 所有情况下均不进行关联操作。这是默认值。 save-update: 在执行save/update/saveOrUpdate时进行关联操作。2.inverse指定哪一方不控制关联关系,一般在set上(1端不 阅读全文

使用JUnit在struts+spring+hibernate框架环境下进行单元测试

2012-12-25 00:13 by eoeAndroid社区, 166 阅读, 收藏,
摘要: 过往使用的方式从最原始的IDE的DEBUG工具断点查错到目前还在用最快捷的使用文字输出(log或system.out)。这些调试方式不是说不好,但有些情况下达不到自己的需求,浪费了一些时间,因为在SSH的环境下修改的源码就意味着要部署。有个误区,有的人认为把ApplicationServer的热部署方式设置为ture,就不用部署了。其实实际还是重新部署了一遍,只是不需要你按键罢了。而且这样的后果还是你每保存一下就帮你部署一次,项目大的话花费很更多,我想也有不少人知道有个内存溢出的问题...挺头痛的..之前偶尔接触到JUnit,才领略到单元测试的精辟,记录一下学习心得。请别笑学得晚,最近也有个T 阅读全文

hibernate的映射关系(1对n,n对1,n对n······)

2012-12-25 00:13 by eoeAndroid社区, 254 阅读, 收藏,
摘要: 1对多(1对多关系,name="novelSet"对应字段名 inverse=“true”不维护关联关系,order-by排序字段)<hibernate-mapping package="com.model"> <class name="NovelType" table="noveltype" catalog="sshweb"> <id name="id" type="java.lang.Integer"> <co 阅读全文

hibernate简介(Session,几种状态,方法······等)

2012-12-25 00:12 by eoeAndroid社区, 345 阅读, 收藏,
摘要: Hibernate是什么? Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 对象关系映射简称ORM(Object Relational Mapping),由于我们目前使用的编程语言大都是面向对象的编程,使用的数据库也大多都是关系型数据库,数据得以对象的形式在程序中使用,并且程序中的有些对象(数据对象)得永久保存在数据库中,故就出现了ORM,说得更通俗点:ORM就是将数据库中的数据和程序中的对象进行互相的转换! 如今的ORM框架可以说是很丰富的:Hibernate,开源 ORM 框架.. 阅读全文

ssh配置的一些简便方法

2012-12-25 00:12 by eoeAndroid社区, 127 阅读, 收藏,
摘要: 如ssh集成hibernate的xml映射2种方法 <!-- mappingResouces属性用来列出全部映射文件 --> <!--<property name="mappingResources"> <list> <value>com/model/Novel.hbm.xml</value> <value>com/model/NovelType.hbm.xml</value> </list> </property>--> //在com/model/map 阅读全文

MYSQL 日期函数

2012-12-25 00:12 by eoeAndroid社区, 143 阅读, 收藏,
摘要: MYSQL 日期函数大全对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6日期和时间类型。这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内:mysql>SELECTsomethingFROMtableWHERETO_DAYS(NOW())-TO_DAYS(date_col)<=30;DAYOFWEEK(date)返回日期date的星期索引(1=星期天,2=星期一,……7=星期六)。这些索引值对应于ODBC标准。mysql>selectDAYOFWEEK('1998-02-03');-&g 阅读全文

struts2跟struts1的区别

2012-12-25 00:11 by eoeAndroid社区, 139 阅读, 收藏,
摘要: 1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现的,只有一个包含execute方法的POJO类都可以用作Struts 2的Action。2) 线程模式方面的对比:Struts 1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了 阅读全文

Spring 管理Bean(获取Bean,初始化bean事件,自动匹配ByName······等)

2012-12-25 00:11 by eoeAndroid社区, 681 阅读, 收藏,
摘要: 1.实例化spring容器 和 从容器获取Bean对象实例化Spring容器常用的两种方式:方法一:在类路径下寻找配置文件来实例化容器 [推荐使用]ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{"beans.xml"});方法二:在文件系统路径下寻找配置文件来实例化容器 [这种方式可以在开发阶段使用]ApplicationContext ctx = new FileSystemXmlApplicationContext(new String[]{“d:\\beans.xml“ 阅读全文

Spring AOP进行日志记录,管理

2012-12-25 00:11 by eoeAndroid社区, 297 阅读, 收藏,
摘要: 在java开发中日志的管理有很多种。我一般会使用过滤器,或者是Spring的拦截器进行日志的处理。如果是用过滤器比较简单,只要对所有的.do提交进行拦截,然后获取action的提交路径就可以获取对每个方法的调用。然后进行日志记录。使用过滤器的好处是可以自己选择性的对某一些方法进行过滤,记录日志。但是实现起来有点麻烦。 另外一种就是使用Spring的AOP了。这种方式实现起来非常简单,只要配置一下配置文件就可以了。可是这种方式会拦截下所有的对action的每个操作。使得效率比较低。不过想做详细日志这个方法还是非常好的。下面我就介绍一下使用Spring AOP进行日志记录的方式。 第一种。Spri 阅读全文

hibernate的搭建(包括Spring集成)和调用

2012-12-25 00:11 by eoeAndroid社区, 139 阅读, 收藏,
摘要: 一.非Spring集成的搭建和使用1.首先我们得下载Hibernate的需要的jar包(通常情况下导入hibernate3.jar和require文件夹里面的所有jar包). hibernate3.jar: 这个是Hibernate的核心包,所以是必须的jar包. cglib-2.2.jar: cglig库,Hibernate用它来实现PO字节码的动态生成,非常核心的包,所以也是必须的包 dom4j.jar dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常优秀的Java XML API,具有性能优异、功能强大和极端易用使... 阅读全文

json返回hibernate的结果会自动调用(get)查询出关联表的数据,解决方法

2012-12-25 00:09 by eoeAndroid社区, 147 阅读, 收藏,
摘要: //防止json数据用类的get方法访问关联类的所有数据,如果不需要关联的数据,set关联的Nullfor(Novel novel : novelList){novel.setNovelType(null);}comentData.put("rows", novelList); 阅读全文

Junit

2012-12-25 00:09 by eoeAndroid社区, 205 阅读, 收藏,
摘要: 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情。所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行测试,这样的测试我们称之为单元测试。传统的编程方式,进行单元测试是一件很麻烦的事情,你要重新写另外一个程序,在该程序中调用你需要测试的方法,并且仔细观察运行结果,看看是否有错。正因为如此麻烦,所以程序员们编写单元测 阅读全文

mysql命令行操作

2012-12-25 00:09 by eoeAndroid社区, 255 阅读, 收藏,
摘要: 一、连接MYSQL格式: mysql -h主机地址 -u用户名 -p用户密码或者: mysql -u 用户名 -p // 回车后要求输入密码,密码不可见1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是如果-p后带有用户密码,那么-p与密码之间必须没有空格,否则让你重新输入密码.例如以下都是合法的登陆:(帐号:root 密码:123)mysql -u root -pmysql -uroot -pmysql -uroot -p123如果刚安装好MYSQL,超级 阅读全文

Spring配置文件(bean,AOP,事务······等)总结

2012-12-24 12:55 by eoeAndroid社区, 254 阅读, 收藏,
摘要: 首先来看一个标准的Spring配置文件applicationContext.xml[html]view plaincopy<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframewo 阅读全文

spring事件监听

2012-12-24 12:53 by eoeAndroid社区, 419 阅读, 收藏,
摘要: 一、一些概念 事件是可以被控件识别的操作,如按下确定按钮,选择某个单选按钮或者复选框。每一种控件有自己可以识别的事件,如窗体的加载、单击、双击等事件,编辑框(文本框)的文本改变事,等等。事件有系统事件和用户事件。系统事件由系统激发,如时间每隔24小时,银行储户的存款日期增加一天。用户事件由用户激发,如用户点击按钮,在文本框中显示特定的文本。事件驱动控件执行某项功能。触发事件的对象称为事件发送者;接收事件的对象称为事件接收者。事件模型一般用到了观察者模式,下面简单介绍下:SUBJECT目标知道它的观察者。可以有任意多个观察者观察同一个目标。提供注册和删除观察者对象的接口。Observer(观察者 阅读全文

java Date常用日期功能综合

2012-12-24 12:53 by eoeAndroid社区, 136 阅读, 收藏,
摘要: packagecom.yao.util.date;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;publicclassDateUtil{publicstaticStringdefaultSimpleFormater="yyyy-MM-ddhh:mm:ss";/***默认简单日期字符串**@return*/publicstaticStringgetDefaultSimpleFormater(){retur 阅读全文

hibernate HQL查询

2012-12-24 12:53 by eoeAndroid社区, 143 阅读, 收藏,
摘要: Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态 和关联之类的概念。第15章HQL: Hibernate查询语言Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态 和关联之类的概念。15.1.大小写敏感性问题除了Java类与属性的名称外,查询语句对大小写并不敏感。 所以SeLeCT与sELEct以及SELECT是相同的,但是org.hi 阅读全文

sql where 1=1和 0=1 的作用

2012-12-24 12:53 by eoeAndroid社区, 194 阅读, 收藏,
摘要: where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。使用 where1=1的好处 假如我们将上述的语句为: string MySqlStr=”select * from table where1=1 ”; if(Age.Text.Lenght>0) { MySqlStr=MySqlStr+“and Age=“+“'Age.Text'“; } if(Address.Text.Lenght>0) { MySqlStr=MySqlStr+“and Address=“+“'Address.Text'“; } 现 阅读全文

让控制台打印的Hibernate显示SQL语句显示绑定参数值

2012-12-24 12:52 by eoeAndroid社区, 455 阅读, 收藏,
摘要: 使用Hibernate提供的内置属性<Property name="show_sql">true</Property>只能输出类似于下面的SQL语句:Hibernate: insert into student(name, sex, age, cardId, classroom_id, id) values (?, ?, ?, ?, ?, ?)这样不利于程序的调试,为了可以显示?占位符所代表的具体数据,需要第三方Jar包,p6spy是一个该需求的开源实现。一、在Java Project项目中使用p6spy:下面我介绍一下p6spy在tomcat应用程 阅读全文

FullCalendar(日程管理控件)

2012-12-24 12:52 by eoeAndroid社区, 1013 阅读, 收藏,
摘要: (以下是我学习FullCalendar控件时,网络上收集的一些资料)第一部分(官方资料)jquery.fullCalendar官方网址:http://arshaw.com/fullcalendar/jquery.fullCalendar英文文档:http://arshaw.com/fullcalendar/docs/jquery.fullCalendar下载:http://arshaw.com/fullcalendar/download/第二部分(官方文档的翻译)http://blog.csdn.net/lgg201/article/details/4818941第三部分(视频教程)http: 阅读全文

mysql的常用函数

2012-12-24 12:52 by eoeAndroid社区, 106 阅读, 收藏,
摘要: 一、数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然对数的底)的x次方FLOOR(x) 返回小于x的最大整数值GREATEST(x1,x2,...,xn)返回集合中最大的值LEAST(x1,x2,...,xn)返回集合中最小的值LN(x)返回x的自然对数LOG(x,y)返回x的以y为底的对数MOD(x,y)返回x/y的模(余数)PI()返回pi的值(圆周率)RAND()返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。ROU 阅读全文

Jsp Servlet 的区别

2012-12-24 12:51 by eoeAndroid社区, 161 阅读, 收藏,
摘要: jsp与servlet的区别: jsp最终会编译成servlet执行 servlet做为web应用中得控制器组件来使用。 Jsp技术作为数据显示模板来使用。 Servlet负责响应请求产生数据,并把数据通过转发通过转发技术带给jsp.数据的显示交给jsp来做。 阅读全文

Servlet

2012-12-24 12:51 by eoeAndroid社区, 154 阅读, 收藏,
摘要: 定义:Mvc规范后,仅仅作为控制层(客户请求和服务器响应的中间层) 与Struts2的Action区别servlet单一实例,所有client访问同一网页的话,是同一servlet实例,共享数据。struts2的action封装了servlet,client访问时每次都是new新的servlet生命周期: 客户端请求--------->服务器端----------->servlet init() ,service()--------------->响应客户请求---------->servlet destory()servlet的2种配置: 1)在web.xml中配置 阅读全文

Jsp

2012-12-24 12:51 by eoeAndroid社区, 196 阅读, 收藏,
摘要: jsp工作原理:client client(客户端) 发送请求------》Server(服务器端)---------》如果该jsp页面的第一次请求,会编译成Servlet-------》Servlet动态生成html页面返回到client client(因为Servlet是单例,所以所有Client访问是同一个servlet)jsp与servlet的区别:servlet做为web应用中得控制器组件来使用。Jsp技术作为数据显示模板来使用。Servlet负责响应请求产生数据,并把数据通过转发通过转发技术带给jsp.数据的显示交给jsp来做。jsp的3个编译指令1.page<%@ page 阅读全文

Quartz集成spring开发大全

2012-12-24 12:51 by eoeAndroid社区, 292 阅读, 收藏,
摘要: 一.固定xml调用quartz准备工作:1.导入quartz-1.x.x.x.jar到lib,可能还需要lib/sh4j-api-1.x.x.jar,log4g,sh4j.api,1,x,x,jar,sh4j.nop,1,x,x,jar2.在src目录下创建quartz.properties(压缩quartz-1.x.x.x.jar下的org/quarz下可得)# 配置主调度器属性 org.quartz.scheduler.instanceName = DefaultQuartzScheduler org.quartz.scheduler.rmi.export = false org.quar 阅读全文

重定向(redirect)和转发(forward)区别

2012-12-24 12:50 by eoeAndroid社区, 167 阅读, 收藏,
摘要: forward方式:request.getRequestDispatcher("/somePage.jsp").forwardrequest, response); redirect方式:response.sendRedirect("/somePage.jsp");forwardredirect执行forward后,网页地址依旧是上次请求的生成新请求,地址改变之前请求的参数都在,转发页面和转发到的页面可以共享request里面的数据全丢失一般用于用户登陆的时候,根据角色转发到相应的模块.一般用于用户注销登陆时返回主页面和跳转到其它的网站等. 阅读全文

jsp servlet Action获取request,respone,session等

2012-12-24 12:50 by eoeAndroid社区, 214 阅读, 收藏,
摘要: ServletJspStruts2HttpServletRequestrequest内置对象<jsp:request>ServletActionContext.getRequest()实现ServletRequestAware接口HttpServletResponereponse内置对象<jsp:reponse>ServletActionContext.getResponse()实现ServletResponseAware接口HttpSessionsession内置对象<jsp:session>ServletActionContext.getRequest( 阅读全文

java自带线程池和队列详细讲解

2012-12-24 12:49 by eoeAndroid社区, 355 阅读, 收藏,
摘要: Java线程池使用说明一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程池作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面 阅读全文

Servlet中的过滤器Filter详解

2012-12-24 12:49 by eoeAndroid社区, 286 阅读, 收藏,
摘要: web.xml中元素执行的顺序listener->filter->struts拦截器->servlet。1.过滤器的概念Java中的Filter 并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应。 主要用于对HttpServletRequest 进行预处理,也可以对HttpServletResponse 进行后处理,是个典型的处理链。优点:过滤链的好处是,执行过程中任何时候都可以打断,只要不执行chain.doFilter()就不会再执行后面的过滤器和请求的内容。而在实际使用时,就要特别注意过滤链的执行顺序问题2.过滤器的作用描述在HttpServ 阅读全文

Listener介绍

2012-12-24 12:49 by eoeAndroid社区, 198 阅读, 收藏,
摘要: 当web运用在web容器中运行时,会产生各种事件(如web启动,停止,用户的session创建,销毁,请求到达等)这些对于web事件开发者都可以监听到。使用Listener只需要2个步骤1)定义Lisenter实现类package com.listener; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.apache.log4j.*; import org.springframework.context.ApplicationContext; . 阅读全文

Session和Cookies使用和区别

2012-12-24 12:49 by eoeAndroid社区, 153 阅读, 收藏,
摘要: Session 操作 HttpSession session = request.getSession(); session.setAttribute("someID", value); SomeClass value = (SomeClass)session.getAttribute("someID"); Cookie操作 public void saveCookie(String key,String value){ Cookie cookie=new Cookie(key,value); response.addCookie(cookie); } 阅读全文

Struts2 的表单验证

2012-12-24 12:48 by eoeAndroid社区, 184 阅读, 收藏,
摘要: 一、Struts2输入校验介绍Struts2的输入校验和类型转换都是对请求参数进行处理。输入校验顾名思义就是请求参数是否能够满足一定的要求;客户端校验&服务器端校验客户端校验是指在浏览器这端通过Javascript进行初步校验,为了减轻服务器端的负载;服务器端校验是校验数据的最后一道防线;在Struts2中,数据校验不需要写任何代码,只需要一个配置文件,配置校验的条件就可以了,非常简单;因此数据校验文件是数据校验的最重要的内容;二、数据校验规则文件1.数据校验规则文件规则:1.此文件中规定了参数的一些校验条件;2.可以包括字段型校验器和非字段型校验器;3.命名规则:ActionName 阅读全文

一个多线程和队列的实例演示

2012-12-24 12:48 by eoeAndroid社区, 204 阅读, 收藏,
摘要: 功能需求:设备策略升级详细描述:用户可以不定期的创建1条策略来升级选择的多个设备从a版本到b版本 解决方案java代码创建个无界带自动回收机制的线程池ExecutorService threadPool = Executors.newCachedThreadPool();创建策略 //把每条策略要升级设备放入队列中LinkedBlockingQueue<Integer> queue = new LinkedBlockingQueue<Integer>();for(int j=startNum;j<endNum;j++){queue.offer(dev[j]);}S 阅读全文

配置Result

2012-12-23 13:00 by eoeAndroid社区, 200 阅读, 收藏,
摘要: 常用配置 <action name="Hello" class="domain.HelloAction"> <result>/hello/Result.jsp</result> //等于<result name="success"type="dispatcher">/hello/Result.jsp</result> <result name="error">/hello/Error.jsp</result> & 阅读全文

Struts2的国际化,中英文切换

2012-12-23 12:50 by eoeAndroid社区, 314 阅读, 收藏,
摘要: 几年之前,应用程序开发者能够考虑到仅仅支持他们本国的只使用一种语言(或者有时候是两种)和通常只有一种数量表现方式(例如日期、数字、货币值)的应用。然而,基于web技术的应用程序的爆炸性增长,以及将这些应用程序部署在Internet或其它被广泛访问的网络之上,已经在很多情况下使得国家的边界淡化到不可见。这种情况转变成为一种对于应用程序支持国际化(internationalization,经常被称做"i18n",因为18是字母"i"和字母"n"之间的字母个数)和本地化的需求。国际化是商业系统中不可或缺的一部分,所以无论您学习的是什么Web 阅读全文

Struts2的异常处理机制

2012-12-23 12:48 by eoeAndroid社区, 138 阅读, 收藏,
摘要: Struts2采用声明式的方法管理异常处理,因此我们无需在execute方法体内写大量的try...catch...语句来捕获异常,execute方法将产生的所有异常抛出,统一交由Struts2框架处理,我们只需在struts.xml文件中配置异常的映射机制,Struts2便能够处理并转入相应的视图资源。异常映射可分为全局异常映射和局部异常映射,它和<result .../>的性质是一样的。配置代码如下:Xml代码<struts> <package name="struts2" extends="struts-default" 阅读全文

Struts2的properties文件

2012-12-23 12:47 by eoeAndroid社区, 231 阅读, 收藏,
摘要: 是Struts2的配置文件,默认叫default.properties文件。它配置struts的默认配置,例如:struts2的默认配置 为action就是在该文件中定义。这个文件提供了一种更改框架默认行为方式的机制。在一般情况下,如果不是打算让调试更加方便的话,你根本无须更改这个文件。在“struts.properties”文件中定义的属性都可以在“web.xml”文件的“init-param”标签中进行配置,或者通过“struts.xml”文件中的“constant”标签来修改。此文件位于Struts2的jar包中,只读文件,我们无法修改,那我们如何修改Strut2的默认配置?解决办法:新 阅读全文

struts2获取request,session,application4种方式

2012-12-23 12:46 by eoeAndroid社区, 151 阅读, 收藏,
摘要: 第一种,依赖容器获取: privateMaprequest;privateMapsession;privateMapapplication;publicActionTest(){request=(Map)ActionContext.getContext().get("request");session=ActionContext.getContext().getSession();application=ActionContext.getContext().getApplication();}第二种,IoC方式,是通过依赖注入方式获取到对象,需要实现相应的接口为Requ.. 阅读全文

addFieldError与addActionError的区别

2012-12-23 12:42 by eoeAndroid社区, 170 阅读, 收藏,
摘要: addActionError() 与addFieldError ()都是com.opensymphony.xwork2.ActionSupport类下的方法.----------------------------------------------------------------------------------1.addActionError (StringanErrorMessage)添加一个Action级别的错误消息到ActionanErrorMessage: 错误消息显示消息的标签是(如放在jsp页面中):<s:actionerror />显示全部的 Action级 阅读全文

struts2 Action获取表单传值(属性,类))

2012-12-23 12:40 by eoeAndroid社区, 248 阅读, 收藏,
摘要: 1.通过属性驱动式JSP: <form action="sys/login.action" method="post"> <input type="text" name="username"> <input type="submit" value="submit"> </form>Action:直接通过get、set方法获取。[java] view plaincopyprint?publicclasssysActionexten 阅读全文

Struts2常用标签使用和总结(包括前后台,出生日期,级联城市,遍历列表等)

2012-12-23 12:36 by eoeAndroid社区, 269 阅读, 收藏,
摘要: 1.Struts2的作用一 介绍Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用。包括最常用的jsp页面,也可以说Velocity和FreeMarker等模板技术中的使用二.Struts2分类(1)UI标签:(User Interface, 用户界面)标签, 阅读全文

el表达式跟ognl表达式的区别(用法和页面取值)

2012-12-23 12:25 by eoeAndroid社区, 196 阅读, 收藏,
摘要: 1.区别用法区别:OGNL是通常要结合Struts 2的标志一起使用,如<s:property value="#xx" /> struts页面中不能单独使用,el可以单独使用${sessionScope.username}页面取值区别:名称servletognl elparametersrequest.getParameter("username")#username${username}requestrequest.getAttribute("userName")#request.userName ${requestSc 阅读全文

web工程本地跟tomcat部署导致根路径不一致问题

2012-12-23 12:03 by eoeAndroid社区, 344 阅读, 收藏,
摘要: 如果本地web工程部署本地tomcat后,控制器中获取的文件路径(new FileOutputStream(filePath))不会是工程路径E:\myeclipse\SSHWeb 而是tomcat部署的E:\apache-tomcat-7.0.23\apache-tomcat-7.0.23\webapps\SSHWeb路径如何解决呢?1.设置个常量类来区分是本地版本还是服务器版本public class Config { /** * 是否是本地部署 */ public static final boolean LOCAL=true; /** * 项目根路径 */ public ... 阅读全文

struts2文件上传的采用的三种方式解析和上传下载讲解

2012-12-23 11:54 by eoeAndroid社区, 409 阅读, 收藏,
摘要: 1.三种方式解析文件上传几乎是每个项目实现的一个必须的模块。上传就是将信息从个人计算机(本地计算机)传递到中央计算机(远程计算机)系统上,让网络上的人都能看到。将制作好的网页、文字、图片等发布到互联网上去,以便让其他人浏览、欣赏。这一过程称为上传。JAVA实现文件上传的几个组件:1 SmartUpload 用的最多的一个组件,已经不再更新了,可以实现上传和下载2 FileUpload Apache实现的文件上传组件,功能齐备3 J2KUpload java2000实现的文件上传组件,全部使用内存,适合多个不超过10M的小文件下面具体说说FileUpload Apache实现的文件上传组件。1、 阅读全文

Struts2拦截器实现日志管理系统 (同理实现权限,模块点击计数器等)

2012-12-23 11:53 by eoeAndroid社区, 163 阅读, 收藏,
摘要: 最近一个项目客户要求能够监控用户对系统的详细操作步骤,比如某人在某时间删除了某个模块的某条数据,经过一番斟酌,决定用struts2的拦截器功能实现日志管理系统,因为系统是旧系统(SSH架构)了,用struts2就可以不用修改系统的原有的类或者方法,而且可以精确到用户的具体操作,并且所有的日志管理代码直接写在拦截器里即可。代码如下:代码只是当时写的一个简单测试例子,可以进行优化,将各个acton及对应的方法及操作等都可以进行配置,如配置到一个xml文件当中,以后系统中新增加了action去修改xml文件就可以了。这样就不用去写大量的if,也不用每次有新增action来改日志管理系统的代码了。Ja 阅读全文

struts2+ajax+json

2012-12-23 11:48 by eoeAndroid社区, 244 阅读, 收藏,
摘要: 在Struts2中使用JSON可以更容易实现数据的异步传输。 先做好准备工作: 1.Struts2相关lib, 注意将struts2 lib下面的以json开头的包也加入到工程。 2.JSON Plugin,它可以将Struts2 Action中的结果直接返回为JSON。下载地址:http://jsonplugin.googlecode.com/files/jsonplugin-0.34.jar(支持struts2.1.6及以上版本)。 3.JQuery,JS的一个lib. 下载地址:http://www.jquery.com(最新版本为1.3.2)。 准备工作都做好之后,我们可以开始了。建一 阅读全文

ActionContext和ServletActionContext小结 (包含IoC和非ioc方式获取request等)

2012-12-23 11:45 by eoeAndroid社区, 186 阅读, 收藏,
摘要: 1. ActionContext在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们需要在Action中取得request请求参数"username"的值:ActionContext context = ActionContext.getContext();Map params = context.getPara 阅读全文

struts2 角色权限 filter(过滤器)和interceptor(拦截器)

2012-12-23 11:27 by eoeAndroid社区, 520 阅读, 收藏,
摘要: Struts2项目通过使用Struts的if标签进行了session判断,使得未登录的用户不能看到页面,但是这 种现仅仅在view层进行,如果未登录用户直接在地址栏输入登录用户才能访问的地址,那么相应的action还是会执行,仅仅是不让用户看到罢了。这样显然是不好的,所以研究了一下Struts2的权限验证。权限最核心的是业务逻辑,具体用什么技术来实现就简单得多。通常:用户与角色建立多对多关系,角色与业务模块构成多对多关系,权限管理在后者关系中。对权限的拦截,如果系统请求量大,可以用Struts2拦截器来做,请求量小可以放在filter中。但一般单级拦截还不够,要做到更细粒度的权限控制,还需要多 阅读全文

struts2的搭建(包括与spring整合)流程

2012-12-23 11:16 by eoeAndroid社区, 182 阅读, 收藏,
摘要: 一.非集成Spring1.创建javaWeb工程:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------2.找到开发Struts2应用需要使用到的jar文件:到http://struts.apache.org 阅读全文

Struts2 开发流程

2012-12-23 10:44 by eoeAndroid社区, 146 阅读, 收藏,
摘要: 一、确定Struts在开发中的地位Struts其实就是一个Servlet; 根据传统MVC开发模式,如图所示:Servlet担任了Controller的职责,而Struts框架加入后,Struts其实就是担当了Servlet的职责,即任何一个处理请求都会经过Struts框架,并由他进行分发;二、Struts2开发须知1.在web.xml配置Struts的核心Filter的原因是每个web访问都会经过Struts;2.struts.xml用于放置struts内部的一些配置信息,即使用Struts的功能,比如配置action、配置逻辑视图和物理视图的联系、配置常量等;3.可以在struts.xml 阅读全文

Synchronized同步的考虑

2012-12-13 21:41 by eoeAndroid社区, 197 阅读, 收藏,
摘要: 当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。2种使用方法 Synchronized method() synchronized(this){/*区块*/},它的作用域是当前对象(只对同一个对象的多线程起作用);注意:1 Synchronized只对同一个对象的多线程起作用,同一个类不同的对象实例的synchronized方法是不相干扰的 2 Synchronized static Method{}防止多个线程同时... 阅读全文

Runable和thread的区别(多线程必须用Runable)

2012-12-12 23:15 by eoeAndroid社区, 213 阅读, 收藏,
摘要: Java中有两种实现多线程的方式以及两种方式之间的区别看到一个面试题.问两种实现多线程的方法.没事去网上找了找答案.网上流传很广的是一个网上售票系统讲解.转发过来.已经不知道原文到底是出自哪里了.Java中有两种实现多线程的方式。一是直接继承Thread类,二是实现Runnable接口。那么这两种实现多线程的方式在应用上有什么区别呢? 为了回答这个问题,我们可以通过编写一段代码来进行分析。我们用代码来模拟铁路售票系统,实现通过四个售票点发售某日某次列车的100张车票,一个售票点用一个线程表示。 我们首先这样编写这个程序:Java代码classThreadTestextendsThread{ p 阅读全文