部署和编写简单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. ...
随机推荐
- decimal and double ToString problem
decimal d2 = 0.0000002500m; Console.WriteLine(d2.ToString()); double d3 = 0.0000002500; Console.Writ ...
- Vue开发中的中央事件总线
在Vue开发中会遇到大量的组件之间共享数据的情形,针对不同的情形,Vue有相对应的解决方案.比如,父组件向子组件传值可以使用props,复杂项目中不同模块之间传值可以使用Vuex.但是,对于一些简单的 ...
- Unity3D学习笔记(十三):委托、考试复习
委托:比较什么时候用委托好 下课案例:不用下课铃 1.ClassManager需要拿到所有教室的引用,课堂管理者应该只负责计时并告知每间教室 2.每间教室应该是由当班老师负责是否需要下课,而课堂管 ...
- C语言中生产随机数 rand()函数
参考资料:C语言中产生随机数 一:如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间.RAND_MAX定义在stdl ...
- Could not find a package configuration file provided by 'ecl_geometry' ,.................couldn't find required component 'ecl_geometry'
sudo apt-get install ros-kinetic-ecl-geometry
- 【转】QT获取系统时间,以及设置日期格式
http://blog.csdn.net/zzk197/article/details/7498593 例如我要在一个label上设置当前时间 QDateTime time = QDateTime:: ...
- [ios]cocos2dx获取设备的当前预言
参考:http://blog.sina.com.cn/s/blog_923fdd9b0101fmpv.html http://bbs.9ria.com/thread-199313-1-1.html / ...
- js audio 播放音乐
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- HDU 6015 Skip the Class
Skip the Class 代码: #include<bits/stdc++.h> using namespace std; #define ll long long #define l ...
- mysql 问题 Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdb
异常错误:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.c ...