j2ee学习
以全局时间统一控制为例:
时间转换器
注册需要的配置文件
xwork-conversion.properties
java.util.Date=cn.aweb.awebvideo.meetingRealTime.util.DateConverter
参考资料
时间转换器
package cn.aweb.awebvideo.meetingRealTime.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import ognl.DefaultTypeConverter;
import com.opensymphony.xwork.XworkException;
public class DateConverter extends DefaultTypeConverter {
private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
public Object convertValue(Map ognlContext, Object value, Class toType) {
Object result = null;
if (toType == Date.class) {
result = doConvertToDate(value);
} else if (toType == String.class) {
result = doConvertToString(value);
}
return result;
}
private Date doConvertToDate(Object value) {
Date result = null;
if (value instanceof String) {
try {
result = sdf.parse((String) value);
} catch (java.text.ParseException e) {
throw new XworkException("Could not parse date", e);
}
} else if (value instanceof Object[]) {
Object[] array = (Object[]) value;
if ((array != null) && (array.length >= 1)) {
value = array[0];
result = doConvertToDate(value);
}
} else if (Date.class.isAssignableFrom(value.getClass())) {
result = (Date) value;
}
return result;
}
private String doConvertToString(Object value) {
String result = null;
if (value instanceof Date) {
result = sdf.format(value);
}
return result;
}
}
注册需要的配置文件
xwork-conversion.properties
java.util.Date=cn.aweb.awebvideo.meetingRealTime.util.DateConverter
参考资料
lunzi
2008-11-26 17:06:06
阅读:12
评论:0
引用:0
今晚心血来潮想起了ibatis,之前已经学过一次ibatis,但掌握的不是很好,今晚又学习了一边,解决现在项目遇到打部分问题应该没有什么难度了。
lunzi
2008-11-16 01:30:29
阅读:41
评论:0
引用:0
lunzi
2008-11-10 17:25:43
阅读:23
评论:0
引用:0
不用管它自动过去。
参考资料
参考资料
lunzi
2008-10-30 19:21:47
阅读:26
评论:0
引用:0
机器上装了一个svn服务器,导致了eclipse的svn插件不能正常使用,一用eclipse就自动关闭。
原来是装svn后把机器的环境改变了导致了jvm的崩溃。
解决方法:
将环境变量 APR_ICONV_PATH改为APR_ICONV1_PATH
或者下载Subversion 1.4.3的zip包,将环境变量 APR_ICONV_PATH 指向解压后的 iconv文件夹
参考资料
原来是装svn后把机器的环境改变了导致了jvm的崩溃。
解决方法:
将环境变量 APR_ICONV_PATH改为APR_ICONV1_PATH
或者下载Subversion 1.4.3的zip包,将环境变量 APR_ICONV_PATH 指向解压后的 iconv文件夹
参考资料
lunzi
2008-10-30 13:52:38
阅读:31
评论:0
引用:0
#================tomcat连接器=================
#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
LoadModule jk_module modules/mod_jk-apache-2.2.4.so
#此处mod_jk的文件为你下载的文件
JkWorkersFile "E:/server/Tomcat6/conf/workers.properties"
#指定tomcat监听配置文件地址
JkLogFile "E:/server/Tomcat6/logs/mod_jk2.log"
#指定日志存放位置
JkLogLevel info
#设置虚拟主机
<VirtualHost localhost>
ServerAdmin localhost
DocumentRoot e:/server/Tomcat6/webapps/ROOT
#您的站点项目所在路径,应与tomcat中的目录设置相同
ServerName localhost
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /servlet/* ajp13
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.action ajp13
#让Apache支持对.action传送,用以Tomcat解析
ProxyPass /Test http://127.0.0.1:8080/
ProxyPassReverse /Test http://127.0.0.1:8080
<proxy http://127.0.0.1:8080>
AllowOverride None
Order Deny,Allow
Allow from all
</proxy>
</VirtualHost>
参考资料
#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
LoadModule jk_module modules/mod_jk-apache-2.2.4.so
#此处mod_jk的文件为你下载的文件
JkWorkersFile "E:/server/Tomcat6/conf/workers.properties"
#指定tomcat监听配置文件地址
JkLogFile "E:/server/Tomcat6/logs/mod_jk2.log"
#指定日志存放位置
JkLogLevel info
#设置虚拟主机
<VirtualHost localhost>
ServerAdmin localhost
DocumentRoot e:/server/Tomcat6/webapps/ROOT
#您的站点项目所在路径,应与tomcat中的目录设置相同
ServerName localhost
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /servlet/* ajp13
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.action ajp13
#让Apache支持对.action传送,用以Tomcat解析
ProxyPass /Test http://127.0.0.1:8080/
ProxyPassReverse /Test http://127.0.0.1:8080
<proxy http://127.0.0.1:8080>
AllowOverride None
Order Deny,Allow
Allow from all
</proxy>
</VirtualHost>
参考资料
lunzi
2008-10-29 19:29:05
阅读:60
评论:0
引用:0
<p><font face="Arial"><#if news.title?lenth lt 13>${news.title} <br />
<#else> ${news.title[0..12]}... <br />
</#if> <br />
</font></p>
<p><font face="Arial">其它替代的方法是,使用lt、lte、gt和gte来替代<、<=、>和>=</font></p>
<p><font face="Arial">来源:<a href="http://blog.chinaunix.net/u/18957/showart_283814.html">http://blog.chinaunix.net/u/18957/showart_283814.html</a></font></p>
/showart_283814.html</a></font></p>
</p>
字符串处理资料
http://freemarker.sourceforge.net/docs/ref_builtins_string.htmlsp; <#else>
${news.title[0..12]}...
</#if>
<#else> ${news.title[0..12]}... <br />
</#if> <br />
</font></p>
<p><font face="Arial">其它替代的方法是,使用lt、lte、gt和gte来替代<、<=、>和>=</font></p>
<p><font face="Arial">来源:<a href="http://blog.chinaunix.net/u/18957/showart_283814.html">http://blog.chinaunix.net/u/18957/showart_283814.html</a></font></p>
/showart_283814.html</a></font></p>
</p>
字符串处理资料
http://freemarker.sourceforge.net/docs/ref_builtins_string.htmlsp; <#else>
${news.title[0..12]}...
</#if>
lunzi
2008-02-26 13:51:42
阅读:440
评论:0
引用:0
package jfir.smtiger.test;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class GetDBTablesInfo {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test?user=root&password=123456";
Connection conn = DriverManager.getConnection(url);
DatabaseMetaData databaseMetaData = conn.getMetaData();
// 获取所有表
ResultSet tableSet = databaseMetaData.getTables(null, "%", "%",
new String[] { "TABLE" });
while (tableSet.next()) {
String tableName = tableSet.getString("TABLE_NAME");
String tableComment = tableSet.getString("REMARKS");
System.out.println("tableName=" + tableName);
System.out.println("tableComment=" + tableComment);
// 获取tableName表列信息
ResultSet columnSet = databaseMetaData.getColumns(null, "%",
tableName, "%");
while (columnSet.next()) {
String columnName = columnSet.getString("COLUMN_NAME");
String columnComment = columnSet.getString("REMARKS");
String sqlType = columnSet.getString("DATA_TYPE");
System.out.println(columnName);
System.out.println(columnComment);
System.out.println(sqlType);
}
}
}
}
参考资料
lunzi
2008-10-05 22:36:11
阅读:82
评论:0
引用:0
log4j.rootLogger=INFO,console,R
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=e:/logs/amedia/backup.log
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
log4j.logger.net.sf.hibernate=info
log4j.logger.org.apache.log4j.examples.SortAlgo.INNER=INFO
log4j.logger.org.apache.log4j.examples.SortAlgo.SWAP=INFO
参考资料
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=e:/logs/amedia/backup.log
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
log4j.logger.net.sf.hibernate=info
log4j.logger.org.apache.log4j.examples.SortAlgo.INNER=INFO
log4j.logger.org.apache.log4j.examples.SortAlgo.SWAP=INFO
参考资料
lunzi
2008-09-22 09:54:39
阅读:77
评论:0
引用:0
一、准备工作:
1、apache_2.2.4-win32-x86-no_ssl.msi
2、apache tomcat6.0.18.exe
3、jre1.6.0_03
4、mod_jk-apache-2.2.4.so
二、安装:
1、安装JRE(JDK)
2、Apache安装
3、Tomcat安装
最好用安装版的,环境配置省了自己配了。
4、JK的安装
把mod_jk-apache-2.2.4.so拷贝到apache的安装位置下的\Apache2\modules\下.
以上安装全部完成后,打开cmd命令提示符,运行
C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd.exe -t
Syntax OK 你将会看到"Syntax OK",表示Apache配置正常
三、配置服务器:
1、配置Tomcat
查找目录下的conf/workers.properties文件,并对比下方文本内容,如有不同以下方内容为准修改。
workers.tomcat_home=E:\server\Tomcat6
#让mod_jk模块知道Tomcat
workers.java_home=E:\jdk\jre1.6.0_03
#让mod_jk模块知道j2sdk
ps=\ #指定文件路径分割符
worker.list=ajp13 #模块版本
worker.ajp13.port=8009 #工作端口,若没占用则不用修改
worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数,不用修改
2、配置Apache
打开C:\Program Files\Apache Software Foundation\Apache2.2\conf下的httpd.conf,在最后加入下面这段代码并保存。
#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
LoadModule jk_module modules/mod_jk-apache-2.2.4.so
#此处mod_jk的文件为你下载的文件
JkWorkersFile "E:/server/Tomcat6/conf/workers.properties"
#指定tomcat监听配置文件地址
JkLogFile "E:/server/Tomcat6/logs/mod_jk2.log"
#指定日志存放位置
JkLogLevel info
#设置虚拟主机
<VirtualHost localhost>
ServerAdmin localhost
DocumentRoot e:/server/Tomcat6/webapps/ROOT
#您的站点项目所在路径,应与tomcat中的目录设置相同
ServerName localhost
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /servlet/* ajp13
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.action ajp13
#让Apache支持对.action传送,用以Tomcat解析
</VirtualHost>
再次执行C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd.exe -t 如果看到"Syntax OK",说明你所有配置无误,双击窗口的托盘中的图标,然后点击Start运行。
在地址栏中分别输入http://localhost/,与http://localhost:8080/若结果相同,Apache与Tomcat整合成功
整和过程时遇到的问题:
安装apache时碰到了80端口占用问题,是讯雷占用,把讯雷用到的80端口改成其他的即可。
访问http://localhost/时出现403错误,是是apache 2.2.2的配置文件问题
把配置文件httpd.conf改改即可:
<Directory />
Options FollowSymLinks
AllowOverride None
### Order deny,allow
### Deny from all
Order allow,deny
Allow from all
Satisfy all
</Directory>
参考资料一
参考资料二
方法二
最新版的Apache2.2中,集成了对tomcat支持的ajp——proxy_ajp模块。
确认tomcat的配置文件server.xml中,把ajp1.3链接配置打开。即Define a Coyote/JK2 AJP 1.3 Connector on port 8009部分。
配置httpd.conf方法
先配置文件跟路径,配置监听端口等。
下面,就说说配置proxy_ajp了。
#加载解析模块(windows下,或linux采用动态加载模式下需配置。前面我们的linux编译时把下面的模块嵌入到了apache中,所以不用再加载)
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#禁止使用proxy_ajp代理的目录:
ProxyPass /images/ !
#使用proxy_ajp代理;下面的配置,是把所有目录全用代理
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
配置到现在,重启一下apache,就可通过apache来访问tomcat的服务了。
其他说明
1、apache对tomcat的支持历史:apache第2.1版本后,内置了proxy_ajp,而jk2已经没人开发了,jk则支持到apache的2.0.58版本。
proxy_ajp配置较简单,但可配置性还不如jk2,主要表现在proxy_ajp目前只支持配置到目录,还不支持对文件名称的pattern模式匹配(即还不能定义到只对jsp文件起作用)。
2、因为proxy_ajp的配置,还不支持对文件名称的pattern模式匹配,所以你要特别注意:
——尽量把jsp和静态文件和图片路径分不同的目录来管理;
——对于静态文件和图片路径,如/images,你可用“ProxyPass /images !”来禁止ProxyPass,从而来让apache来直接处理图片的请求。
——关于apache的ssi(即shtml,include)与tomcat的集成时,shtml文件不能处于ProxyPass的控制下(即不能在ProxyPass目录),而shtml调用的jsp须在ProxyPass有效控制下。
参考资料
1、apache_2.2.4-win32-x86-no_ssl.msi
2、apache tomcat6.0.18.exe
3、jre1.6.0_03
4、mod_jk-apache-2.2.4.so
二、安装:
1、安装JRE(JDK)
2、Apache安装
3、Tomcat安装
最好用安装版的,环境配置省了自己配了。
4、JK的安装
把mod_jk-apache-2.2.4.so拷贝到apache的安装位置下的\Apache2\modules\下.
以上安装全部完成后,打开cmd命令提示符,运行
C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd.exe -t
Syntax OK 你将会看到"Syntax OK",表示Apache配置正常
三、配置服务器:
1、配置Tomcat
查找目录下的conf/workers.properties文件,并对比下方文本内容,如有不同以下方内容为准修改。
workers.tomcat_home=E:\server\Tomcat6
#让mod_jk模块知道Tomcat
workers.java_home=E:\jdk\jre1.6.0_03
#让mod_jk模块知道j2sdk
ps=\ #指定文件路径分割符
worker.list=ajp13 #模块版本
worker.ajp13.port=8009 #工作端口,若没占用则不用修改
worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数,不用修改
2、配置Apache
打开C:\Program Files\Apache Software Foundation\Apache2.2\conf下的httpd.conf,在最后加入下面这段代码并保存。
#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
LoadModule jk_module modules/mod_jk-apache-2.2.4.so
#此处mod_jk的文件为你下载的文件
JkWorkersFile "E:/server/Tomcat6/conf/workers.properties"
#指定tomcat监听配置文件地址
JkLogFile "E:/server/Tomcat6/logs/mod_jk2.log"
#指定日志存放位置
JkLogLevel info
#设置虚拟主机
<VirtualHost localhost>
ServerAdmin localhost
DocumentRoot e:/server/Tomcat6/webapps/ROOT
#您的站点项目所在路径,应与tomcat中的目录设置相同
ServerName localhost
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /servlet/* ajp13
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.action ajp13
#让Apache支持对.action传送,用以Tomcat解析
</VirtualHost>
再次执行C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd.exe -t 如果看到"Syntax OK",说明你所有配置无误,双击窗口的托盘中的图标,然后点击Start运行。
在地址栏中分别输入http://localhost/,与http://localhost:8080/若结果相同,Apache与Tomcat整合成功
整和过程时遇到的问题:
安装apache时碰到了80端口占用问题,是讯雷占用,把讯雷用到的80端口改成其他的即可。
访问http://localhost/时出现403错误,是是apache 2.2.2的配置文件问题
把配置文件httpd.conf改改即可:
<Directory />
Options FollowSymLinks
AllowOverride None
### Order deny,allow
### Deny from all
Order allow,deny
Allow from all
Satisfy all
</Directory>
参考资料一
参考资料二
方法二
最新版的Apache2.2中,集成了对tomcat支持的ajp——proxy_ajp模块。
确认tomcat的配置文件server.xml中,把ajp1.3链接配置打开。即Define a Coyote/JK2 AJP 1.3 Connector on port 8009部分。
配置httpd.conf方法
先配置文件跟路径,配置监听端口等。
下面,就说说配置proxy_ajp了。
#加载解析模块(windows下,或linux采用动态加载模式下需配置。前面我们的linux编译时把下面的模块嵌入到了apache中,所以不用再加载)
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#禁止使用proxy_ajp代理的目录:
ProxyPass /images/ !
#使用proxy_ajp代理;下面的配置,是把所有目录全用代理
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
配置到现在,重启一下apache,就可通过apache来访问tomcat的服务了。
其他说明
1、apache对tomcat的支持历史:apache第2.1版本后,内置了proxy_ajp,而jk2已经没人开发了,jk则支持到apache的2.0.58版本。
proxy_ajp配置较简单,但可配置性还不如jk2,主要表现在proxy_ajp目前只支持配置到目录,还不支持对文件名称的pattern模式匹配(即还不能定义到只对jsp文件起作用)。
2、因为proxy_ajp的配置,还不支持对文件名称的pattern模式匹配,所以你要特别注意:
——尽量把jsp和静态文件和图片路径分不同的目录来管理;
——对于静态文件和图片路径,如/images,你可用“ProxyPass /images !”来禁止ProxyPass,从而来让apache来直接处理图片的请求。
——关于apache的ssi(即shtml,include)与tomcat的集成时,shtml文件不能处于ProxyPass的控制下(即不能在ProxyPass目录),而shtml调用的jsp须在ProxyPass有效控制下。
参考资料
lunzi
2008-08-28 10:37:43
阅读:383
评论:0
引用:0
