Head First Servlets & JSP 学习笔记 第十一章 —— Web应用部署
jar:java archive(java归档)
war:web archive(web归档)
war文件只是Web应用结构的一个快照,采用了一种更可移植的压缩形式(它实际上就是一个jar文件)。建立war文件,就是把整个Web应用结构压缩起来(不要Web应用名目录,即从WEB-INF那一级开始压缩)。
在Tomcat容器中,war文件的文件名会成为Web应用的名字。
在web.xml中配置欢迎文件:
<web-app>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>default.jsp</welcom-file> //<welcome-file>中的文件不以斜线开头
</welcom-file-list>
</web-app>
在web.xml中配置错误页面:
<web-app>
<error-page>
<exception-type>java.lang.Throwable</exception-type> //除了下面的特定错误,其他错误都使用这个errorPage.jsp页面
<location>/errorPage.jsp</location>
</error-page> <error-page>
<exception-type>java.lang.ArithmeticException</exception-type> //<exception-type>必须使用完全限定类名
<location>/arithmeticError.jsp</location>
</error-page> <error-page>
<error-code>404</error-code> //指定错误码
<location>/notFoundError.jsp</location>
</error-page>
</web-app>
在web.xml中配置Servlet初始化:
如果你希望在部署时(或者服务器重启时)加载Servlet,而不是等到第一个请求到来时才加载,可以在DD中使用<load-on-startup>元素。
<servlet>
<servlet-name>KathyOne</servlet-name>
<servlet-class>foo.DeployTestOne</servlet-class>
<load-on-startup>1</load-on-startup> //<load-on-startup>的值大于0就表示要在应用部署时(或服务器重启时)初始化Servlet。值越小越早初始化,例如<load-on-startup>1</load-on-startup>比<load-on-startup>5</load-on-startup>更早初始化
</servlet>
Head First Servlets & JSP 学习笔记 第十一章 —— Web应用部署的更多相关文章
- Head First Servlets & JSP 学习笔记 第三章 —— MVC迷你教程
临渊羡鱼,不如退而结网!是时候动手搞事情了! 我们的四大步骤: ①分析用户的视图(也就是浏览器要显示的东西),以及高层体系结构: (这个就是所谓的前端吧?用JSP?JSP可以当成Html来用吧?高层体 ...
- Head First Servlets & JSP 学习笔记 第七章 —— 作为JSP
<%@ …… %> 这是指令 <%@ page ……import="java.util.Date" %> 这是page指令,import是page指令的一个 ...
- Head First Servlets & JSP 学习笔记 第五章 —— 作为Web应用
初始化参数:(init-param) 初始化参数写在web.xml文件中:(写在<servlet>标签内部) <servlet> <servlet-name>Bee ...
- Head First Servlets & JSP 学习笔记 第十三章 —— 过滤器的威力
过滤器可能是最强大的Web应用开发工具了! 与Servlet非常类似,过滤器就是Java组件,请求发送到Servlet之前,可以用过滤器截获和处理请求:另外Servlet结束工作之后,但在响应发回给客 ...
- Head First Servlets & JSP 学习笔记 第六章 —— 会话状态
MVC中的M(模型),通常就是一个普通的类,这个类里面的信息就是业务逻辑. 会话(Session) 我们可以使用一个HttpSession对象,来保存横跨多个请求的会话状态. HTTP协议使用的是无状 ...
- Head First Servlets & JSP 学习笔记 第四章 —— 作为Servlet
Servlet的任务是得到一个客户的请求,再发回一个响应. 请求: 容器控制着Servlet的一生,它会创建请求和响应对象.为Servlet创建一个新线程或分配一个线程,另外调用Servlet的ser ...
- Head First Servlets & JSP 学习笔记 第二章 —— Web应用体系结构
Servlet没有main()方法,所以Servlet受其他人控制,这个其他人就是容器!而Tomcat就是一种容器. 容器向Servlet提供Http请求和Http响应:容器来调用Servlet的do ...
- o'Reill的SVG精髓(第二版)学习笔记——第十一章
第十一章:滤镜 11.1滤镜的工作原理 当SVG阅读器程序处理一个图形对象时,它会将对象呈现在位图输出设备上:在某一时刻,阅读器程序会把对象的描述信息转换为一组对应的像素,然后呈现在输出设备上.例如我 ...
- Head First Servlets & JSP 学习笔记 第九章 —— 使用JSTL
JSTL1.1 不是JSP2.0规范的一部分!你能访问Servlet和JSP API 不意味着你能访问JSTL! 使用JSTL之前,需要将两个文件("jstl.jar" 和 &qu ...
随机推荐
- php输出数据到csv文件
function export() { $fileName = date('Y-m-d').uniqid().'.csv'; set_time_limit(0); ini_set('memory_li ...
- 回顾HashMap
一.HashMap的原理简述 HashMap是基于哈希表的非线程安全的Map实现,内部采用数组+链表实现,其内部类Node定义了数据元素类型,它扩展了Map.Entry<K,V>增加了指向 ...
- paramiko实现上传目录
使用paramiko上传目录,重点是上传的那个过程,想了一上午才想出来,可能有点奇葩,但是还是实现了这个功能 #!/usr/bin/python import paramiko import os d ...
- Linux whereis命令详解
Linux whereis命令 Linux whereis命令用于查找文件. 该指令会在特定目录中查找符合条件的文件.这些文件应属于原始代码.二进制文件,或是帮助文件. 该指令只能用于查找二进制文件. ...
- 【java】接口
class :用于定义类interface:用于定于接口 接口定义时,特点:1.接口中常见定义:常亮和抽象方法2.接口中的成员都有固定修饰符(如果没有会被隐式添加) 常量:public static ...
- Python输入语句
什么是输入 咱们在银行ATM机器前取钱时,肯定需要输入密码,对不? 那么怎样才能让程序知道咱们刚刚输入的是什么呢?? 大家应该知道了,如果要完成ATM机取钱这件事情,需要先从键盘中输入一个数据,然后用 ...
- WebApi 序列化 循环引用问题
public static void Register(HttpConfiguration config) { // Web API 配置和服务 config.Formatters.Remove(co ...
- SQL注入检测
目前只支持单个对象,不支持对象中包含对象 /// <summary> /// 检查SQL中的非法字符 /// </summary> public class SQLInject ...
- python 前后端分离 简单的数据库返回接口
1.使用node http-server 起本地服务器 或者打开nginx 直接用nginx的默认页面也可以 (用下面的html文件替换nginx下html文件夹下的index.html) http ...
- 【spring】之xml和Annotation,Bean注入的方式
基于xml形式Bean注入 @Data @AllArgsConstructor @NoArgsConstructor public class PersonBean { private Integer ...