server.xml的关键参数配置.doc_第1页
server.xml的关键参数配置.doc_第2页
server.xml的关键参数配置.doc_第3页
server.xml的关键参数配置.doc_第4页
server.xml的关键参数配置.doc_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Tomcat服务器 server .xml 的关键参数配置说明:以下文字均以tomcat5.0.30为例进行。1 ,配置 tomcat 服务器访问端口,只需配置Connector 的 port修改 port 参数值为80。<!- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -><Connector port="80"maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

2、enableLookups="false" redirectPort="8443" acceptCount="100"debug="0" connectionTimeout="20000"disableUploadTimeout="true" URIEncoding="GBK"/>端口即可。Tomcat默认为8080 ,现2 ,配置 tomcat 支持 URL该参数未被配置。要支持中文参数,只需添加Connector的 URIEncoding参数即可

3、,默认情况下URL 参数支持中文,加上URIEncod ing= ”GBK”就行了(见1 中附代码最后一行)。3 ,配置新的webApp :找到 host 尾标记 </Host>,插入新的context 即可。如:( 1 )<Context path="" docBase="ROOT" debug="0"/>若要支持数据库(以SQL Server 为例),则为:( 2 ) <Contextpath="/xkb"docBase="F:XKB6webApp"debug=

4、"5"reloadable="true"crossContext="true"><LoggerclassName="org.apache.catalina.logger."prefix="localhost_DBTest_log."suffix=".txt"timestamp="true"/><Resource name="jdbc/SqlServerDB" auth="Container"

5、type="javax.sql.DataSource"/><ResourceParams name="jdbc/SqlServerDB"><parameter><name>factory</name><value>mons.dbcp.BasicDataSourceFactory</value></parameter><!- Maximum number of dB connections in pool. Make sure you configure you

6、r mysqld max_connections large enough to handle all of your db connections. Set to 0 for no limit.-><parameter><name>maxActive</name><value>50</value></parameter><!- Maximum number of idle dB connections to retain in pool. Set to 0 for no limit.-><para

7、meter><name>maxIdle</name><value>20</value></parameter><!- Maximum time to wait for a dB connection to become available in ms, in this example 0.5 seconds. An Exception is thrown if this timeout is exceeded. Set to -1 to wait indefinitely. -><parameter>&l

8、t;name>maxWait</name><value>500</value></parameter><!- msSQL dB username and password for dB connections -><parameter><name>username</name><value>sa</value></parameter><parameter><name>password</name><value>

9、wangnewton</value></parameter><!- Class name for SQLServer2000 JDBC driver -><parameter><name>driverClassName</name><value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value></parameter><!- The JDBC connection url for connecting to your MS SQ

10、L Server dB.The autoReconnect=true argument to the url makes sure that the mm.Sql Server JDBC Driver will automatically reconnect if mysqld closed the connection. mysqld by default closes idle connections after 8 hours.-><parameter><name>url</name><value>jdbc:microsoft:sql

11、server:/localhost:1433;databaseName=XKBCourse</value><!-must use & not use & -></parameter></ResourceParams></Context>tomcat5.5.x配置记录。1. 下载:http:/c:iknowdocsharedatacur_workakartatomcat-5v5.5.xbinjakarta-tomcat-5.5.x-deployer.zip把 jakarta-tomcat-5.5.x.zip和 jakar

12、ta-tomcat-5.5.x-compat.zip 和 jakarta-tomcat-5.5.x-admin.zip (Tomcat 默认是没有内置 admin 模块了Tomcat's administration web application is no longer installed by default. Download and install the "admin" package to use it. )都解压到同一个目录下面。比如:D:jakarta-tomcat-5.5.x( 如果使用jdk1.4 ,才需要compat.zip用 jdk1.5就

13、可以免了这个。)2. 修改 jakarta-tomcat-5.5.xconftomcat-users.xml.添加管理员账号lizongbo ,密码为lizongbopass.新 xml 如下:<?xml version='1.0' encoding='utf-8'?><tomcat-users><role rolename="tomcat"/><role rolename="role1"/><role rolename="manager"/>

14、<role rolename="admin"/><user username="tomcat" password="tomcat" roles="tomcat"/> <user username="role1" password="tomcat" roles="role1"/> <user username="both" password="tomcat" roles=&qu

15、ot;tomcat,role1"/><user username="lizongbo" password="lizongbopass" roles="admin,manager"/> </tomcat-users>3. 修改 jakarta-tomcat-5.5.xconfserver.xml( 给 Connector添加 URIEncoding 参数,参考)来解决编码问题。( 可以设置成GB18030)<Connector port="8080"maxThreads=

16、"150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="200" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK" compression="on" com

17、pressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml"/><Connector port="8009"enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="GBK"/>

18、;4. 启用支持 gzip 压缩 .()添加下列属性compression="on"compressionMinSize="2048"noCompressionUserAgents="gozilla, traviata"compressableMimeType="text/html,text/xml"5. 设置虚拟主机。在下建立文件夹。然后修改jakarta-tomcat-5.5.xconfserver.xml<Engine defaultHost="localhost" name=&qu

19、ot;Catalina"><Host appBase="vhost/" name=""></Host><Host appBase="webapps" name="localhost"></Host><Realm className="org.apache.catalina.realm.UserDatabaseRealm"/> </Engine>6. 添加数据库驱动, 更新 mail.jar和 actiovat

20、ion.jar复制mysql-connector-java-3.0.16-ga-bin.jar,pg74.215.jdbc3.jar到jakarta-tomcat-5.5.xcommonlib还有 javamail 1.3.2 的 mail.jar , jaf-1_0_2 的 activation.jar msSQl 2000 JDBC sp3 , msbase.jar,msutil,jar,mssqlserver.jar7. 配置 SSL参考D:j2sdk1.4.2_06bin>%JAVA_HOME%binkeytool -genkey -alias tomcat -keyalg RS

21、A输入 keystore密码: lizongbossl您的名字与姓氏是什么?tomcat5.5.x: tomcat5.5.x您的组织单位名称是什么?jakarta: jakarta您的组织名称是什么?apache : apache您所在的城市或区域名称是什么?hzcity: hzcity您所在的州或省份名称是什么?gdp : gdp该单位的两字母国家代码是什么CN : CNCN=tomcat5.5.x, OU=jakarta, O=apache, L=hzcity, ST=gdp, C=CN正确吗? 否 : y输入 <tomcat> 的主密码(如果和keystore密码相同,按回车

22、) :( 必须密码一致,因此直接回车)然后再把userhome( 例如: C:Documents and Settingslizongbo)tomcat 的目录下。下的 .keystore复制到( 例如: D:jakarta-tomcat-5.5.xconf.keystore )配置 jakarta-tomcat-5.5.xconfserver.xml加上<Connector port="8443"maxThreads="150" minSpareThreads="25" maxSpareThreads="75&quo

23、t;enableLookups="false" disableUploadTimeout="true"acceptCount="100" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS"keystoreFile="conf/.keystore"keystorePass="lizongbossl"> <!-与先前设置的密码一致-

24、></Connector>8. 禁止文件目录列表,修改 jakarta-tomcat-5.5.xconfweb.xml,把 listing设置为 false<servlet><servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param><param-name>debug</param-name>&l

25、t;param-value>0</param-value></init-param><init-param><param-name>listings</param-name><param-value>true</param-value></init-param><load-on-startup>1</load-on-startup></servlet>9. 指定了自己的 javaEncoding (参考 )<servlet><servlet

26、-name>jsp</servlet-name> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> <init-param><param-name>fork</param-name><param-value>false</param-value></init-param><init-param><param-name>javaEncoding</param-name&

27、gt;<param-value>GB18030</param-value></init-param><init-param><param-name>xpoweredBy</param-name><param-value>true</param-value></init-param><load-on-startup>3</load-on-startup></servlet>10. 添加 rar,iso 等的 mime-type 映射避免在浏览器里直接打开

28、。<mime-mapping><extension>mht</extension><mime-type>text/x-mht</mime-type></mime-mapping><mime-mapping><extension>rar</extension><mime-type>application/octet-stream</mime-type></mime-mapping><mime-mapping><extension>

29、iso</extension><mime-type>application/octet-stream</mime-type></mime-mapping><mime-mapping><extension>ape</extension><mime-type>application/octet-stream</mime-type></mime-mapping><mime-mapping><extension>rmvb</extension>&l

30、t;mime-type>application/octet-stream</mime-type></mime-mapping><mime-mapping><extension>ico</extension><mime-type>image/x-icon</mime-type></mime-mapping>10.1 对 html 静态页面设置编码<!-修改下面两行以支持静态超文本的自动编码-><mime-mapping><extension>htm</e

31、xtension><mime-type>text/html;charset=gb2312</mime-type></mime-mapping><mime-mapping><extension>html</extension><mime-type>text/html;charset=gb2312</mime-type></mime-mapping></web-app>11. 添加 welcome- ,并调整顺序。<welcome-><welcome-&l

32、t;/welcome-file><welcome-</welcome-file><welcome-</welcome-file><welcome-</welcome-file><welcome-</welcome-file><welcome-</welcome-file></welcome->Tomcat 中文编码问题解决方案( 简)liyonghai 04/08/30编码问题的根源可参考Tomcat 4.x解决方法:获取中文输出中文:request.setCharacterEncodi

33、ng("gb2312");:<% page contentType="text/html;charset=gb2312" %>,必要时需要转码Tomcat 5.x解决方法:获取中文 :提交表单时1)post:request.setCharacterEncoding("gb2312");2)get:修改 server.xml,在 Connector中加入 URIEncoding="gb2312"如 : <Connector port="80" maxThreads="1

34、50" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100"debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="gb2312" />或者使用useBod

35、yEncodingForURI,使 tomcat 5.x兼容 tomcat 4.x输出中文 :<% page contentType="text/html;charset=gb2312" %>,必要时需要转码附 :Tomcat 5.x使用相同的编码 , 而与 Tomcat 4.x在解析提交表单时发生了变化,Tomcat 4.xTomcat 5.x却把 get 方法单独了出来. 具体可查看tomcat无论是 post 还是的 source code.get,都get方式的处理比较好,对于post方式建议用配置过滤器的方式来解决,因为这样, 配置一个地方整个系统都不

36、用操心了。简单说明:web.xml<filter><filter-name>Set Character Encoding</filter-name><filter-class>SetCharacterEncodingFilter</filter-class></filter><filter-mapping><filter-name>Set Character Encoding</filter-name><url-pattern>/*</url-pattern>&l

37、t;/filter-mapping>/*/SetCharacterEncodingFilter.java-import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import java

38、x.servlet.UnavailableException;/* Example filter that sets the character encoding to be used in parsing the* incoming request*/public class SetCharacterEncodingFilter implements Filter /* Take this filter out of service.*/public void destroy() /* Select and set (if specified) the character encoding

39、to be used to* interpret request parameters for this request.*/public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException request.setCharacterEncoding("GBK");/ 传递控制到下一个过滤器chain.doFilter(request, response);public void init(F

40、ilterConfig filterConfig) throws ServletException / 也可以把编码做为参数传递进去。Tomcat 5.5.x配置集锦是我整理的,但是却被别人不注明出处的转载,更是被 csdn 放到别人的原创里去了,真是郁闷。详情可以看:/02/13/286713.aspx附加几个我后来整理的知识点。-12. 如果你的 webapp 需要只能够进行 https 方式访问,那么在 webapp的 web.xml 里加上:<security-constraint><web-resource-collection><web-resourc

41、e-name>must https</web-resource-name><url-pattern>/*</url-pattern></web-resource-collection><user-data-constraint><transport-guarantee>CONFIDENTIAL</transport-guarantee></user-data-constraint></security-constraint>参考:c:iknowdocsharedatacur_wor

42、k?l=tomcat-user&m=104951559722619&w=213. 修改远程关闭服务器的命令。server.xml默认有下面一行:<Server port="8005" shutdown="SHUTDOWN">这样允许任何人只要telnet到服务器的关掉了。从安全的角度上考虑,我们需要把这个例如修改如下:8005 端口,输入 "SHUTDOWN",然后回车,服务器立即就被shutdown 指令改成一个别人不容易猜测的字符串。<Server port="8006"shu

43、tdown="lizongbo">,这样就只有在telnet到 8005,并且输入"lizongbo"才能够关闭Tomcat.注意:这个修改不影响参考:shutdown.bat的执行。运行shutdown.bat一样可以关闭服务器。以下皆可以参考:14. 配置 http 访问日志。 Tomcat 自带的能够记录的 http 访问日志已经很详细了取消下面这段的注释:<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs

44、" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>然后修改为:<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve" directory="logs" prefix="localhost_access_log." suffix=&

45、quot;.txt" pattern="combined" resolveHosts="false" "yyyy-MM-dd.HH"/>pattern="combined"记录的日志内容更详细,"yyyy-MM-dd.HH"比默认的按天滚卷要好些,尤其是访问量大的网站,可以考虑写成分钟一个日志文件了。而且可以分别按Engine, Host, or Context,来记录自己的日志详情参考:,会让日志文件按小时进行滚卷,"yyyy-MM-dd.HH.mm" ,就

46、会是每c:iknowdocsharedatacur_worktml而且还可以配合awstats来进行日志统计分析:hive/2005/02/18/291929.aspx15. 限制 ip ,限制主机访问等。如果想禁止指定的ip 或者主机名来拒绝某些机器访问,或者指定某些机器来访问。也支持分别按Engine, Host, or Context,进行以下配置:<Context path="/examples" .> .<Valve className="org.apache.catalina.valves.RemoteHostValve"a

47、llow="*,"/><Valve className="org.apache.catalina.valves.RemoteAddrValve"deny="192.168.1.*"/></Context>参考:fig/context.html16. 发布 webapp到网站根目录1。直接复制到ROOT目录下。2. 因为无法创建无名字的 xml 文件,并且在 xml 文件里指定 path 也是无效的 (tomcat 靠文件名字来判断的 ),因此必须在 server.xml 里写下面一段:<Contex

48、t docBase="$catalina.home/vhost/" path="/"privileged="true" antiResourceLocking="false" antiJARLocking="false"><Manager className="org.apache.catalina.session.StandardManager" algorithm="SHA-512" sessionIdLength="40&quo

49、t;><Valve className="org.apache.catalina.valves.FastCommonAccessLogValve" directory="logs" prefix="localhost_mytest_access_log." suffix=".txt" pattern="combined" resolveHosts="true" "yyyy-MM-dd.HH"/></Context>而且必须把R

50、OOT目录删除掉,否则Tomcat 还是优先部署ROOT目录为 "/" 。17. 在重新启动 Tomcat 的 webapp 的时候,禁止把 session 写入文件。修改 conf/web.xml取消注释:<!-><Manager pathname="" />18. 增强 SessiionID 的生成算法和长度。<ManagerclassName="org.apache.catalina.session.StandardManager"sessionIdLength="40">

51、</Manager>algorithm="SHA-512"( Tomcat 默认算法是MD5,默认长度是16 位。)tomcat+jsp经典配置Tomcat 下 JSP、Servlet和 JavaBean 环境的配置经常看到 jsp 的初学者问 tomcat 下如何配置 jsp 、 servlet 和 bean 的问题,于是总结了一下如何 tomcat 下配置 jsp 、 servlet 和 ben,希望对那些初学者有所帮助。一、开发环境配置第一步: 下载 j2sdk和 tomcat :到 sun 官方站点 ()下载 j2sdk ,注意下载版本为Windows

52、OfflineInstallation的 SDK,同时最好下载J2SE 1.4.2 Documentation,然后到tomcat 官方站点()下载 tomcat (下载最新 4.1.x 版本的 tomcat );第二步:安装和配置你的j2sdk 和 tomcat :执行 j2sdk 和 tomcat 的安装程序,然后按默认设置进行安装即可。1. 安装 j2sdk以后,需要配置一下环境变量,在我的电脑-> 属性 -> 高级 -> 环境变量 -> 系统变量中添加以下环境变量( 假定你的j2sdk安装在 c:j2sdk1.4.2):JAVA_HOME=c:j2sdk1.4.

53、2classpath=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;( .; 一定不能少,因为它代表当前路径)path=%JAVA_HOME%bin接着可以写一个简单的java 程序来测试J2SDK是否已安装成功:public class Testpublic static void main(String args)System.out.println("This is a test program.");将上面的这段程序保存为文件名为Test.java的文件。然后打开命令提示符窗口,cd 到你的 Test.java所在目录

54、,然后键入下面的命令javac Test.javajava Test此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。2. 安装 Tomcat 后,在我的电脑 -> 属性 -> 高级 -> 环境变量 -> 系统变量中添加以下环境变量( 假定你的tomcat 安装在 c:tomcat):CATALINA_HOME=c:tomcatCATALINA_BASE=c:tomcat然后修改环境变量中的classpath,把tomat安装目录下的commonlib下的 ( 可以根据实际追加 )

55、servlet.jar追加到 classpath 中去,修改后的 classpath 如下:classpath=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;%CATALINA_HOME%commonl ibservlet.jar;接着可以启动tomcat ,在 IE 中访问,如果看到tomcat 的欢迎页面的话说明安装成功了。第三步:建立自己的jsp app目录1. 到Tomcat 的安装目录的webapps 目录,可以看到ROOT, examples,tomcat-docs之类Tomcat 自带的的目录;2. 在 webapps 目录下新建一

56、个目录,起名叫myapp;3.myapp 下新建一个目录WEB-INF,注意,目录名称是区分大小写的;4.WEB-INF 下新建一个文件web.xml ,内容如下:<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-appPUBLIC "-/Sun Microsystems, Inc./DTD Web Application 2.3/EN"""><web-app><display-name>My Web A

57、pplication</display-name><description>A application for test.</description></web-app>5. 在 myapp下新建一个测试的 jsp 页面,文件名为 index.jsp ,文件内容如下:<html><body><center>Now time is: <%=new java.util.Date()%></center></body></html>6. 重启 Tomcat7. 打开浏览

58、器,输入 看到当前时间的话说明就成功了。第四步:建立自己的 Servlet :1. 用你最熟悉的编辑器(建议使用有语法检查的java ideTest.java,文件内容如下:)新建一个servlet程序,文件名为package test;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import

59、 javax.servlet.http.HttpServletResponse;public class Test extends HttpServlet protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException PrintWriter out=response.getWriter();out.println("<html><body><h1>This is a servlet test.</h1></body></html>"); out.flush();2. 编译将 Test.java 放在 c:test 下,使用如下命令编译:C:Test>javac Test.java然后在 c:Test下会产生一个编译后的servlet文件: Test.class3 . 将结构 testTest.cla

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论