随笔分类 - 笔记
学习笔记
-
C++ 引用计数 智能指针简易实现
摘要:Reference: 《谈谈C++的智能指针与自动资源管理(包括自动垃圾回收)》[1] ,《我的C++实践(16):引用计数实现》[2],《C++沉思录》[3] 最近写的C++项目由于起初设计的时候缺乏考虑,一大堆的指针乱指,容易出现悬空指针的情况,为彻底解决这一问题,决定实现引用计数和智能指针(小Boss不让用别人库……) 目标描述: 实现带引用计数的智能指针,不影响现有项目中... 阅读全文
-
IETF BEHAVE 简介
摘要:“我们无法想像IPv6的成功,正如我们当年不能想像TCP/IP的成功一样。”----IPv6技术创始人Robert M.Hinden 1995年,IPv6第一个官方版本正式发布。1998年12月,IPv6在被IETF通过公布互联网标准规范(RFC 2460)的方式定义出台。这是个用于分组交换互联网络的网络层协议。驱使IETF重新设计互联网协议的主要原因是,IPv4地址在可预见的未来中即将被耗尽。... 阅读全文
-
Struts2 权限验证
摘要:References:《Struts 2 的拦截器(三)》[1],《Filter和Interceptor的区别》[2], 之前的Struts2项目通过再Sitemesh的母版页中使用Struts的if标签进行了session判断,使得未登录的用户不能看到页面,但是这种现仅仅在view层进行,如果未登录用户直接在地址栏输入登录用户才能访问的地址,那么相应的action还是会执行,仅仅是不让用户看到... 阅读全文
-
J2EE零碎笔记
摘要:前段时间一直在赶代码,没有时间整理笔记了。这两天趁还没忘光赶紧记录一下,有些零碎,想起什么写什么吧。 1.java.sql.PreparedStatement的批量处理数据. 之前都是一条一条的插入,觉得太2了,于是查到PreparedStatement可以批量处理,直接贴DEMO代码好了 PreparedStatement ps = conn.prepareStatement( "INSERT... 阅读全文
-
Struts2 使用OGNL表达式访问ENUM对象
摘要:Reference:《OGNL 语言指南——操作符》 <s:if test="#task.state == @support.TaskState@ACCEPTED ">如上:TaskState是个Enum,定义了ACCEPTED等,通过以上语句可以判断#task.state是否等于ACCEPTED 阅读全文
-
Struts2 使用SiteMesh做网页布局
摘要:Reference:《sitemesh struts2》《struts2-2.2.1+sitemesh-2.4.1》 简单来讲SiteMesh就是用来做网页母版 Layout分层的。 SiteMesh官方网站给出的最新版本是SiteMesh Version 2.4.1,但是下载不下来!!下载页面NOT FOUND!很囧有木有!无奈只能在findjar.com下载2.4.1的jar包。 或者使用S... 阅读全文
-
Struts2 <sx:tree>动态树形菜单
摘要:References: 《Struts 2与AJAX(第二部分)》[1],《STRUTS2树状菜单实现》[2],《Dojo入门教程之dojo.io.bind详解》[3] 关键的标签:<sx:tree />,其实这是一个dojo plugin 的标签,Struts2 提供了对于dojo的支持。 部分属性参数说明:完全版请移步这里 参数名 参数类型 是否必须 说明 id String flase T... 阅读全文
-
Struts2 Ajax支持—DOJO
摘要:Reference:《Struts 2 的 Ajax 支持(一)》 Struts 1 完全没有任何 Ajax 支持,WebWork 则通过一些 Ajax 标签,提供了一定的支持。 Struts 2.0 到 Struts 2.1 的重要改变之一就是对 Ajax 支持的改变。 Struts 2.0 的 Ajax 支持主要以 DWR 和 Dojo 为主,并专门提供了 Ajax 主题。但由于 Dojo 版... 阅读全文
-
各种include
摘要:Reference:《JSP中include指令和include行为区别》《Struts 2 的标签库(三)》 遇到三种include,把区别记下来 <jsp:include page=""></jsp:include> 动态加载,在运行时刻加载执行页面或servlet所生成的应答文本。内部还可以加参数哦:<jsp:param name="lastParamer" value="lastValue... 阅读全文
-
MYSQL JDBC 数据类型
摘要:Reference: 《JDBC setObject非主流性能报告》[1] MySQL与JAVA里面的时间类型对应 MYSQL时间类型 JAVA对应的时间类型 date java.sql.Date Year ava.sql.Date Datetime java.sql.Timestamp Timestamp java.sql.Timestamp Time java.sql.Time 附上一段代码 ... 阅读全文
-
Struts2 获得并使用Session
摘要:Reference:《Struts2得到Request和Session》 在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到 1.通过ActionContext class中的方法getSession得到 非Ioc方式 2.Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作 Ioc方式 两种方式的区别:IoC是Spring里面的特征之一,字面意思是反转控制,说白了就是依赖注入,比方说类A依赖类B,那么就主动的给A注入一个类B的对象。 非Ioc方式代码: Map ses 阅读全文
-
Mysql Jdbc数据库连接池配置
摘要:Reference:《【问题】数据库连接池》 网上好多配置方法,我只记录一下自己配置成功的 1.在自己的WEB应用的META-INF文件夹下新建context.xml 内容如下 <?xml version="1.0" encoding="UTF-8"?><Context path="/appName" docBase="appName" debug="5" crossContext="true" ... 阅读全文
-
Eclipse启动TomcatServer
摘要:项目环境: Eclipse 3.6.2 (J2EE版) Tomcat 7.0 之前一直用的云里雾里的,今天趁启动server启动不了顺便看看eclipse是如何启动tomcat Server的 安装就不说了,在项目里面new一个Server选择Tomcat版本 填好Server Name和主机名(默认localhost我觉得就挺好) 选择服务器运行环境: 可以点旁边的Add 选择tomcat的安装... 阅读全文
-
Struts2学习--validation
摘要:References:《Struts2的数据验证框架validation framework》[1],《Apache Struts 2 Documentation--Validation》 之前学习了Struts2的硬编码校验,这回学习一下validation框架,即使用XML配置的方式。 一,Struts2数据验证的整体框架介绍 struts2的action都要继承ActionSupprot... 阅读全文
-
Struts2 输出到页面
摘要:References: 《利用Struts标签格式化日期输出》,《struts2 jsp页面遍历List集合,修改后将集合传到action中》《struts iterator标签》《Struts2 配置相关问题》《最靠谱的官方文档Struts 2.1.6 Tag Reference》---这个抽空得好好研究! 页面读值的四种常用办法: <s:property value="username"/> ... 阅读全文
-
Java Web应用启动间隔执行的程序
摘要:Reference:《Java定时器timer.schedule在Web中间隔执行任务和定时》《【Java】Timer和TimerTask详解》 做了一个Demo,完成如下的功能: 让Tomcat在WEB程序启动的时候启动一个线程池和一个Timer线程,Timer线程每隔一段时间跑一次(比如检查到期的用户,类似轮询查看),然后触发另一个后台线程(甩给线程池去处理,比如处理到期的用户,发送等)。 ... 阅读全文
-
Java 线程池学习
摘要:Reference: 《创建Java线程池》[1],《Java线程:新特征-线程池》[2], 《Java线程池学习》[3],《线程池ThreadPoolExecutor使用简介》[4],《Java5中的线程池实例讲解》[5],《ThreadPoolExecutor使用和思考》[6] [1]中博主自己通过ThreadGroup实现一个线程池(挺方便理解的),使用的是jdk1.4版本,Jdk1.5版本以上提供了现成的线程池。 [2]中介绍了java.util.concurrent.Executors类的API。 [3]中介绍了Java中线程池的类体系结构。 [4]中有ThreadPoolExecu 阅读全文
-
Java 守护线程
摘要:Refererence: 《守护线程总结》[1], 《Web应用程序中调度器的启动和关闭问题》[2] 在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程)。 守护线程和用户线程唯一的区别就是守护线程会随着用户线程的(被守护的)结束而结束。 使用方法: thread.setDaemon(true); 这里有几点需要注意: (1) thread.setDaemon(true)必须在thread.start()之前设置,否则会跑出一个IllegalThreadStateException异常。你不能把正在运行的常规线程设置为守护线程。 (2) 在D 阅读全文
-
Tomcat 启动后台程序
摘要:References:《Tomcat 启动时加载WEB应用中的后台程序》[1],《配置Tomcat Listener》[2] 要做的事情很简单,就是在Tomcat启动WEB服务器的时候同时启动一个后台程序,做一些事情。 [1]里面介绍的方法是通过不响应Request的Servlet来实现,通过设置<load-on-startup>标签和Servlet里面的static代码段来实现。 [2]介绍了... 阅读全文
-
Struts2学习-- 配置常量
摘要:Reference:《struts.xml 详解(一)》 一、配置: 在struts2中配置常量的方式有三种: 在struts.xml文件中配置 在web.xml文件中配置 在sturts.propreties文件中配置 1.之所以使用struts.propreties文件配置,是因为为了保持与WebWork的向后兼容 2.在实际开发中,在web.xml中配置常量相比其他两种,需要更多的代码量,... 阅读全文