部署和编写简单web项目
初学的时候,使用默认的Web应用和默认的Servlet URL。对于正式的应用,则应使用定制的Web应用和URL(在部署描述文件web,xml中指定)
仿照默认Web应用的目录结构,创建目录
HTML和JSP文档放在顶层目录
web.xml放在WEB-INF子目录
servlet和其他类放在WEB-INF/classes中,或者放在WEB-INF/classes目录中与包名匹配的子目录中。
注册web应用到tomcat:
将web应用的目录拖放到install_dir/webapps中,然后重启服务器。目录的名称就是Web应用的前缀。
对于没打包的servlet,调用时默认URL http://host/webAppPrefix/servlet/ServletName
可以为自己编写的servlet指定自定义的URL
使用web.xml的servlet和servlet-mapping元素给每个servlet赋予形如http://host/webAppPrefix/someName的URL
War文件
web档案文件提供一种将Web应用捆绑到单个文件中的便利方式。使用单个大文件,相比许多小文件,更易于将Web应用在服务器之间转义。
War文件实际上是以.war为扩展名的jar文件,我们使用通常的jar命令来创建它。例如,如果要将整个Web应用testApp捆绑到war文件testApp2.war中,我们只需要切换到testApp目录,并执行下面的命令:
jar cvf testApp2.war *
使用URL前缀:
使用Web应用时,所有的URL中都要用到一个特殊的前缀。大多数servlet都允许我们自由地选择前缀,但是默认情况下,目录名(或war文件的主文件名)是web应用的前缀。
为自己编写的servlet分配定制的URL:
1、文件放在WEB-INF中
2、基本格式:
开头是XML标头和声明,并且含有一个web-app元素
3、为servlet赋予名称:
使用servlet元素,servlet-name(可以任取),和servlet-class(完全限定类名)子元素
<servlet>
<servlet-name>Servlet2</servlet-name>
<servlet-class>coreservlets.HelloServlet2</servlet-class>
</servlet>
4、URL的指定
要将URL赋予已命名的servlet,需要使用servlet-mapping元素的servlet-name和url-pattern子元素
<servlet-mapping>
<servlet-name>Servlet2</servlet-name>
<url-pattern>/servlet2</url-pattern>
</servlet-mapping>
注意,必须将所有的servlet元素放置在任何servlet-mapping元素之前,它们不能互相混合。
5、部署描述文件的读取
默认情况下,服务器启动后的web.xml文件是只读的,因此除非您使用服务器专有的特征,否则每次修改完web.xml文件还是得重新启动服务器。
部署和编写简单web项目的更多相关文章
- 创建简单web项目
Intellij Idea直接安装(可根据需要选择自己设置的安装目录),jdk使用1.6/1.7/1.8都可以,主要是配置好系统环境变量,tomcat7上tomcat的官网下载压缩包解压即可. 一.创 ...
- 在linux上部署自己开发的web项目
在linux上部署自己开发的web项目 前言:相信有很多做开发的小伙伴和我之前一样,只会在windows环境下,利用开发工具开发运行web项目,但是却不知道怎么把开发好的项目部署到linux服务器上去 ...
- Eclipse下编写的web项目部署到tomcat下
之前都是用myeclipse编写web项目,编写好然后在myclipse上配置的tomcat下的webapps文件想项目复制到其他tomcat下就能运行了. 最近学习jquery,将eclipse编写 ...
- java maven、springmvc、mybatis 搭建简单Web项目学习笔记
前言: 空余的时间,学学 Java,没准哪天用的到: 环境搭建折腾了好几天,总算搞顺了,也做个学习笔记,以防后面会忘记: 一.安装文件及介绍 JDK:jdk1.8.0 77 eclipse-maven ...
- 部署Eclipse中的Web项目到Tomcat服务器运行
用Eclipse开发Web项目时,可以通过Tomcat服务器运行Web项目,此时Web项目被部署在[WorkSpace]\.metadata\.plugins\org.eclipse.wst.serv ...
- 关于部署传统的Dynamic Web项目
现在大部分都是采用maven构建的项目,但是偶尔也会遇到一些较老的项目,采用的是传统的动态Web项目. 我最近碰到这样一个项目,项目用的jar包都放在了WEB-INF/lib目录下.之前的人采用的部署 ...
- ZH奶酪:LAMP环境中如何重新部署一个Yii2.0 web项目
使用Yii2.0 framework开发的项目,使用Github进行版本控制,现在要把这个项目部署到一个新的电脑/系统中: (1)安装LAMP (2)在/var/www/html目录下执行 git c ...
- IDEA热部署基于maven的web项目
第一步:首先先创建web项目 按照向导一步一步完成项目创建,我创建的示例项目为hotdeploddemo 第二步:设置项目的web资源 下图中的路径要修改正确,指向src/ma ...
- 【持久化框架】SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载
上篇博文我们介绍了mybatis的基本概念与原理,这篇博文我们通过Spring与Mybatis集成,开发一个简单用户增删改查的Web项目. 基本准备工作 1.安装JDK1.6以上版本,安装与配置 2. ...
随机推荐
- 新增html5标签 例如input的很多属性
<meter> 标签定义度量衡.仅用于已知最大和最小值的度量. contenteditable="true"> 规定可编辑的内容. <output> ...
- UVa 10570 外星人聚会
https://vjudge.net/problem/UVA-10570 题意:输入1~n的排列,每次可以交换两个整数,求出最少交换次数使之变成有序的环状序列. 思路:主要的解题方法就是寻找置换环,举 ...
- C# asp.net 比较两个时间的差求天数
string str1 = "2017-2-13 23:59:59"; string str2 = "2017-2-14 0:00:01"; DateTime ...
- django 接口编写的配置
一.修改settings文件 ALLOWED_HOSTS = ['*'] INSTALLED_APPS = [ 'corsheaders' ] #加入该app 安装django-cors-hea ...
- python 集合取最大最小值
#Create a set seta = , , , , , ]) #Find maximum value print(max(seta)) #Find minimum value print(min ...
- HashMap中的hash函数
在写一个HashSet时候有个需求,是判断HashSet中是否已经存在对象,存在则取出,不存在则add添加.HashSet也是通过HashMap实现,只用了HashMap的key,value都存储一个 ...
- 《A_Pancers团队》作业5—团队项目需求改进与系统设计
一:团队项目需求改进 1. <音乐播放软件需求规格说明书>的不足 在上周的<音乐播放软件需求规格说明书>我们还需要改进的地方有:1.搜索功能:2.界面的简洁美观化:3.按键的重 ...
- Java多线程之内存可见性和原子性:Synchronized和Volatile的比较
Java多线程之内存可见性和原子性:Synchronized和Volatile的比较 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article ...
- 安装 tensorflow 时遇到 OSError: [Errno 1] Operation not permitted 的解决办法
Installing collected packages: numpy, scipy, six, pyyaml, Keras, opencv-python, h5py, html5lib, blea ...
- 常用Java字符API