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 中的 默认文档 作用一样。
<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盘时,不推荐)
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 服务,使用网站访问。
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效。