Web目录

WAR文件

WAR文件只是Web应用结构的一个快照,采用了一种更可移植的压缩形式。

建立WAR文件时,就是把整个Web应用结构(去掉Web应用上下文目录,就是把WEB-INF之上的一级目录去掉)压缩起来,给定一个.war扩展名。

容器如何知道Web应用的名字/上下文呢?Tomcat中,WAR文件名就是了!

在一个WAR文件中,可以在META-INF/MANIFEST.MF文件中声明库依赖性(和直接放在WEB-INF/lib下有何区别?后文见分晓)。

部署后的WAR文件的样子

使静态内容和JSP可以直接访问

META-INF或WEB-INF中的内容不可直接访问,否则产生404错误。

META-INF什么用

如果类是使用WEB-INF/classes目录或WEB-INF/lib中的一个jar文件部署在Web应用中,那么这些类就能自动得到;

但是,若应用依赖某个特定版本的库,如果容器无法提供这些库,就不能成功地部署应用,那么就可以在MANIFEST.MF文件中告诉容器必须访问哪些可选的库。(不能部署应用比请求时发现错误要好得多!)

记住,容器查看WEB-INF/lib中的jar文件之前,会先查找WEB-INF/classes目录中的类。

DD中的servlet映射

  • 三种url-pattern元素

    完全匹配、目录匹配和扩展名匹配:

  • 有个servlet映射的重要规则

  1. 容器会按下一页显示的顺序查找匹配。换句话说,首先查找完全匹配。如果找不到完全匹配。再查找目录匹配。如果目录匹配也找不到,就查找扩展名匹配。
  2. 如果一个请求与多个目录url-pattern匹配,容器会选择最长的远配。

在DD中配置欢迎文件

配置welcome-file-list元素,容器会从该列表的第一个欢迎文件开始:

在DD中配置错误页面

  • 声明一个普通型错误页面

    这应用于Web应用中的所有资源,而不只是JSP

  • 更为明确的异常错误声明

  • 根据HTTP状态码声明错误页面

在DD中配置servlet初始化

servlet默认会在第一个请求到来时初始化,若希望在部署或服务器重启时加载servlet,可以设置load-on-startup元素。



若配置多个该元素,则按照值的从小到大先后加载。

JSP文档:XML兼容的JSP页面

最后看看几个最近还没用到的标记

  • 与EJB相关的DD标记

  • JNDI env-entry DD标记

  • mime-mapping DD标记

《Head First Servlets & JSP》-11-Web应用部署的更多相关文章

  1. Myeclipse发布第一个jsp页面及web project部署到tomcat上的几种方法

    菜鸟日记: 1:new web project: 2:fix the visiting  path of the tomcat,打开在安装目录下conf目录中的server.xml,在</Hos ...

  2. JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器

    注意:此为2009年的blog,注意时效性(针对常见服务器)     APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等 ...

  3. eclipse:eclipse for java EE环境下如何配置tomcat服务器,并让tomcat服务器显示在控制台上,将Web应用部署到tomcat中

    eclipse环境下如何配置tomcat 打开Eclipse,单击"Window"菜单,选择下方的"Preferences".  单击"Server& ...

  4. #Eclipse web工程 部署 三种方式 3

    Eclipse web工程 部署 三种方式 3.热部署 在Eclipse中,实现 修改一个.java文件或者.jsp文件甚至是配置文件,不需要重启WEB服务器的前提下让修改生效,实现tomcat自动加 ...

  5. Linux web工程部署远程必备软件安装

    一.序 最近在将程序往linux上面部署,特此记录下部署步骤,待以后参考. web工程部署必备软件为:JDK.tomcat.数据库软件(oracle或mysql),远程监控.上传下载必备软件:VNC. ...

  6. Tomcat的四种web应用部署方式详解

    在Tomcat中有四种部署Web应用的方式,简要的概括分别是: (1)利用Tomcat自动部署 (2)利用控制台进行部署 (3)增加自定义的Web部署文件(%Tomcat_Home%\conf\Cat ...

  7. Spring整合Redis&JSON序列化&Spring/Web项目部署相关

    几种JSON框架用法和效率对比: https://blog.csdn.net/sisyphus_z/article/details/53333925 https://blog.csdn.net/wei ...

  8. Eclipse web工程 部署 三种方式 1

    Eclipse web工程 部署 三种方式 1.run on 前提: 安装 好 eclipse.jdk.tomcat 然后 新建一个 web工程 注意此处Default output folder 最 ...

  9. 《Head First Servlets & JSP》-1-前言

    <Head First Servlets & JSP>(中文版) BB,KS & BB著, 苏钰函,林剑译,中国电力出版社 数据交互 Web浏览器和Web服务器:通过Htt ...

随机推荐

  1. HDU - 5307 :He is Flying (分治+FFT)(非正解)

    JRY wants to drag racing along a long road. There are nn sections on the road, the ii-th section has ...

  2. web.xml & web-fragment.xml (Servlet 2.3, 2.4, 2.5 + 3.0)模板

    转自:http://jlcon.iteye.com/blog/890964 web.xml v2.3 <?xml version="1.0" encoding="I ...

  3. 幸运数字(数位dp)

    个人心得:数位dp处理起来是真的麻烦,本来动态规划就够头疼的了,菜的一批. 来看这个题目吧,题目在下面. 把题目变成可以求得就是求前n个数中1-n*9的情况的总和,所以用dp[i][j],表示前i个数 ...

  4. LOJ2542. 「PKUWC2018」随机游走

    LOJ2542. 「PKUWC2018」随机游走 https://loj.ac/problem/2542 分析: 为了学习最值反演而做的这道题~ \(max{S}=\sum\limits_{T\sub ...

  5. Oracle job procedure 存储过程定时任务(转自hoojo)

    Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 ...

  6. C#获取路由器外网IP,MAC地址

    C#实现的获取路由器MAC地址,路由器外网地址.对于要获取路由器MAC地址,一定需要知道路由器web管理系统的用户名和密码.至于获取路由器的外网IP地址,可以不需要知道路由器web管理系统的用户名和密 ...

  7. SQL Sever 学习系列之一

    SQL Sever 学习系列之一 本学习系列,从实际工作需要中积累,对于一个新手而言,写出几条漂亮的查询语句,应该是可以受启发的. 一.问题的需求是:员工薪酬发放,现有资金能发放多少人,哪些人应得? ...

  8. Excel合并计算

    office版本为2013,数据来源:我要自学网,曾贤志老师 计算之前,光标定在空白位置,不要定在数据源. 将汇总的类型居于首列(不可以跨区域选择,可以把不需要汇总的移动到其他列). 要有删除原来数据 ...

  9. HDU2579(bfs迷宫)

    Dating with girls(2) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  10. java代码I/O类

    总结:流类无法理解啊—————— package com.aini; import java.io.*; //流类 //使用FileInputStream读取文件信息 public class ffg ...