`

一次web发布过程的相关配置

阅读更多
发布环境: Tomcat5 + MySql4 +Hibernate + Win2003

一.MySql配置文件
my.ini文件配置
# The default character set that will be used when a new schema or table is
# created and no character set is defined

####设置字符集,MySql默认为latin1,如果你的存储出现乱码就改为GBK吧
#default-character-set=latin1
default-character-set=GBK

# The default storage engine that will be used when create new tables when

###建议用INNODB,支持事务
default-storage-engine=INNODB 


二.Tomcat配置文件

   server.conf
主要是配置一个上下文和数据源
相关配置如下:
<Context path="/sample" docBase="sample"   debug="0" privileged="true">
            <Resource name="jdbc/sample" auth="Container" type="javax.sql.DataSource"/>
            <ResourceParams name="jdbc/sample"> 
                <parameter>
                    <name>username</name>
                    <value>sample</value>
                </parameter>
                <parameter>
                    <name>password</name>
                    <value>sample</value>
                </parameter>
                <parameter>
                    <name>driverClassName</name> 
                    <value>org.gjt.mm.mysql.Driver</value>
                </parameter>
                <parameter>
                    <name>url</name> 
                    <value>jdbc:mysql://localhost/sample</value>
                </parameter> 
              </ResourceParams> 
    </Context> 

ps:如果要支持reloadble,代码为:
<Context path="/cpms" docBase="cpms"   debug="0" privileged="true" reloadable="false">



记得把jdbc驱动拷贝到Tomcat的common\lib下

优化jvm参数
修改Tomcat的bin目录下的catalina.bat文件set JAVA_OPTS=-Xms512m -Xmx512m
注:如果你的 Tomcat是通过service方式启动的这个设置不起作用,所以你最好通过startup.bat方式来启动,service 是直接调用Tomcat.exe,所以不知道怎么设置参数,我试了一下在服务里的"启动参数"里加入
-Xms512m -Xmx512m好像不起作用.知道的兄弟补充下啊


好了,启动你的Tomcat吧,查看资源管理器,看内存是否已经被Tomcat占用了512M

三.web.xml配置
主要涉及数据源,servlet,tld映射
web.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <display-name>CPMSWeb</display-name>
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>
    </init-param>
    <init-param>
      <param-name>application</param-name>
      <param-value>ApplicationResources</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>

   <servlet>
    <servlet-name>com.my.DataServlet</servlet-name>
    <servlet-class>com.my.DataServlet</servlet-class>
    <init-param>
      <param-name>license</param-name>
      <param-value>/WEB-INF/license.dat</param-value>
    </init-param>
    <!--为DataServlet提供datasource-->
    <init-param>
      <param-name>dataSource</param-name>
      <param-value>jdbc/report,mysql,GBK</param-value>
    </init-param>
    <init-param>
      
    <init-param>
      <param-name>maxConcurrentForBigReport</param-name>
      <param-value>2</param-value>
    </init-param>
    <init-param>
      <param-name>logConfig</param-name>
      <param-value>/WEB-INF/runqianReportLog.properties</param-value>
    </init-param>
    <init-param>
      <param-name>certFile</param-name>
      <param-value>C:\Documents and Settings\sjr\.keystore</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>

  <filter>
     <filter-name>eXtremeExport</filter-name>
     <filter-class>
       org.extremecomponents.table.filter.ExportFilter
     </filter-class>
  </filter>

  <filter-mapping>
    <filter-name>eXtremeExport</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
  </taglib>
  <!--配置一些定制的配置文件-->
  <env-entry>
    <env-entry-name>ConfigXmlFilePath</env-entry-name>
    <env-entry-value>C:/config.xml</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
  </env-entry>
</web-app>

四.hibernate配置文件
hibernate.cfg.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.provider_class">net.sf.hibernate.connection.C3P0ConnectionProvider</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost/sample</property>
        <property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
        <property name="hibernate.connection.username">sample</property>
        <property name="hibernate.connection.password">sample</property>
        <property name="hibernate.use_outer_join">True</property>
        <property name="connection.pool_size">50</property>
        <property name="show_sql">true</property>
        <property name="use_outer_join">true</property>
        <property name="jdbc.fetch_size">50</property>
        <property name="jdbc.batch_size">50</property>
        <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
        <!--
        <property name="hibernate.dbcp.maxActive">50</property>
        <property name="hibernate.dbcp.whenExhaustedAction">1</property>
        <property name="hibernate.dbcp.maxWait">120000</property>
        <property name="hibernate.dbcp.maxIdle">30</property>
        -->
        <!-- configuration pool via c3p0--> 
        <property name="c3p0.acquire_increment">1</property> 
        <property name="c3p0.idle_test_period">100</property> <!-- seconds --> 
        <property name="c3p0.max_size">100</property> 
        <property name="c3p0.max_statements">0</property> 
        <property name="c3p0.timeout">100</property> <!-- seconds --> 
        <!-- DEPRECATED very expensive property name="c3p0.validate>--> 
        <property name="cache.provider_class">net.sf.hibernate.cache.HashtableCacheProvider</property>
        <property name="hibernate.transaction.factory_class">net.sf.hibernate.transaction.JDBCTransactionFactory</property>
        <property name="hibernate.cglib.use_reflection_optimizer">false</property> 
        
        <mapping resource="conf/mapping/Sample.hbm.xml"/>

        
    </session-factory>
</hibernate-configuration>

五.这个其实不是配置,应该算是一项优化方案,即jsp预编译
jsp预编译有2个好处

    1提高jsp响应速度,因为jsp全部预先编译成class了,少了中间的环节
    2增强jsp安全性,你的jsp源码可以全部删除,只提供一个YourJsps.jar包到lib就可以了
在weblogic里预编译非常方便,可以在console里配置通过开关配置这个参数,但是Tomcat就没有这个好事了,不过我们可以手工完成,我找了下资料,在ant里配置如下:
<!-- =================================================================== -->
    <!--            precompile jsp                                             -->
    <!-- =================================================================== -->
    <target name="jsp2java">
  <taskdef classname="org.apache.jasper.JspC" name="jsp2java">
   <classpath id="jsp2java.classpath">
    <fileset dir="${tomcat.home}/bin">
     <include name="*.jar"/>
    </fileset>
    <fileset dir="${tomcat.home}/server/lib">
     <include name="*.jar"/>
    </fileset>
    <fileset dir="${tomcat.home}/common/lib">
     <include name="*.jar"/>
    </fileset>
   </classpath>
  </taskdef>
  
  <jsp2java classpath="jsp2java.classpath" javaEncoding="UTF-8" validateXml="false" uriroot="${web.dir}" webXmlFragment="${web.dir}/WEB-INF/webJSP.xml" outputDir="${web.dir}/WEB-INF/JspC/src"/>
 </target>
 
 <target name="java2class">
  <mkdir dir="${web.dir}/WEB-INF/JspC/classes"/>
  <javac srcdir="${web.dir}/WEB-INF/JspC/src" destdir="${web.dir}/WEB-INF/JspC/classes" encoding="UTF-8" optimize="off" debug="on" failonerror="false" excludes="**/*.smap">
   <classpath id="java2class.classpath">
    <pathelement location="${web.dir}/WEB-INF/classes"/>
    <fileset dir="${web.dir}/WEB-INF/lib">
     <include name="*.jar"/>
    </fileset>
    <pathelement location="${tomcat.home}/common/classes"/>
    <fileset dir="${tomcat.home}/common/lib">
     <include name="*.jar"/>
    </fileset>
    <pathelement location="${tomcat.home}/shared/classes"/>
    <fileset dir="${tomcat.home}/shared/lib">
     <include name="*.jar"/>
    </fileset>
    <fileset dir="${tomcat.home}/bin">
     <include name="*.jar"/>
    </fileset>
   </classpath>
   <include name="**"/>
   <exclude name="tags/**" />
  </javac>
 </target>
 <target name="class2jar">
  <jar basedir="${web.dir}/WEB-INF/JspC/classes" jarfile="${web.dir}/WEB-INF/lib/${project.name}JSP.jar"/>
 </target>
 <target name="clear">
  <delete dir="${web.dir}/WEB-INF/JspC/classes"/>
  <delete dir="${web.dir}/WEB-INF/JspC/src"/>
  <delete dir="${web.dir}/WEB-INF/JspC"/>
 </target>
分享到:
评论

相关推荐

    Mastering Web Application Development with AngularJS

    版 次:1页 数:348字 数:448000印刷时间:2014-10-1开 本:16开纸 张:胶版纸印 次:1包 装:平装 编辑推荐  由科兹洛夫斯基、达尔文所著的《精通AngularJS》全面系统的介绍了AngularJS框架。AngularJS是Google...

    Web2.0社区平台源码

    14.修复第一次读取共同好友的时报错 SpaceBuilder.Core/Service/Friend/Friends.cs 15.修改读取共同好友的时获取的用户id SpaceBuilder/Web/Themes/UserDomains/Default/Controls/Friends/ListMutualFriends.ascx ...

    WWW服务器的安装与配置.doc

    实验一 WWW服务器的安装与配置 一、实验目的 1.掌握WWW服务器的安装与配置方法。 2.掌握默认Web站点、管理Web站点和添加新的Web站点的设置。 3.掌握一台WWW服务器发布多个网站(在... 安装过程会多次出现要求从光盘

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    SSH 为 Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久...

    架构即未来 现代企业可扩展的Web架构流程和组织 原书第2版

    《架构即未来》这本书的第12章简单阐述了架构设计的一些常用的原则(后面章节会详细阐述)。这些原则中很多都是在架构一开始的设计中就要考虑...人常犯错误,更令人沮丧的是,他们往往会以不同的方式多次犯同样的错误。

    《Java-web程序设计》教案.doc

    JSP的优势: 一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任 何更改。 系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行 系统部署,在任意环境中扩展。...

    DTcms_50_sql_src最新旗舰版带手机和微信公众号设置

    3、一次更新 多次挑战 敢于颠覆自已,每一次的更新,我们都严谨苛刻,全力以赴。 4、兼容IE8+浏览器 响应式后台界面 更加苛刻的管理界面,更好地兼容IE8+及手机浏览器无需IE10以上亦可体验响应式带来的快感 5.0界面...

    润唇膏:适用于Web应用程序的通用前端工作流程

    学习一次,运行任何Web应用程序:将以相同的方式开发和构建任何前端技术堆栈。 产品特点 基于gulp + webpack的webapp项目 自动编译PostCSS / Sass / Less CSS自动前缀 自动生成CSS图像精灵 使用Babel启用ES2015 +...

    openwrt对mcu安全校验启动

    但是第一次编译慢,对网络依赖高。 编译时自动下载源代码、打补丁来满足指定平台要求,并编译,还可以修改Makefile来下载最新的软件包。 使用Luci作为最终用户管理界面,以apache许可协议发布许可协议发布管理功能代码...

    httpd-2.4.57

    Apache HTTP Server(简称Apache),是Apache软件基金会的一个开放源代码的网页服务器...如果你保存了上一次安装后build子目录中的config.nice文件,升级将更加平滑。这个文件精确地保存了所有对目录树进行配置的confi

    SSH代码生成工具 SSH代码生成器

    Sturts2.0配置--&gt; sturts.xml、struts.properties ...最多3分钟的生成过程,一次生成,全程无忧! 更有9组页面按钮,6套页面样式供您选择,灵活的SSH架构、清晰的SSH层次结构!一旦拥有,JAVA无忧!

    18.[开源][安卓][自动更新框架]HockeyKit-develop

    只需在服务器上安装一次服务端,就可以处理包标识符不同的多个应用程序(有开发者强烈建议对Debug、AdHoc Beta和AppStore发布版使用不同的包标识符)。 默认当App启动或唤醒时,客户端会从服务器检测更新,用户可以...

    ServletEx2 1.0 Java WEB 应用开发框架 完整版 (release, source, document, example 2010-01-13)

    基本上每过两个项目,都会对框架进行一次比较大的升级。 最近一年来,这个框架基本不再作大的变动了,于是我将之命名为 ServletEx2。版本就定为1.0吧。 现在将其中相对成熟、稳定的部份发布出来,希望能有更多的人...

    Spring in Action(第二版 中文高清版).part2

    13.3.4 使用一次性控制器 13.4 处理异常 13.5 小结 第14章 渲染Web视图 14.1 视图解析 14.1.1 使用模板视图 14.1.2 解析视图Bean 14.1.3 选择视图解析器 14.2 使用Spring模板 14.2.1 绑定表单数据 ...

    Spring in Action(第二版 中文高清版).part1

    13.3.4 使用一次性控制器 13.4 处理异常 13.5 小结 第14章 渲染Web视图 14.1 视图解析 14.1.1 使用模板视图 14.1.2 解析视图Bean 14.1.3 选择视图解析器 14.2 使用Spring模板 14.2.1 绑定表单数据 ...

    ssh代码生成器轻松、快捷

    用于JAVA开发中的 Struts2.0 + Spring2.0 + Hibernate3.2 框架整合程序...最多3分钟的生成过程,一次生成,全程无忧! 更有9组页面按钮,6套页面样式供您选择,灵活的SSH架构、清晰的SSH层次结构!一旦拥有,JAVA无忧!

    AutoCode代码生成器(SSH版)

    AutoCode代码生成器(SSH版) 【用于JAVA开发中的 Struts2.0 + Spring2.0 + Hibernate3.2 框架...最多3分钟的生成过程,一次生成,全程无忧! 更有9组页面按钮,6套页面样式供您选择,灵活的SSH架构、清晰的SSH层次结构!

    办公自动化系统OA-探索软件

    流程配置 7.系统帮助 产品特点: 1.基于免费环境开发运行 IIS5.0 2.客户端基于浏览器访问,产品模块化设计 3.代码全开放,易于二次开发 4.信息集中处理,操作简单 5.无任何插件、完全自主开发 合适做二次开发...

    计算机专业毕设ASP.NET基于BS课件发布系统(源代码+论文).rar

    该项目采用当前流行的ASP.NET技术,结合B/S(浏览器/服务器)架构,旨在提供一个高效、便捷、安全的课件发布与管理平台。资源包含完整的源代码和详细的设计论文,可支持二次开发定制,满足个性化需求。 **功能特点...

    Jenkins持续集成引擎的前身是Hudson是一个可扩展的持续集成引擎.rar

    易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理; 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/...

Global site tag (gtag.js) - Google Analytics