摘要: 最近一个项目中,使用号称下一代构建工具的Gradle构建项目。使用中发现一个问题,Gradle从中央库下载的jar文件在系统的其它目录,使用gradle eclipse添加Eclipse支持时,jar文件是以外部依赖的形式导入的。Eclipse将web项目发布到Tomcat时,是不会自动发布这些依赖的。可以通过Eclipse在项目上右击 - Propertics - Deployment Assembly,添加“Java Build Path Entries”,添加所有依赖的jar包,就可以在发布时自动发布外部依赖的jar包。但是手动添加,是不符合自动化构建的要求的,打开.classpath文 阅读全文
posted @ 2013-07-31 13:30 石莹 阅读(9897) 评论(0) 推荐(0) 编辑
摘要: 数据库中复杂的联查+筛选条件+排序+分页一直是比较头疼的问题为了模拟这个问题,首先建立两个表create table t_userType ( id int identity(1,1) not null primary key, name varchar(50))GOcreate table t_user ( id int identity(1,1) not null primary key, t_userTypeId int not null, name varchar(50), foreign key (t_userTypeId) references ... 阅读全文
posted @ 2012-06-10 13:26 石莹 阅读(2853) 评论(2) 推荐(0) 编辑
摘要: 通过检测HTTP请求时CGI环境变量,可以获取客户端浏览器请求的一些环境信息通过调用下面程序中的outputAllCGI方法,可以在控制台输出部分CGI环境变量。其中包含一个User-Agent变量,包含了请求的操作系统信息,浏览器信息及版本等内容通过对这些信息的分析,判断请求的客户端是否为手机客户端,自动返回相应的页面public class UserAgentsUtil { private ... 阅读全文
posted @ 2012-03-13 16:57 石莹 阅读(1593) 评论(0) 推荐(0) 编辑
摘要: Tomcat服务器出现 java.lang.OutOfMemoryError: Java heap space异常1、可能是程序错误,比如:程序陷入死循环2、堆内存太小一般情况下,java创建的对象在不使用一段时间后会被gc回收若同时处理的数据量较大:如较大的查询结果或打开较大的文件,可能出现堆内存不足的问题jvm默认堆内存为64M,通过配置改变默认堆的大小 set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx1024m3、运行一段时间后,可能出现java.lang.OutOfMemoryError: PermGen space异常Jvm生成的所有新对象放在新域中。一 阅读全文
posted @ 2012-03-12 10:45 石莹 阅读(2272) 评论(0) 推荐(0) 编辑
摘要: 因工作原因,要实现一个动态的栏目,使用独立的地址访问。例如对于项目xxx使用http://localhost:8080/xxx/aaa可访问栏目aaa。 “海词”网站(http://dict.cn/)实现了“地址栏一步查词”,具有类似的功能。 提出了两种方案: 1、建立固定结构目录aaa,可使用要求的地址访问。当建立新栏目时,程序拷贝aaa目录,修改目录名实现。 2、使用过滤器,拦截... 阅读全文
posted @ 2012-02-01 17:32 石莹 阅读(909) 评论(0) 推荐(0) 编辑
摘要: Struts2与Spring整合后,可以使用Spring的配置文件applicationContext.xml来描述依赖关系,在Struts2的配置文件struts.xml来使用Spring创建的bean。1、导入依赖包除了导入Struts2和Spring的核心库之外,还要导入commons-logging和struts2-spring-plugin包,否则启动会出异常2、web.xml的配置既然有Struts2,核心拦截器的配置是不可少的<filter> <filter-name>struts2</filter-name> <filter-class 阅读全文
posted @ 2012-01-18 10:36 石莹 阅读(111879) 评论(11) 推荐(8) 编辑
摘要: 一、添加国际化支持默认的struts-deault.xml文件中已经定义了国际化拦截器,内容如下<!—定义国际化拦截器--><interceptor name="i18n" class="com.opensymphony.xwork2.interceptor.I18nInterceptor"/>该拦截器会在Action执行前执行,默认情况下,会读取用户请求中的request_locale参数,并将参数值存入session(key=WW_TRANS_I18N_LOCALE)通过改变拦截器的两个参数,可以改变默认值(parameter 阅读全文
posted @ 2012-01-17 14:48 石莹 阅读(1839) 评论(0) 推荐(0) 编辑
摘要: 1、web.xml文件配置 Struts2包装了复杂的jsp页面与servlet之间数据交换的接口,Struts2实际就是一个超级过滤器,所以需要在web.xml文件中配置过滤器 <!-- 配置核心过滤器,拦截所有URL请求 --><filter> <filter-name>struct2</filter-name> <filter-class>org.apache.st... 阅读全文
posted @ 2012-01-16 16:29 石莹 阅读(1424) 评论(0) 推荐(1) 编辑
摘要: <%@ page language="java" import="java.util.*" pageEncoding="GBK"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE&g 阅读全文
posted @ 2011-11-22 15:54 石莹 阅读(7187) 评论(0) 推荐(1) 编辑
摘要: 实现方式是VirtualBox虚拟机+精简的32位xp系统。指导小白用,高手就直接跳过吧。一、背景 初学者学习汇编语言通常是从16位汇编开始,但是现在的64位Win7系统明确表示不支持16位的程序。尽管masm具有64位版本,但是它编译出的程序已经失去了16位程序简洁直接的特性,也失去了作为汇编初学语言的优势。所以要想保留Win7又想学习汇编就需要搭建一个16位汇编的运行环境,目前有这样几种方式直接在硬盘上安装双系统,但是在高版本系统基础上再安装低版本系统,启动菜单是个麻烦事。 制作优盘版PE。这种方式用起来就比较麻烦,要插上优盘重启电脑。并且不是所有电脑都支持优盘启动。(小米还怕它不安全。。 阅读全文
posted @ 2011-05-18 11:24 石莹 阅读(22764) 评论(7) 推荐(0) 编辑