j2ee学习
最近我们的一个服务器项目增加了几个项目,就老报内存溢出错误,调整了一下jvm选项中的配置参数ok了.
-Xms600M
-Xmx600M
-Xverify:none
-XX:PermSize=128M
-XX:MaxPermSize=256m
-XX:+UseAdaptiveSizePolicy
-XX:+UseParallelGC
-XX:+UseParallelOldGC
-XX:NewSize=200m
-Xmn200m
-Xms600M
-Xmx600M
-Xverify:none
-XX:PermSize=128M
-XX:MaxPermSize=256m
-XX:+UseAdaptiveSizePolicy
-XX:+UseParallelGC
-XX:+UseParallelOldGC
-XX:NewSize=200m
-Xmn200m
lunzi
2008-09-05 14:44:55
阅读:13
评论: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>
参考资料一
参考资料二
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>
参考资料一
参考资料二
lunzi
2008-08-28 10:37:43
阅读:79
评论:0
引用:0
<#if !session.MediaUser?if_exists>
hi,<@s.property value="%{#session.MediaUser.username}"/>您好
<#else>
hi,游客您好
</#if>
hi,<@s.property value="%{#session.MediaUser.username}"/>您好
<#else>
hi,游客您好
</#if>
lunzi
2008-08-25 09:05:34
阅读:56
评论:0
引用:0
XSTL即可可扩展的样式表转换语言
可采用XSLT技术将XML结构的数据转换为HTML页面的代码。
jakarta.apache.org
提供的有三个关键包:
xerces.jar
xalan.jar
xsl.jar
官方jar包及例子下载
参考资料
可采用XSLT技术将XML结构的数据转换为HTML页面的代码。
jakarta.apache.org
提供的有三个关键包:
xerces.jar
xalan.jar
xsl.jar
官方jar包及例子下载
参考资料
lunzi
2008-08-17 02:44:29
阅读:31
评论:0
引用:0
lunzi
2008-07-17 09:06:11
阅读:49
评论:0
引用:0
一、系统包的结构说明
dao 系统数据处理部分
service 系统业务处理部分
web 用户界面处理部分
exception 系统异常处理部分
po 持久化类部分
bo 用户添加或修改数据的模型
vo 用户查询数据的模型
util 系统工具
test 系统单元测试部分
front 表示系统前台处理部分
bg 表示系统后台处理部分
base 表示基础类部分
impl 表示接口实现类部分
interceptor 表示拦截器
result 表示struts2的结果类型
二、系统技术结构
spring+hibernate+struts2+freemarker+ajax(prototype、dojo、dwr、原始操作形式)+jsp
三、数据库
SqlServer2005
四、敏感问题
数据库连接池的选择c3p0、dbcp
hibernate的模板类封装
hibernate的二级缓存配置【分布式的缓存方案】ehcache、oscache
hibernate的延迟加载
hibernate的关联查询
hibernate的分页封装
spring的作用域设置
spring的事务处理
spring的配置文件模块划分
struts2的模块划分方法
struts2的统一异常处理
struts2的操作成功转发
struts2的数据验证【客户端和服务器验证两种】
struts2的视图选择【freemarker和jsp结合使用】
生成静态页
url地址抓取
模板生成
重写struts2的freemarker result
权限处理
用户组
角色
查询问题
模糊查询
全文检索lucence
与其它平台的结合问题
Webservice
Url地址重写问题
urlrewrite
负载均衡问题
缓存同步问题
应当统一、便于日后维护
dao 系统数据处理部分
service 系统业务处理部分
web 用户界面处理部分
exception 系统异常处理部分
po 持久化类部分
bo 用户添加或修改数据的模型
vo 用户查询数据的模型
util 系统工具
test 系统单元测试部分
front 表示系统前台处理部分
bg 表示系统后台处理部分
base 表示基础类部分
impl 表示接口实现类部分
interceptor 表示拦截器
result 表示struts2的结果类型
二、系统技术结构
spring+hibernate+struts2+freemarker+ajax(prototype、dojo、dwr、原始操作形式)+jsp
三、数据库
SqlServer2005
四、敏感问题
数据库连接池的选择c3p0、dbcp
hibernate的模板类封装
hibernate的二级缓存配置【分布式的缓存方案】ehcache、oscache
hibernate的延迟加载
hibernate的关联查询
hibernate的分页封装
spring的作用域设置
spring的事务处理
spring的配置文件模块划分
struts2的模块划分方法
struts2的统一异常处理
struts2的操作成功转发
struts2的数据验证【客户端和服务器验证两种】
struts2的视图选择【freemarker和jsp结合使用】
生成静态页
url地址抓取
模板生成
重写struts2的freemarker result
权限处理
用户组
角色
查询问题
模糊查询
全文检索lucence
与其它平台的结合问题
Webservice
Url地址重写问题
urlrewrite
负载均衡问题
缓存同步问题
应当统一、便于日后维护
lunzi
2008-07-03 16:17:25
阅读:124
评论:1
引用:0
1、java类
MsgService.java
package org.getahead.dwrdemo.simpletext;
public class MsgService {
public String sayMsg(String msg){
return msg;
}
}
2、在spring上下文件applicationContext.xml中配置MsgService
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="msgService"
class="org.getahead.dwrdemo.simpletext.MsgService">
</bean>
</beans>
3、在dwr.xml配置
<allow>
<!-- 关键是这和spring整合 -->
<create creator="spring" javascript="MsgService">
<param name="beanName" value="msgService"/>
<include method="sayMsg"/>
</create>
<!-- this is a bad idea for live, but can be useful in testing -->
<convert converter="exception" match="java.lang.Exception"/>
<convert converter="bean" match="java.lang.StackTraceElement"/>
</allow>
4、msg.html调用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Simple Text Generation Demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
<script type='text/javascript' src='../dwr/engine.js'> </script>
<script type='text/javascript' src='../dwr/util.js'> </script>
<script type='text/javascript' src='../dwr/interface/MsgService.js'> </script>
<script>
function send2(){
var name = document.getElementById('name').value;
alert('name='+name);
MsgService.sayMsg(name,load);
}
function load(data){
var say = document.getElementById('say');
say.innerHTML = data;
}
</script>
</head>
<body>
<h1>Dynamically Updating Text</h1>
<div id="demoDiv">
<p>
Name:
<input type="text" id="name" value="lunzi"/>
<input value="Send" type="button" onclick="send2()"/>
<br/>
Reply: <span id="say" style="background:#eeffdd; padding-left:4px; padding-right:4px;"></span>
</p>
</div>
</body>
</html>
lunzi
2008-07-01 16:55:44
阅读:291
评论:0
引用:0
${varName?trim}
来自:http://www.v246.com/html/659.html
来自:http://www.v246.com/html/659.html
lunzi
2008-07-01 13:55:36
阅读:70
评论: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>p; <#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>p; <#else>
${news.title[0..12]}...
</#if>
lunzi
2008-02-26 13:51:42
阅读:286
评论:0
引用:0
1、java.lang.NoSuchMethodError: org.springframework.util.ObjectUtils.nullSafeToString(Ljava/lang/Object;)Ljava/lang/String;
spring的jar包冲突错误:
我的是用的spring2.0的jar包,应为要用工作调度所以加了一个1.2版本的spring.jar做支持,项目跑在容器下跑没事,单元测试就会出现以上错误。
参考资料:http://www.javaeye.com/post/365364
2、
support.DisposableBeanAdapter (DisposableBeanAdapter.java:148) - Couldn't invoke destroy method of bean with name 'sessionFactory'
java.lang.IllegalStateException: Shutdown in progress
查了以下资料,也有人遇到过,找了一类似http://www.blogjava.net/allen-zhe/archive/2007/03/20/104880.html,我的解决方式,就在数据源配置那加了一个destroy-method="close"配置就可以了。
解决方法是看了http://forum.springframework.org/archive/index.php/t-19665.html这片文章想出来的。
3、org.hibernate.HibernateException: CGLIB Enhancement failed:
原因是myeclipse6.0的cglib-2.1.3.jar有bug,改为cglib-2.1.jar就可以了
4、[这个是在服务器运行时才报的,有点跑题了]还有一种比较隐蔽的错误,只要log4j属性文件设置为debug时才会报的错误代码如下:
DEBUG [main] xml.DefaultNamespaceHandlerResolver (DefaultNamespaceHandlerResolver.java:128) - Ignoring namespace handler [org.springframework.scripting.config.LangNamespaceHandler]: handler class not found
java.lang.ClassNotFoundException: org.springframework.scripting.config.LangNamespaceHandler
找不到类的提示,在google上搜了一段时间没找到这个类在那个包里,最后一想肯定myeclipse自带的包肯定有,果然找到了,是少加载了spring-support.jar包。在myeclipse的Spring2.0 Misc Libraires库里
spring的jar包冲突错误:
我的是用的spring2.0的jar包,应为要用工作调度所以加了一个1.2版本的spring.jar做支持,项目跑在容器下跑没事,单元测试就会出现以上错误。
参考资料:http://www.javaeye.com/post/365364
2、
support.DisposableBeanAdapter (DisposableBeanAdapter.java:148) - Couldn't invoke destroy method of bean with name 'sessionFactory'
java.lang.IllegalStateException: Shutdown in progress
查了以下资料,也有人遇到过,找了一类似http://www.blogjava.net/allen-zhe/archive/2007/03/20/104880.html,我的解决方式,就在数据源配置那加了一个destroy-method="close"配置就可以了。
解决方法是看了http://forum.springframework.org/archive/index.php/t-19665.html这片文章想出来的。
3、org.hibernate.HibernateException: CGLIB Enhancement failed:
原因是myeclipse6.0的cglib-2.1.3.jar有bug,改为cglib-2.1.jar就可以了
4、[这个是在服务器运行时才报的,有点跑题了]还有一种比较隐蔽的错误,只要log4j属性文件设置为debug时才会报的错误代码如下:
DEBUG [main] xml.DefaultNamespaceHandlerResolver (DefaultNamespaceHandlerResolver.java:128) - Ignoring namespace handler [org.springframework.scripting.config.LangNamespaceHandler]: handler class not found
java.lang.ClassNotFoundException: org.springframework.scripting.config.LangNamespaceHandler
找不到类的提示,在google上搜了一段时间没找到这个类在那个包里,最后一想肯定myeclipse自带的包肯定有,果然找到了,是少加载了spring-support.jar包。在myeclipse的Spring2.0 Misc Libraires库里
lunzi
2008-06-24 15:33:58
阅读:243
评论:1
引用:0
