servlet部署到tomcat中
引用:http://blog.csdn.net/shuidao/article/details/1738059
配置,部署 servlet:
1. 在tomcat的安装目录下 找到webapps 文件夹,在里面新建一个文件夹,这作为你的网站根文件夹,名字随意取, 本文叫做 serv 文件夹。位置为 /webapps/serv
通过 http://127.0.0.1:8080 /serv 可以访问到这个位置(现在没有文件,访问会出错)。可以写一个测试文件,index.html 放在这个文件夹下,通过 http://127.0.0.1:8080 /serv /index.html 就可以看到这个文件。
2. 在serv 里面 新建文件夹 WEB-INF ,注意大小写和短线。 在WEB-INF里面新建classes文件夹和web.xml文件。
|-----serv
|----index.html
|----WEB-INF
|----web.xml // 此文件是部署关键,修改此文件定义servlet。
|----classes // 此文件夹存放编译好的servlet类文件,如果servlet有pakage,则应建立相应的pakage结构,本问helloworld 未打包,所以自己将HelloWorld.class 放在这里即可。
|-----HelloWorld.class
3. 用记事本打开 web.xml 。
编写如下内容:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Welcome to my first jsp </display-name>
<description>
Welcome to my jsp
</description>
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/abc/Hello.do</url-pattern>
</servlet-mapping>
</web-app>
保存,后通过 http://127.0.0.1/:8080/serv/abc/Hello.do 就可以访问你的HelloWorld 了。注意这个地址后缀跟上面红色代码的联系。
4. 现在重点解释一下 web.xml 文件。
(1). 上面的 xml的文件头的版本等信息 是粘贴过去就行,
这个web.xml 可以在 webapps/root/WEB-INF 下面找到。这直接复制过去就行了。 需要修改的就是
<display-name> <servlet> 和<servlet-mapping> 这三个标签的内容。 上面的例子中已经做了相应的修改。 其中重点是修改后面两个标签。
(2). 解释<servlet>标签: 这是用来创建servlet的标签. 其中<servlet-name>是给servlet取名,本文取作Hello, 这个名字是任意取的. <servlet-class>是指定这个servlet 所对应的 class文件. 这个文件必须已经编译,并且放在classes文件夹下面.本文是HelloWorld.class 后缀名不写,只写上HelloWorld
需要注意两点: 第一,servlet取名是任意的,可以与class文件名相同也可以不同.本文就不同.第二,对应的类文件,如果有包还应带上包的前缀,例如<servlet-class>mypkg1.mypkg2.HelloWorld</servlet-class>这些pakage 的结构必须在classes文件夹中已经建立.
当网站中用到多个servlet 时 可以重复粘贴这个servlet标签,然后修改 相应的名字和class文件.
(3). 解释<servlet-mapping>标签:这是用来定义 从web页面访问servlet时 所需的访问后缀字符串与对应的servlet的 映射关系. 其中<servlet-name>是需要接受访问的servlet的名字, 这个名字必须已经用上述<servlet> 定义过. 本文就是Hello. <url-pattern>是 是定义 访问这个servlet是 所需要给定的访问后缀字符串 本文给定 /abc/Hello.do 是随意给的,在网站的跟目录下加上这个字符串就可以访问指定的servlet了. 这里的abc 并不是文件夹, 后面的.do 也不是后缀名, 而是随意给的.
也可以改为<url-pattern>/aaabbbccc</url-pattern>
这样通过http://127.0.0.1/:8080/serv/aaabbbccc 这个地址同样可以访问 HelloWorld.
需要注意一点 : /aaabbbccc 前面的 斜线不能丢. 而且这个字符串是直接加在网站的跟路径下访问的,与servlet的 实际路径无关. 本文就是加载 serv 后面访问的.
总结:
有点啰唆,技术含量不高, 希望我的经历对跟我一样入门的菜鸟有所帮助. 本人搞了一整晚才搞定,本人认为难点在于 web.xml的配置,网上很多文章都 直接给出web.xml 而不解释 标签的含义.让人看了不知其所以然,所以就晕了.我也是在这上花了很多时间,所以本文重点在解释web.xml.
其实简单地说两步就可以部署servlet,第一,建立相应的目录结构。第二,修改web.xml文件。
错漏之处在所难免,欢迎批评指正 by:shuidao 2007.8.11
servlet部署到tomcat中的更多相关文章
- SpringBoot应用部署到Tomcat中无法启动问题
SpringBoot应用部署到Tomcat中无法启动问题 背景 最近公司在做一些内部的小型Web应用时, 为了提高开发效率决定使用SpringBoot, 这货自带Servlet容器, 你在开发We ...
- 【tomcat 无法部署】svn上下载的maven项目无法部署到tomcat中
问题: svn上下载的maven项目无法部署到tomcat中,tomcat不识别项目,但是这个项目确实是web项目 发现的过程: 然后依次产看项目的编译版本: 项目的依赖架包: 才发现: 解决方法: ...
- MyEclipse2014中项目名更改后如何使用新的项目名部署到Tomcat中去
在项目中调试的时候突然发现我复制的项目(项目名修改过了)部署在Tomcat中运行的时候还是显示的是原来的项目名,以至于我使用新的项目名称作为URL请求竟然是404,我去,当时感觉就不怎么好了. 当然, ...
- eclipse:eclipse for java EE环境下如何配置tomcat服务器,并让tomcat服务器显示在控制台上,将Web应用部署到tomcat中
eclipse环境下如何配置tomcat 打开Eclipse,单击"Window"菜单,选择下方的"Preferences". 单击"Server& ...
- UEditor在开发环境中正常运作,但是部署到Tomcat中却无法使用
背景 SpringBoot项目,在 JSP 中使用 UEditor 问题 UEditor 在开发环境中正常运作,但是导致部署到 Tomcat 中却无法使用 原因 在开发环境中,路径不够严谨,多 ...
- vue项目如何部署到Tomcat中
vue项目如何部署到Tomcat中 1,假设你要访问的项目名称为'hms' 2,在Tomcat的webapps下创建hms文件夹, 3,配置config/index.js文件,build: {} 选项 ...
- SpringBoot应用部署到Tomcat中无法启动问题(初识)
参考http://blog.csdn.net/asdfsfsdgdfgh/article/details/52127562 背景 最近公司在做一些内部的小型Web应用时, 为了提高开发效率决定使用Sp ...
- MyEclipse中无法将SVN检出来的项目部署到tomcat中
自己遇到的小问题 : 要以web项目方式从svn上倒下来才可以部署到tomcat下检出步骤: myEclipse -->File-->new-->other-->svn--& ...
- Eclipse中的普通Java项目如何部署到Tomcat中
我现在的做法: 1.在Eclipse中配置Tomcat时,选择创建Context文件,而不是server.xml,好处是文件可以随便命名,与虚拟目录一致(即xml中的属性path).Tomcat加载项 ...
随机推荐
- iOS:创建静态库及其使用
本篇来自转载,原创链接为:http://my.oschina.net/leejan97/blog/284193 摘要: 静态库文件可以有效的将功能封装和细节隐藏 ios 静态库 static lib ...
- javascript快速入门17--事件
事件(上) JavaScript事件列表 事件 解说 一般事件 onclick 鼠标点击时触发此事件 ondblclick 鼠标双击时触发此事件 onmousedown 按下鼠标时触发此事件 onmo ...
- Docker解析及轻量级PaaS平台演练(三)--Dockerfile编写
在本篇中将介绍Dockerfile的编写 除了通过修改Image,创建Container,在打包成Image来创建我们需要的Image之外 我们还可以编写Dockerfile文件,通过build来创建 ...
- 基于Spark Mllib,SparkSQL的电影推荐系统
本文测试的Spark版本是1.3.1 本文将在Spark集群上搭建一个简单的小型的电影推荐系统,以为之后的完整项目做铺垫和知识积累 整个系统的工作流程描述如下: 1.某电影网站拥有可观的电影资源和用户 ...
- [Parcel] Running TypeScript with parcel-bundler
TO get started with TypeScirpt quickly in your local computer is using parcel-bunlder: npm i -g parc ...
- Node.js meitulu图片批量下载爬虫 1.05版(Final最终版)
//====================================================== // https://www.meitulu.com图片批量下载Node.js爬虫1. ...
- Struts2数据类型转换之批量数据转换
前面我们实现了从字符串到User对象的转换.如果表单中有多个User数据,我们可以批量转换. 我们把input.jsp修改为: <h1>使用分号隔开username password< ...
- Axure RP Extension for Chrome
1.打开Chrome浏览器,找到“更多工具 -> 扩展程序”: 2.将下载的Axure-RP-Extension-for-Chrome-0.6.2.crx文件拖到界面当中: 3.安装成功后,勾选 ...
- react-app-rewired 定义全局变量
通过react-app-rewired插件,react-app-rewired的作用就是在不eject的情况下,覆盖create-react-app的配置.
- css样式布局中position的那些事儿
哎,页面布局及设计开发.对于一个一直从事后台开发来说屌丝来说,确实是件非常费时.费力,非常艰难的一件事. 今晚是想实现把多张重叠在一起.或是标记一张图片中不同的位置然后赋以超链接.花了一晚上的时间,才 ...