[Java.Web]Tomcat 常用配置

时间:2023-03-08 17:21:15

1. web.xml 文件最下方内容 (X:\apache-tomcat-7.0.77\conf\ 目录下)

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

这些和 IIS 中的 默认文档 作用一样。

[Java.Web]Tomcat 常用配置


Tomcat目录下的 \conf\server.xml 文件里有节点:
<Connector port="8080" .... /> 中的 port="8080" 表示 Tomcat 使用了 8080 作为网页端口,可以手动修改此端口。
若在 windows 系统中,要和 iis 争用 80 端口,需要在 windows 服务中找到 IIS Admin  并停止服务,然后 Tomcat 就可以使用 80 端口了。
使用 80 端口的优点是 输入网址后不用加 :80
可以在<Host></Host>节点中,通过手动添加 <Context></Context> 来添加虚拟目录。如果需要缺省,path="" 即可。
<Context path="/2" docBase="C:\html" />

然后重启 Tomcat 就可以访问路径 http://localhost:8080/2 (这时候可以在 c:\html\ 目录下建一个网页 index.html )

这个方式的缺点是需要重启 Tomcat 服务,不被 Tomcat 所推荐。

还可以使用以下方式来新建虚拟目录:

1. %Catalina_Base%/conf/context.xml 文件中添加,这个会影响所有 web 应用。

2. %Catalina_Base%/conf/[enginename]/[hostname]/context.xml.default 文件中添加,这个会影响所有 hostname 下的web 应用。

3. %Catalina_Base%/conf/[enginename]/[hostname]/ 目录中添加一个 .xml 文件,其中的文件名会作为虚拟目录路径。不需要重启 Tomcat (推荐)

如果需要多级目录,可以在文件名中以 # 隔开为多级。如果需要缺省,文件名为 ROOT.xml 即可。(缺省时需要重启)

4. 把目录放到 webapps 目录下,目录名就是虚拟目录名。(当 Tomcat 在C盘时,不推荐)


servlet 入门(来自 传智播客)
1. 在 Tomcat 中新建一个 day04 的 web项目,然后在 web项目中新建一个web-inf/classes 目录。
2. 在 classes 目录中新建一个 FirstServlet.java 文件,内容为:
package cn.itcast;

import java.io.*;
import javax.servlet.*; public class FirstServlet extends GenericServlet
{
public void service(ServletRequest req,
ServletResponse res)
throws ServletException,
java.io.IOException{
OutputStream out = res.getOutputStream();
out.write("hello servlet!!!".getBytes());
}
}

3. 使用命令

cd X:\apache-tomcat-7.0.77\webapps\day04\WEB-INF\classes

set classpath=%classpath%;D:\demo\JAVA\apache-tomcat-7.0.77\lib\servlet-api.jar

javac -d . FirstServlet.java 来引用外部类并编译此 java

编译成功后 day04\WEB-INF\classes 目录下会新建一个 cn 目录。

4. 在 web-inf 目录下新建一个 web.xml 文件,配置 servlet 的对外访问路径,内容为:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<servlet>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>cn.itcast.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/FirstServlet</url-pattern>
</servlet-mapping>
</web-app>

5. 重新启动 Tomcat 服务,使用网站访问。


今天启动 Apache-Tomcat 服务时发生错误,使用 bin 目录下的 tomcat7.exe -run 在命令行执行发现错误提示:
警告: Catalina.start using conf/server.xml: 
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效。
解决方法: 找到 \conf\server.xml 文件,将文件编码修改为 UTF-8 保存即可。