tomcat的url配置
- 格式:doc
- 大小:22.00 KB
- 文档页数:2
tomcat配置文件详解(一):目录结构tomcat的目录结构如下:目录名简介bin 存放启动和关闭tomcat脚本conf 包含不同的配置文件,server.xml(Tomcat的主要配置文件)和web.xmlwork 存放jsp编译后产生的class文件webapp 存放应用程序示例,以后要部署的应用程序也要放到此目录logs 存放日志文件lib/japser/common 这三个目录主要存放tomcat所需的jar文件(二):server.xml配置简介下面我们将讲述这个文件中的基本配置信息,更具体的配置信息见tomcat的文档元素名属性解释server port 指定一个端口,这个端口负责监听关闭tomcat的请求shutdown 指定向端口发送的命令字符串service name 指定service的名字Connector (表示客户端和service之间的连接) port 指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求minProcessors 服务器启动时创建的处理请求的线程数maxProcessors 最大可以创建的处理请求的线程数enableLookups 如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址redirectPort 指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理connectionTimeout指定超时的时间数(以毫秒为单位)Engine (表示指定service中的请求处理机,接收和处理来自Connector的请求) defaultHost 指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的Context (表示一个web应用程序,通常为WAR文件,关于WAR 的具体信息见servlet规范) docBase 应用程序的路径或者是WAR文件存放的路径path 表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/**** reloadable 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序host (表示一个虚拟主机) name 指定主机名appBase 应用程序基本目录,即存放应用程序的目录unpackWARs 如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR 文件中运行应用程序Logger (表示日志,调试和错误信息) className 指定logger使用的类名,此类必须实现org.apache.catalina.Logger 接口prefix 指定log文件的前缀suffix 指定log文件的后缀timestamp 如果为true,则log文件名中要加入时间,如下例:localhost_log.2001-10-04.txt Realm (表示存放用户名,密码及role的数据库) className 指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口Valve (功能与Logger差不多,其prefix和suffix属性解释和Logger 中的一样) className 指定Valve使用的类名,如用org.apache.catalina.valves.AccessLogValve类可以记录应用程序的访问信息directory 指定log文件存放的位置pattern 有两个值,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,发送的字节数。
Tomat8配置HTTPS 一.环境:Jdk1.8Tomcat8.0.22二.步骤:1,创建证书:首先建立目录,例如:d:/keys然后利用jdk的keytool工具生成证书d:\keys>keytool -genkey -alias wsria -keyalg RSA -keystore d:/keys/wsriakey.keystore具体的输入项图片中都有说明,有一点我要解释一下;在输入完密码后提示输入域名是我输入的是,其实这个域名是不存在的,但是我为了演示所以虚拟了这个域名,技巧在于修改C:\Windows\System32\drivers\etc\hosts添加内容如下:127.0.0.1 这样在访问的时候其实是访问的127.0.0.1也就是本机严重提醒:提示输入域名的时候不能输入IP地址2,导出证书:d:\keys>keytool -export -file d:/keys/wsria.crt -alias wsria -keystored:/keys/wsriakey.keystore3,为客户端的JVM导入证书(目前没觉得这步有什么用)d:\keys>keytool -import -alias kk -keystore "D:\ProgramFiles\Java\jdk1.8.0_45\jre\lib\security\cacerts" -file D:/keys/wsria.crt此处输入的口令是:changeit4、应用证书到Web服务器-Tomcat打开tomcat目录的conf/server.xml文件,开启83和87行的注释代码,并设置keystoreFile、keystorePass修改结果如下:注意大小写<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"maxThreads="150" SSLEnabled="true"scheme="https" secure="true"clientAuth="false" sslProtocol="TLS"keystoreFile="D:/keys/wsriakey.keystore"keystorePass="123456"/>到此Tomcat的SSL启用完成,现在你可以启动tomcat试一下了http://192.168.5.16:8443/---------------------------------------------------------------------------------------------------------------------- 以下是另一个方法,由于配置过程中出错,没有详细研究,不过觉得这个方法讲的比较详细,暂且在这里列出来,留作以后研究(webservice部分还是挺有用的)环境Jdk1.6 Tomcat6 jax-ws webservice1生成证书这里用到的文件,我们存放在D:/SSL/文件夹内,其中D:/SSL/server/内的文件是要交给服务器用的,D:/SSL/client/内的文件是要交给客户端用的。
tomcat常用的调优参数Tomcat常用的调优参数Tomcat是一个开源的Java Servlet容器,广泛应用于Java Web 应用程序的部署和运行。
为了提高Tomcat的性能和稳定性,我们可以通过调优参数来优化其配置。
本文将介绍一些常用的Tomcat 调优参数,帮助您更好地配置和优化T omcat服务器。
1. 内存设置- -Xms: 设置JVM的初始堆大小,建议设置为物理内存的1/4或1/3。
- -Xmx: 设置JVM的最大堆大小,建议设置为物理内存的1/2或2/3。
- -XX:MaxPermSize: 设置JVM的永久代大小,建议设置为256MB或512MB。
- -XX:MaxMetaspaceSize: 设置JVM的元空间大小,建议设置为256MB或512MB。
2. 线程设置- maxThreads: 设置Tomcat的最大线程数,建议根据服务器的硬件配置和并发请求数进行调整。
- acceptCount: 设置Tomcat接受请求的队列大小,建议设置为200或300。
- connectionTimeout: 设置Tomcat的连接超时时间,建议设置为30秒或60秒。
3. 连接器设置- protocol: 设置连接器的协议,常用的有HTTP/1.1和AJP/1.3。
- port: 设置连接器的监听端口,建议使用80端口作为HTTP连接器的默认端口。
- maxKeepAliveRequests: 设置每个Keep-Alive连接的最大请求数,建议设置为100或200。
- keepAliveTimeout: 设置Keep-Alive连接的超时时间,建议设置为5秒或10秒。
4. 缓存设置- cacheSize: 设置Tomcat的静态文件缓存大小,建议根据静态文件的数量和大小进行调整。
- cacheTTL: 设置静态文件缓存的过期时间,建议设置为1小时或更长。
- cacheObjectMaxSize: 设置缓存对象的最大大小,建议根据缓存对象的平均大小进行调整。
Servlet和Filter的url匹配以及url-pattern详解<o:p></o:p>Servlet和filter是J2EE开发中常用的技术,使用方便,配置简单,老少皆宜。
估计大多数朋友都是直接配置用,也没有关心过具体的细节,今天遇到一个问题,上网查了servlet的规范才发现,servlet和filter中的url-pattern还是有一些文章在里面的,总结了一些东西,放出来供大家参考,以免遇到问题又要浪费时间。
<o:p></o:p>一,servlet容器对url的匹配过程:<o:p></o:p><o:p></o:p>根据这个规则表,就能很清楚的知道servlet的匹配过程,所以定义servlet的时候也要考虑url-pattern的写法,以免出错。
<o:p></o:p>对于filter,不会像servlet那样只匹配一个servlet,因为filter的集合是一个链,所以只会有处理的顺序不同,而不会出现只选择一个filter。
Filter的处理顺序和filter-mapping在web.xml中定义的顺序相同。
<o:p></o:p>二,url-pattern详解<o:p></o:p>在web.xml文件中,以下语法用于定义映射:l 以”/’开头和以”/*”结尾的是用来做路径映射的。
l 以前缀”*.”开头的是用来做扩展映射的。
l “/”是用来定义default servlet映射的。
l 剩下的都是用来定义详细映射的。
比如: /aa/bb/cc.action所以,为什么定义”/*.action”这样一个看起来很正常的匹配会错?因为这个匹配即属于路径映射,也属于扩展映射,导致容器无法判断。
Tomcat配置⽂件详解打开Tomcat的配置⽬录,我们会发现下⾯的配置⽂件:server.xml:Tomcat的主配置⽂件,包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息;web.xml:遵循Servlet规范标准的配置⽂件,⽤于配置servlet,并为所有的Web应⽤程序提供包括MIME映射等默认配置信息;context.xml:所有host的默认配置信息;logging.properties:⽇志相关配置;tomcat-users.xml:Realm认证时⽤到的相关⾓⾊、⽤户和密码等信息;Tomcat⾃带的manager默认情况下会⽤到此⽂件;在Tomcat中添加/删除⽤户,为⽤户指定⾓⾊等将通过编辑此⽂件实现;catalina.policy:Java相关的安全策略配置⽂件,在系统资源级别上提供访问控制的能⼒,以安全模式启动Tomcat会使⽤这个配置catalina.properties:Tomcat内部package的定义及访问相关的控制,也包括对通过类装载器装载的内容的控制;Tomcat在启动时会事先读取此⽂件的相关设置;jaspic-providers.xml:⽤户认证配置⽂件这篇博客就来介绍下这⼏个配置⽂件的作⽤,以及常⽤的配置选项。
server.xml配置server.xml是Tomcat的主配置⽂件,可以对Service, Connector, Engine, Realm, Valve, Hosts等主组件进⾏相关配置。
<!-- port: 接收shutdown指令的端⼝,默认仅允许通过本机访问,默认为8005;shutdown:发往此Server⽤于实现关闭tomcat实例的命令字符串,默认为SHUTDOWN;使⽤⽅式:telnet localhost 8005,输⼊SHUTDOWN即可关闭tomcat如果你不配置这两个属性,Tomcat的这种关闭机制还是会运⾏的。
tomcat rewriterule 参数规则-回复什么是Tomcat RewriteRule参数规则?在Tomcat服务器中,RewriteRule是用于URL重写和重定向的工具。
通过使用RewriteRule参数规则,可以修改传入请求的URL,并根据特定的规则将请求重定向到另一个URL。
这对于改进网站的搜索引擎优化(SEO)和更好的用户体验非常有帮助。
RewriteRule参数规则是根据Apache mod_rewrite模块的规则设定的。
在Tomcat中,这些规则能够帮助管理员以及开发人员在应用程序级别处理URL重写和重定向。
为什么需要Tomcat RewriteRule参数规则?URL的重写和重定向对于网站优化和改善用户体验非常重要。
通过重写和重定向URL,可以解决一些常见问题,例如搜索引擎索引重复内容的问题、制造友好的URL或处理页面移动后的旧链接。
RewriteRule参数规则可以帮助管理员和开发人员不需要修改应用程序代码,就能够在应用程序级别处理这些问题。
这使得管理和维护网站变得更加简单,同时也提供了更大的灵活性。
如何使用Tomcat RewriteRule参数规则?使用Tomcat RewriteRule参数规则需要以下步骤:1. 确保Tomcat服务器上安装了mod_rewrite模块。
如果没有安装,需要在服务器上安装该模块。
2. 在Tomcat的配置文件中,找到并打开虚拟主机(Virtual Host)的配置部分。
3. 在虚拟主机的配置部分中,找到RewriteEngine指令并将其设置为"On"。
这将启用URL重写功能。
4. 在RewriteEngine指令之后,可以使用RewriteRule指令设置重写规则。
语法如下:RewriteRule <Pattern> <Substitution> [Flags]<Pattern>:匹配要重写的URL的模式。
tomcat⾃动URLDecode解码问题(+号变空格)最近项⽬中出现⼀个问题,就是前段调后端接⼝,参数带+号,传到后端后+号⾃动URLDecode成空格了。
1.问题排查条件:tomcat配置server.xml有URIEncoding="UTF-8"1.1get请求、post请求(参数跟在URL的后⾯),request.getParameter("token")中token会被⾃动URLDecode。
⽽request.getQueryString()获得的值则是浏览器传的原值。
如果有中⽂,浏览器会⾃动转义,⾕歌浏览器在view source上可以看到浏览器往后端传之前的参数值。
1.2post请求(参数在body⾥⾯),request.getQueryString()值为空, request.getParameter("token")中token不会被⾃动URLDecode,⽽且中⽂乱码。
加上request.setCharacterEncoding("UTF-8");后,中⽂不乱码,但是token也不会⾃动URLDecode。
1.3去掉tomcat配置的URIEncoding="UTF-8",在1.1情况下token参数也会被⾃动URLDecode,此时采⽤tomcat默认的编码⽅式。
2.深⼊tomcat解析3.临时解决⽅案1.如果发现+号编码了,那么解码⼀下2.如果发现uss有空格,说明+号被URLDecode成空格,那么URLEncode⼀下就变成原来的值// 1.如果发现+号编码了,那么解码⼀下if (uss.contains("%2b") || uss.contains("%2B")) {uss = URLDecoder.decode(uss, "UTF-8");}// 2.如果发现uss有空格,说明+号被URLDecode成空格,那么URLEncode⼀下就变成原来的值if (uss.contains(" ")) {uss = URLEncoder.encode(uss, "UTF-8");}。
1.将数据库驱动程序的JAR文件放在Tomcat的common/lib中;2.在server.xml中设置数据源,以MySQL数据库为例,如下:在<GlobalNamingResources></GlobalNamingResources>节点中加入,<Resourcename="jdbc/DBPool"type="javax.sql.DataSource"password="root"driverClassName="com.mysql.jdbc.Driver"maxIdle="2"maxWait="5000"username="root"url="jdbc:mysql://127.0.0.1:3306/test"maxActive="4"/>属性说明:name,数据源名称,通常取”jdbc/XXX”的格式;type,”javax.sql.DataSource”;password,数据库用户密码;driveClassName,数据库驱动;maxIdle,最大空闲数,数据库连接的最大空闲时间。
超过空闲时间,数据库连接将被标记为不可用,然后被释放。
设为0表示无限制。
MaxActive,连接池的最大数据库连接数。
设为0表示无限制。
maxWait,最大建立连接等待时间。
如果超过此时间将接到异常。
设为-1表示无限制。
3.在你的web应用程序的web.xml中设置数据源参考,如下:在<web-app></web-app>节点中加入,<resource-ref><description>MySQL DB Connection Pool</description><res-ref-name>jdbc/DBPool</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth><res-sharing-scope>Shareable</res-sharing-scope></resource-ref>子节点说明:description,描述信息;res-ref-name,参考数据源名字,同上一步的属性name;res-type,资源类型,”javax.sql.DataSource”;res-auth,”Container”;res-sharing-scope,”Shareable”;4.在web应用程序的context.xml中设置数据源链接,如下:在<Context></Context>节点中加入,<ResourceLinkname="jdbc/DBPool"type="javax.sql.DataSource"global="jdbc/DBPool"/>属性说明:name,同第2步和第3步的属性name值,和子节点res-ref-name值;type,同样取”javax.sql.DataSource”;global,同name值。
tomcat 通配符路由规则
Tomcat中的通配符路由规则是一种灵活的URL映射机制,它允许开发人员使用通配符来匹配多个URL模式。
通配符路由规则可以通过web.xml文件中的servlet映射或者通过注解来实现。
在web.xml中,可以使用通配符来映射URL模式。
例如,可以使用“/”来匹配所有的URL请求,或者使用“/app/”来匹配以“/app/”开头的所有URL请求。
这样可以实现对特定URL模式的灵活匹配和处理。
另外,通过注解方式,可以在Servlet类或者Controller类的方法上使用通配符来定义路由规则。
例如,使用
“@RequestMapping("/users/")”来匹配以“/users/”开头的所有URL请求,或者使用“@RequestMapping("//admin")”来匹配所有以“/admin”结尾的URL请求。
这种方式可以让开发人员更加灵活地定义路由规则。
通配符路由规则的使用可以简化URL映射的配置,并且能够满足复杂的URL匹配需求。
然而,需要注意的是过度使用通配符可能会导致路由规则变得复杂和难以理解,因此在设计路由规则时需要
权衡灵活性和可维护性。
总的来说,Tomcat中的通配符路由规则是一种强大的URL映射机制,可以帮助开发人员更好地管理和处理不同的URL请求。
通过合理的运用,可以提高Web应用程序的灵活性和可维护性。
tomcat context.xml resource 参数Tomcat 的context.xml文件是用于配置每个Web应用程序的上下文配置文件。
在该文件中,可以定义和配置各种资源,其中包括数据库连接池、JMS 连接工厂、邮件会话等。
在context.xml文件中,资源的配置参数被用来定义和配置这些资源。
以下是一个关于Tomcat context.xml文件中资源参数配置的简要说明:1. 数据库连接池配置在context.xml文件中,可以配置数据库连接池,以提高对数据库的访问效率。
以下是一个简单的数据库连接池的配置示例:<Context><Resource name="jdbc/MyDB"auth="Container"type="javax.sql.DataSource"maxTotal="100"maxIdle="30"maxWaitMillis="10000"username="db_user"password="db_password"driverClassName="com.mysql.cj.jdbc.Driver"url="jdbc:mysql://localhost:3306/mydatabase"/></Context>在这个示例中,<Resource>元素定义了一个名为“jdbc/MyDB” 的数据库连接池资源。
各种参数包括:•type:指定资源的类型,这里是javax.sql.DataSource表示数据源。
•maxTotal:连接池中允许的最大连接数。
•maxIdle:连接池中允许的最大空闲连接数。
•maxWaitMillis:在连接池耗尽时,客户端等待连接的最大毫秒数。
第一种方法:在tomca t 中的con f 目录中,在serve r .xml 中的,<host/>节点中添加:<Contex tpath="/hello" docBas e ="D:eclips e 3.2.2forwe b tools w orksp a cehel l oWebR o ot" debug="0" privil e ged="true"></Contex t >至于Cont e xt 节点属性,可详细见相关文档。
第二种方法:将web 项目文件件拷贝到w ebapp s 目录中。
第三种方法:很灵活,在conf 目录中,新建 Catali n a (注意大小写)\localh o st 目录,在该目录中新建一个xml 文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,该xml 文件的内容为: <Contex tpath="/hello" docBas e ="D:eclips e 3.2.2forwe b tools w orksp a cehel l oWebR o ot" debug="0" privil e ged="true"> </Contex t >第3个方法有个优点,可以定义别名。
服务器端运行的项目名称为p ath ,外部访问的U R L 则使用X M L 的文件名。
这个方法很方便的隐藏了项目的名称,对一些项目名称被固定不能更换,但外部访问时又想换个路径,非常有效。
第2、3还有优点,可以定义一些个性配置,如数据源的配置等。
还有一篇 详细的1、直接放到We b apps 目录下Tomcat 的Webap p s 目录是T o mcat 默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。
Tomcat绑定二级域名的配置方法最近因为要测试一个系统 ,使用到Tomcat .因为我们已经有域名了,所以我就再增加一个二级域名解析 .可是Tomcat默认的地址是Localhost:8080/erp/index.jsp.最近因为要测试一个系统 ,使用到Tomcat .因为我们已经有域名了,所以我就再增加一个二级域名解析 .可是Tomcat默认的地址是Localhost:8080/erp/index.jsp.在网上找了一下 ,许多的都是假的 ,感觉到太杂,经过仔细摸索配置好之后,写下过程供网友参考.如果你是有独立主机的 ,首先要弄到一个二级域名 ,这个的配置很简单 ,请看下面这个联接/info.asp?id=326增加解析之后一般是20MIN~24H 之间可以生效 .然后是配置Tomcat环境: WINDOWS Server 2003+ IIS6 .0 + tomcat5.5(单独安装)+ JDK MYSQL 独立IP说明: IIS 里面的是网站 ,因为要考虑做一个办公+进销存+销售管理的程序 ,刚好看到恩信科技的开源ERP系统 ,找过来测试一下看有多大的价值 ,专门找了台机器来测试 ,呵呵 ^_^进入E:\tomcat\conf下打开server.xml将找到<Host name="localhost"一项,将其改为<Host name="HTTP://ERP.***.NET"然后再进入C:\tomcat\conf\catalina\下将目录localhost改名为HTTP://ERP.***.NET ,然后重启tomcat .另外配置二级域名解析 :<hostappbase ="e:project/jave/1"name =www.***.net></host>二级:<hostappbase ="e:project/jave/2"name =erp.***.net></host>三级:<hostappbase ="e:project/jave/2"name =bbs.erp.***.net></host>。
tomcat关于配置servlet的url-pattern的问题思路详解tomcat在配置web.xml的时候,servlet是⼀个⽐较重要的问题,在这⾥讨论⼀下servlet中的⼏个痛点1. servlet url-pattern的匹配问题2. url-pattern中/和/*的区别3. url-pattern的优先级问题4. 根路径/的匹配问题1 servlet url-pattern 的匹配问题url-pattern有三种匹配模式,分别是路径匹配、精确匹配、后缀匹配1.1 精确匹配<url-pattern>中配置的项必须与url完全精确匹配。
代码举例:point_down:<servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>/kata/detail.html</url-pattern><url-pattern>/demo.html</url-pattern><url-pattern>/table</url-pattern></servlet-mapping>当在浏览器中输⼊如下⼏种url时,都会被匹配到该servlet注意:另外上述url后⾯可以跟任意的查询条件,都会被匹配,如1.2 路径匹配以“/”字符开头,并以“/*”结尾的字符串⽤于路径匹配代码举例:point_down:<servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>*.jsp</url-pattern><url-pattern>*.action</url-pattern></servlet-mapping>路径以/user/开始,后⾯的路径可以任意。
web.xml文件详解一、web.xml文件介绍1.web.xml文件的作用web.xml主要用来配置Filter、Listener、Servlet等。
但是要说明的是web.xml并不是必须的,一个web工程可以没有web.xml文件。
2.WEB容器的加载过程WEB容器的加载顺序是:ServletContext -> context-param -> listener -> filter -> servlet。
在web.xml文件中最好按照这种顺序配置这些元素,以兼容较低版本的Tomcat。
3.WEB容器的启动过程WEB容器启动时,加载过程顺序如下:1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点。
2.紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。
3.容器将<context-param>转换为键值对,并交给servletContext。
4.容器创建<listener>中的类实例,创建监听器。
二、web.xml配置元素1.<web-app>根元素web.xml的模式文件是由Sun公司定义的,每个web.xml文件的根元素<web-app>中,都必须标明这个web.xml使用的是哪个模式文件。
其它的元素都放在<web-app></web-app>之中,<web-app>是根节点。
<web-app version="3.0"xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd"></web-app>2.<icon>Web应用图标指出IDE和GUI工具用来表示Web应用的大图标和小图标。
简介为Tomcat配置数据源是指为Tomcat配置可以访问的数据库。
在配置了数据源之后,用户就可以通过web应用(如JSP网页)访问配置好的数据库,进行数据库操作。
本文介绍了在Tomcat上配置数据源的方法。
配置数据源的准备工作在配置数据源之前,我们先来进行基本的准备:1.下载并安装Tomcat,在apache的网站上下载Tomcat并进行,这里使用的是Tomcat8.0.9。
在启动Tomcat8之后,我们可以访问http://localhost:8888/来访问Tomcat服务器。
如显示下面的网页,说明Tomcat 服务器工作正常。
2.准备数据库服务器。
我们使用的是MySql。
版本为mysql-5.1.27。
在数据库服务器中建立一个新的数据库,名为test,然后创建两张表teacher和student。
我们在后面配置完数据源后会访问这两张表。
3.将数据库的驱动文件拷贝到Tomcat的lib目录下,如下图所示。
Tomcat8配置数据源Tomcat8配置数据源的方法有三种:一,将web应用目录copy到webapp目录下Tomcat对存放在webapp目录中的web应用会进行自动部署。
我们首先建立一个简单的web应用。
这个web应用的目录名为aa,这个应用很简单,它有2个jsp网页,一个简单的显示了“欢迎你”三个字。
另一个对配置的数据库进行访问。
下图是已经copy到webapp目录下的web应用aa的内容:aa.jsp会显示“欢迎你”,tomcatTest.jsp 访问数据中的数据。
后面会详细说明。
Web应用aa的内容如下图所示:WEB-INF目录中有一个web.xml文件,这个文件是web应用的配置文件,因为我们的例子很简单,因此文件的内容很少,内容如下图所示。
然后,我们将web应用目录aa拷贝到webapp目录下。
在添加数据源时,我们需要新创建一个META-INF目录,如下图所示。
在META-INF目录中,创建context.xml。
前沿1、如果之前安装了Oreacla,在使用tomcat是会出现8080端口被占用的情况发生,解决的方法就是对tomcat的端口进行配置,安装tomcat注意两个系统环境变量的配置:JAVA_HOME、CATALINA_HOME,(安装端口的配置见后面的附件一)Tomcat的配置及测试:第一步:下载tomcat,然后解压到任意盘符第二步:配置系统环境变量我这里是tomcat5.5,解压到的D盘 (路径为: D:\Program Files\tomcat5.5),虽然我们现在有了解压好了tomcat5.5服务器,但如果我们此时启动tomcat服务器,系统并不知道去哪里找tomcat服务器,所以我要先给系统做一个说明,既配置环境变量.启动tomcat需要两个环境变量(注意我这里说的是启动)一个是JAVA_HOME(就是JDK的目录)另一个是CATALINA_HOME(就是你当前所使用的tomcat的目录)我这里的配置步骤如下:我的电脑->属性->高级->环境变量我个人是将环境变量设置在用户变量里,当然也可以设置在系统变量里,按个人需要自由发挥:变量配置:新建->变量名:JAVA_HOME 变量值:D:\Program Files\Java\jdk1.6.0新建->变量名:CATALINA_HOME 变量值:D:\Program Files\tomcat5.5配置结束,测试是否配置成功:开始菜单->运行->cmd (输入cmd命令)->进入命令窗口然后分别输入set JAVA_HOME 和set CATALINA_HOME命令,如果能找到,说明配置成功,启动tomcat服务器:第一步:进入tomcat所在目录下的bin文件夹,命令为:d: (进入D盘的命令)cd D:\Program Files\tomcat5.5\bin (此处为防止出错,最好直接复制粘贴)startup.bat (启动tomcat服务器的命令)tomcat服务器启动成功,会显示: “Server startup in 5437 ms ”(注意5437ms 是可变的)关闭tomcat服务器命令为:shutdown.bat此时,我们可以在浏览器中输入http://localhost:8080/如果打开了,表示服务器配置成功到此,配置和启动tomcat5.5服务器完成.---------------------------------------------------------------------------------------------------------------------下面介绍一个简单的web应用例子:第一步:创建一个web应用所需的文件夹及配置web.xml文件直接到D盘找到tomcat文件夹下的webapps文件夹(webapps文件夹是专门用来存放web应用的,此文件默认有6个例子),创建一个serv-app文件夹(名字随便起),在serv-app文件夹中创建一个WEB-INF文件夹(名字是固定的而且必须大写),在WEB-INF文件夹中创建classes文件夹(用来存放.class文件)和web.xml 文件(用来配置servlet)并在web.xml文件中输入以下代码:<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4"xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee/xml/ns/j2ee/web-app_2_4.xsd"></web-app>第二步:测试web应用在serv-app文件中创建一个test.html文件,里边任意输入一些内容(比如输入hello),此时我们要停止tomcat服务器,根据上面所提到的shutdown.bat命令(在命令窗口中输入该命令),因为tomcat服务器运行的时候会去检测 webapps 文件下的web应用,所以,当对web应用进行修改的时候最好先停止服务器,等修改结束后,在启动服务器.现在启动服务器,在命令窗口中输入startup.bat命令(需要注意的是,如果你的命令窗口时从新打开的,那么必须要进到tomcat目录下的 bin目录,然后在输入startup.bat命令,可以参看上面配置tomcat服务器的图),成功启动tomcat服务器后,在地址栏输入http://localhost:8080/serv-app/test.html如果可以显示HELLO则说明web应用配置成功。
第一种方法:在tomcat 中的conf 目录中,在server.xml 中的,<host/>节点中添加:
<Context
path="/hello" docBase="D:eclipse3.2.2forwebtoolsworkspacehelloWebRoot" debug="0" privileged="true">
</Context>
至于Context 节点属性,可详细见相关文档。
第二种方法:将web 项目文件件拷贝到webapps 目录中。
第三种方法:很灵活,在conf 目录中,新建 Catalina (注意大小写)\localhost 目录,在该目录中新建一个xml 文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,该xml 文件的内容为: <Context
path="/hello" docBase="D:eclipse3.2.2forwebtoolsworkspacehelloWebRoot" debug="0" privileged="true"> </Context>
第3个方法有个优点,可以定义别名。
服务器端运行的项目名称为path ,外部访问的URL 则使用XML 的文件名。
这个方法很方便的隐藏了项目的名称,对一些项目名称被固定不能更换,但外部访问时又想换个路径,非常有效。
第2、3还有优点,可以定义一些个性配置,如数据源的配置等。
还有一篇 详细的
1、直接放到Webapps 目录下
Tomcat 的Webapps 目录是Tomcat 默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。
也可以将JSP 程序打包成一个war 包放在目录下,服务器会自动解开这个war 包,并在这个目录下生成一个同名的文件夹。
一个war 包就是有特性格式的jar 包,它是将一个Web 程序的所有内容进行压缩得到。
具体如何打包,可以使用许多开发工具的IDE 环境,如Eclipse 、NetBeans 、ant 、JBuilder 等。
也可以用cmd 命令:jar -cvf applicationname.war package.*;
甚至可以在程序执行中打包:
双击代码全选
1 2 3 4 5 6 try{
string strjavahome = system.getproperty("java.home");
strjavahome = strjavahome.substring(0,stindexof())+"bin"; runtime.getruntime().exec("cmd
/c start "+strjavahome+"jar cvf hello.war c:tomcat5.0webappsroot*");
}
catch(exception e){system.out.println(e);}
webapps 这个默认的应用目录也是可以改变。
打开Tomcat 的conf 目录下的server.xml 文件,找到下面内容:
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeloy="true" xmlValidation="falase" xmlNamespaceAware="false">
2、在server.xml 中指定
在Tomcat 的配置文件中,一个Web 应用就是一个特定的Context ,可以通过在server.xml 中新建Context 里部署一个JSP 应用程序。
打开server.xml 文件,在Host 标签内建一个Context ,内容如下。
<Context path="/myapp" reloadable="true" docBase="D:myapp" workDir="D:myappwork"/> 其中path 是虚拟路径,docBase 是JSP 应用程序的物理路径,workDir 是这个应用的工作目录,存放运行是生成的于这个应用相关的文件。
3、创建一个Context 文件
以上两种方法,Web 应用被服务器加载后都会在Tomcat 的confcatalinalocalhost 目录下生成一个
XML文件,其内容如下:
<Context path="/admin" docBase="${catalina.home}/server/webapps/admin" debug="0" privileged="true"></Context>
可以看出,文件中描述一个应用程序的Context信息,其内容和server.xml中的Context信息格式是一致的,文件名便是虚拟目录名。
您可以直接建立这样的一个xml文件,放在Tomcat的confcatalinalocalhost目录下。
例子如下:
注意:删除一个Web应用同时也要删除webapps下相应的文件夹祸server.xml中相应的Context,还要将Tomcat的conf
catalinalocalhost目录下相应的xml文件删除。
否则Tomcat仍会岸配置去加载。
tomcat部署web应用主要有以下几种方式:
1.拷贝你的WAR文件或者你的web应用文件夹(包括该web的所有内容)到$CATALINA_BASE/webapps目录下。
2.为你的web服务建立一个只包括context内容的XML片断文件,并把该文件放到$CATALINA_BASE/webapps目录下。
这个web应用本身可以存储在硬盘上的任何地方。
这种context 片断提供了一种便利的方法来部署web应用,你不需要编辑server.xml,除非你想改变缺省的部署特性,安装一个新的web应用时不需要重启动Tomcat。
3.同方法2,只是将context片断放在CATALINA_BASEconfCatalinalocalhost目录下.这种方法比方法2>要有效,笔者经过多次实验发现方法2不如后面这种方法好用.前者多次出现系统打不开的情况.
4.直接在server.xml中</Host>前加上Context片断,使用这种方法时,tomcat会自动在CATALINA_BASEconfCatalinalocalhost目录下生成一个文件片断.方法同方法3具有同样效果.这种方式需要将ROOT目录删除才行.
另外,为了让tomcat只运行conf/server.xml中指定的web应用,可以有以下几种办法:
实现一:
1)将要部署的WEB应用放在webapps以外的路径, 并在server.xml相应的context中的docBase 指定.
2)删除webapps中的所有文件夹, 以及conf/catalina/localhost下所有xml文件.
注: webapps是server.xml中的Host元素的appBase属性的值.
实现二:
1) 修改server.xml中Host元素的属性, 添加或修改: deployXML="false" deployOnStartup="false" autoDeploy="false"
2) 含义:
deployXML="false": 不部署conf/catalina/localhost下的xml相应的WEB应用deployOnStartup="false" : tomcat启动时, 不部署webapps下的所有web应用autoDeploy="false": 避免tomcat在扫描改动时, 再次把webapps下的web应用给部署进来.。