文章目录
一.Web 应用配置和部署
1.1 介绍
web.xm 是 web 应用的描述文件,它支持的元素及属性来自于 servlet 规范定义。在 Tomcat
中,web 应用的描述信息包括 tomcat/conf/web.xml
中的默认配置以及 web 应用文件目录
中 WEB-INE/web.xml
内的定制配置。
1.2 ServletContext 初始化参数
可以通过<context-param>
添加 Servletcontext 初始化参数,它配置了一个键值对,这样就
可以在应用程序中使用 javax.servlet.servletContext.getInitParameter()方法获取参数,
以此来配置 Servlet context 初始化时的一些参数信息,也就是说通过<context-param>
配
置的参数可以在 servlet 中使用。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-*.xm1</param-value>
<description>Spring Config File Location</description>
</context-param>
<!-- 例如:web.xml中配置为 -->
<context-param>
<param-name>site_of_project</param-name> <!-- 参数名 -->
<param-value>www.suosuoli.cn</param-value>
</context-param>
<!-- 在servlet中使用下面的方法获取该参数 -->
public class BbsServlet extends HttpServlet {
@Override
protected void doGet (...){
String value = req.getServletContext ().getInitParameter( S: "site_of_project");<!-- 使用该方法获取参数 -->
System. out.println(value) ;
}
...
}
1.3 会话配置 session-config
1.3.1 会话介绍
如上图,左边为客户端浏览器,右边为服务器。假设 HTTP 请求 A 为登录请求,那么服务器端
就会记录此次登录信息,将其保存在服务端 Session 内。保存好后,服务器给客服端响应一
个 JSESSIONID,这个 JSESSIONID 实际上就是个 Cookie,将该 Cookie 写入给浏览器端,下
一次浏览器访问该服务器时,比如图中请求 B,就会带上 JSESSIONID,此时,服务器就知道
该客户端之前登录过,客户端也就不必再次登录。此时浏览器默认的 Cookie 就是 JSESSIONID。
Tomcat 的会话配置就是上图中 Session 交互过程的属性配置,如 Session 的生命周期,和 Cookie
相关配置。
1.3.2 会话配置
<session-config>
用于配置 web 应用会话,包括超时时间、Cookie 配置以及会话追踪模式。
它将覆盖 server.xml 和 context.xml 中的相应配置。
<session-config>
<session-timeout>30</session-timeout> <!-- session有效期 -->
<cookie-config>
<name>JESSIONID</name> <!-- 默认的cookie名叫JSESSIONID -->
<domain>www.suosuoli.cn</domain>
<path>/</path>
<comment>Session Cookie</comment> <!-- 注释信息 -->
<http-only>true</http-only> <!-- 该cookie对象只能通过http请求携带到服务端 -->
<secure>false</secure> <!-- true 则表示只允许https协议携带该cookie -->
<max-age