Web项目的uri模型大致如下:
http://localhost:8080 (/context) (/resource)
站点/上下文/资源
一. Tomcat中指定上下文(Context)
方法一,位于webapps文件夹中的web项目,无需指定Context,Tomcat默认解析Context为该web项目根文件夹的名称,即为真实目录名称。
方法二,在server.xml中指定Context。 编辑confserver.xml文件,在<host>元素之间加入子元素,内容如下:
<Context docBase=”web项目根文件夹的文件路径” path=”/虚拟目录名称”/>
方法三,创建*.xml文件指定Context。 在confCatalinalocalhost文件夹中创建xml文件,文件名为“虚拟目录名称”+“.xml”,内容如下:
<Context docBase=”web项目根文件夹的文件路径” path=”/虚拟目录名称”/>
二. Web项目中指定资源标识
web项目规范:
1. web项目的根文件夹中必须包含名称为“WEB-INF”的子文件夹。
2. WEB-INF中包含名称为“classes”的子文件夹,其中存放经编译后的java类。若带包名的话,应该具备匹配包名的目录结构。
3. WEB-INF中包含名称为“web.xml”的文件,内容如下:
<?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" metadata-complete="true"> </web-app>
三. 在WEB-INFweb.xml中注册servlet
编辑WEB-INFweb.xml文件,在< web-app >元素之间加入成对地添加子元素<servlet>和<servlet-mapping>,内容如下:
<servlet> <servlet-name>任意命名</servlet-name> <servlet-class>包名+类名</servlet-class> </servlet> <servlet-mapping> <servlet-name>和上面任意命名保持一致</servlet-name> <url-pattern>/随意命名的资源标识符</url-pattern> </servlet-mapping>