1.特殊字符和预定义实体对照表
特殊字符 | 预定义实体 |
---|---|
& | & amp; |
< | & it; |
> | & gt; |
" | & quot; |
’ | & apos; |
2. web应用目录
3. 配置web应用虚拟目录
目的:项目放在tomcat的webapps目录下才会运行,但是不想放在那里怎么办呢?
操作:首先打开tomcat安装目录的conf文件夹下的server.xml文件。
在< host >元素中添加一个< context >元素
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="/demo" docBase="D:\demo" />
<!-- demo是项目名 decBase是本地文件系统目录 -->
</Host>
4. 配置web应用默认页面
首先打开tomcat安装目录的conf文件夹下的web.xml文件,可以看到下面一段代码。
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
< welcome-file-list > 元素用于配置默认页面列表,包含多个 < welcome-file> 子元素。
当用户访问web应用时,如果没有指定具体要访问的页面资源,Tomcat会按照 < welcome-file> 元素指定默认页面的顺序,若没有找到,则返回访问资源不存在的错误提示页面。
5. 配置虚拟主机
目的:同一台计算机配置多个web站点。
操作:首先打开tomcat安装目录的conf文件夹下的server.xml文件。
< host >元素代表一个虚拟主机,它的属性name和appBase分别表示虚拟主机的名称和路径。如果希望添加一个虚拟主机,只需要在server.xml 文件的 < Engine > 元素中增加一个 < host > 元素。
<Engine name="Catalina" defaultHost="localhost">
<!-- 原有 -->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
<!-- 新增 -->
<Host name="demo" appBase="D:\demo">
</Host>
</Engine>
< Engine > 元素应用构建一个客户端请求的引擎,它接受tomcat的连接器传来的请求访问,进行具体的处理后将结果返回连接器。
< Engine > 元素中有一个defaultHost属性,该属性用于指定默认的虚拟主机,即访问的主机如果不存在,则会访问默认的虚拟主机。
配置好的虚拟主机要想被外界访问,还必须在DNS服务器或Windows系统中注册。
在操作系统根目录下的system32\drives\etc子目录中,打开hosts文件,发现如下一行文本:
127.0.0.1 localhost
这行文本的作用是建立IP地址和主机名的映射关系。可以添加:
127.0.0.1 demo
6. Servlet和JSP之间的区别
总结:jsp会变成servlet,所以jsp就是servlet。
7. 注册Servlet
在web.xml文件中添加 < Servlet > 标签,用于注册Servlet。
< Servlet-name > 和 < Servlet-class > 分别用来指定Servlet名称及其完整类名。元素 < Servlet-mapping> 用于映射Servlet对外访问的虚拟路径,它的子元素 < Servlet-name> 的值必须和 < Servlet > 元素中 < Servlet-name> 相同,子元素 < url-pattern > 用于指定访问该Servlet的虚拟路径,该路径以 / 开头,代表当前web程序的根目录。如果是多重映射则继续新建 < Servlet-mapping> 标签。
<servlet>
<servlet-name>zxq</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>zxq</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
8. Servlet高级应用
在Servlet接口中,提供了一个抽象类javax.servlet.http.HttpServlet,他是GenericServlet的子类,专门用于创建应用于HTTP的Servlet。