Eclipse创建第一个Servlet(Dynamic Web Project方式)、第一个Web Fragment Project(web容器向jar中寻找class文件)
创建第一个Servlet(Dynamic Web Project方式)
注意:无论是以注解的方式还是xml的方式配置一个servlet,servlet的url-pattern一定要以一个"/"开头,否则启动项目时报错。
1、前期准备
参考另一篇文章——Eclipse 下载、安装、取消自动更新、设置编码、关联Tomcat
地址:https://www.cnblogs.com/Mike_Chang/p/9334057.html
2、具体步骤
(1)选择File | New | Dynamic Web Project命令,出现New Dynamic Web Project对话框,在Project name文本框中输入 FirstServlet。
(2)确定Target runtime为刚才设置的Apache Tomcat v7.0,单击next按钮,再次单击next按钮并勾选Generate web.xml deployment descriptor 复选框,这样就会生成web.xml文件。
(3)展开新建项目中的Java Resources节点,在src上右击,从弹出的快捷菜单中选择New | Servlet命令。
(4)弹出Create Servlet对话框,在Java package文本框中输入com.test,在Class name文本框中输入HelloServlet,单击Next按钮。
(5)选择URL mappings中的HelloServlet,单击右边的Edit按钮,将Pattern改为/hello后,单击OK按钮。
(6)单击Create Servlet对话框中的Finish按钮。接着就可以编写第一个Servlet的内容了。
(7)运行。在HelloServlet.java上右击,从弹出的快捷菜单中选择Run As | Run on Server命令。
(8)在弹出的Run on Server对话框中,确定Server runtime environment为先前设置的Apache Tomcat v7.0,单击Finish按钮。
(9)在Tomcat启动后,会出现内嵌于Eclipse的浏览器,地址栏已自动设置为:http://localhost:8080/FirstServlet/hello
3、注意
默认的ContextPath是项目名称,在这里是FirstServlet。如果想自定义,在项目上右击,从弹出的快捷菜单中选择Properties命令,在Web Project Settings中进行设置,我们看到默认就是FirstServlet,我们可以自定义为任意名字,当然也可以设置为一个"/"。之后在Servers视窗clean Tomcat再重启就生效了。
4、导出为war包
直接在项目中右击,从弹出的快捷菜单中选择Export/WAR file命令并设置导出的目录。
创建第一个Web Fragment Project
1、简介
在Servlet 3.0中,可以使用标注来设置Servlet的相关信息。实际上,Web容器并不仅读取/WEB-INF/classes中的Servlet标注信息,如果一个JAR文件中有使用标注的Servlet,Web容器也可以读取标注信息、载入类并注册为Servlet进行服务。在Servlet 3.0中,JAR文件可用来作为Web应用程序的部分模块。事实上,不仅是Servlet,监听器、过滤器等也可以在编写、定义标注完毕后,封装在JAR文件中,视需要放置至Web应用程序的/WEB-INF/lib中,弹性抽换Web应用程序的功能性。
2、web-fragment.xml 简介
一个JAR文件中,除了可使用标注定义的Servlet、监听器、过滤器外,也可以拥有自己的部署描述文件,这个文件的名称是web-fragment.xml,必须放置在JAR文件的META-INF目录中。基本上,web.xml中可定义的元素,在web-fragment.xml中也可以定义。web-fragment.xml的根标签是<web-fragment>而不是<web-app>。
web-fragment.xml中所指定的类,不一定要在JAR文件中,也可以是在web应用程序的/WEB-INF/classes中。
3、使用JAR文件部署Servlet
(1)选择File | New | Other命令,在出现的对话框中选择Web节点中的Web Fragment Project节点,单击Next按钮。
(2)在New Web Project Fragment Project对话框中,注意可以设置Dynamic Web Project membership。这里可以选择Web Fragment Project产生的JAR文件,将会部署于哪一个项目中,这样就不用手动产生JAR文件,并将之复制至另一应用程序的WEB-INF/lib目录中。
(3)在Project name文本框中输入FirstWebFrag(这个名字随便取名都可以,对访问不会的任何影响),单击Finish按钮。
(4)展开新建立的FirstWebFrag项目中src/META-INF节点,可以看到预先建立的web-fragment.xml。可以在这个项目中建立Servlet等资源,并设置web-fragment.xml的内容。
(5)在FirstServlet项目上右击(刚才Dynamic Web Project membership设置的对象),从弹出的快捷菜单中选择Properties命令,展开Deployment Assembly节点,可以看到FirstWebFrag项目建构而成的FirstWebFrag.jar,将会自动部署至FirstServlet项目WEB-INF/lib中。
(6)在FirstWebFrag的src上右击,从弹出的快捷菜单中选择New | Servlet命令。
(4)弹出Create Servlet对话框,在Java package文本框中输入com.test,在Class name文本框中输入SecondServlet,单击Next按钮。
(5)选择URL mappings中的SecondServlet,单击右边的Edit按钮,将Pattern改为/hello2后,单击OK按钮。
(6)单击Create Servlet对话框中的Finish按钮。接着就可以编写一个Servlet的内容了。
(7)重新部署FirstServlet
(8)分别访问 http://localhost:8080/FirstServlet/hello 和 http://localhost:8080/FirstServlet/hello2
Eclipse创建第一个Servlet(Dynamic Web Project方式)、第一个Web Fragment Project(web容器向jar中寻找class文件)的更多相关文章
- web容器向jar中寻找资源
示例代码下载地址 https://files.cnblogs.com/files/Mike_Chang/web%E5%AE%B9%E5%99%A8%E5%90%91jar%E4%B8%AD%E5%AF ...
- 我在阿里这仨月 前端开发流程 前端进阶的思考 延伸学习的方式很简单:google 一个关键词你能看到十几篇优秀的博文,再这些博文中寻找新的关键字,直到整个大知识点得到突破
我在阿里这仨月 Alibaba 试用期是三个月,转眼三个月过去了,也到了转正述职的时间.回想这三个月做过的事情,很多很杂,但还是有重点. 本文谈一谈工作中遇到的各种场景,需要用到的一些前端知识,以及我 ...
- eclipse 创建Maven 架构的dynamic web project 问题解决汇总
Eclipse创建Maven结构的web项目的时候选择Artifact Id为maven-artchetype-webapp,点击finish之后,一般会遇到如下问题 1. The superclas ...
- 如何使用eclipse创建简单的servlet
Servlet是一种基于java开发的服务器程序,可以对外公布服务,如果是浏览器应用,可以通过浏览器打开网址的方式查看服务.创建servlet要继承httpservlet,并且在web.xml中配置拦 ...
- 【转】在Eclipse环境下配置Servlet开发环境
配置这个真心坑···浪费我一下午时间,而且去网上找了一圈资料发现都不靠谱呀= = 于是自己写一个,防止忘记了 一.配置前准备 你需要下载三个东西 Eclipse J2EE:http://www.ecl ...
- tomcat在eclipse创建过程分析
在本地eclipse上创建一个tomcat server 即tomcat服务器时, 会复制一份tomca安装目录中的conf文件下的配置文件到这个tomcat server目录下 这个tomcat s ...
- 如何用一个servlet处理多个请求
一个servlet处理多个请求,原理:利用反射机制获取在selvlet类中的其他方法1.前端页面<%@ page language="java" contentType=&q ...
- eclipse 创建dynamic web project不能运行
按照李刚<轻量级java ee企业应用实战>第三版,第二章的配置,发现eclipse 创建dynamic web project不能运行,原来作者第二章时还不是在eclipse中开发的,只 ...
- eclipse 创建Java web项目 Cannot change version of project facet Dynamic web module to xxx
问题描述: 用Eclipse创建Java web项目时选择的Artifact Id为maven-artchetype-webapp,由于这个archetype比较老,用的servlet还是2.3的. ...
随机推荐
- Django和DateTimeField
问一下大家,你们用ORM创建表的时候,DateTimeField字段中的数据取出来放在前端,你们都是怎么做的? 不满你们说,我以前要不然是使用默认的方法,要不然就是自己写个tag或者其他的来格式化一下 ...
- android-zip解压缩方法
/** * 解压缩文件到指定的目录. * * @param unZipfileName * 需要解压缩的文件(带路径) * @param mDestPath * 解压缩后存放的路径 **/ publi ...
- B+树 -- Java实现
一.B+树定义 B+树定义:关键字个数比孩子结点个数小1的树. 除此之外B+树还有以下的要求: B+树包含2种类型的结点:内部结点(也称索引结点)和叶子结点.根结点本身即可以是内部结点,也可以是叶子结 ...
- springboot-25-springboot 集成 ActiveMq
消息的发布有2种形式, 队列式(点对点) 和主题式(pub/sub) 模式, 队列式发布后, 接收者从队列中获取消息后, 消息就会消失, 但任意消费者都可以从队列中接受消息, 消息只能被接受一次 主题 ...
- 初识Docker和安装
什么是Docker Docker的构想是要实现“Build,Ship and Run Any App,Anywhere”,即通过对应用的封装(Packaging).分发(Distribution).部 ...
- [心平气和读经典]The TCP/IP Guide(005)
The TCP/IP Guide[Page 47, 48, 49] I created The TCP/IP Guide to provide you with an unparalleled bre ...
- 面试题20:搜索二叉树可能有两个元素发生了交换,如何恢复BST?
Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...
- MyEclipse2014破解方法
之前一直使用的MyEclipse2014过期了,无奈之下只能在网上搜怎么破解,结果很管用,在这里记录并和大家分享 https://jingyan.baidu.com/article/fdbd42771 ...
- RabbitMQ上手记录–part 4-节点集群(单机多节点)
现在互联网应用动不动就说要HA,好像不搞个HA都不好意思说自己的应用能承载高并发,大用户量访问.RabbitMQ这个经典的消息组件,也必然逃不掉单点失效的尴尬局面.当然在RabbitMQ在被广泛应用于 ...
- [codeup] 2046 八皇后
题目描述 会下国际象棋的人都很清楚:皇后可以在横.竖.斜线上不限步数地吃掉其他棋子.如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题. 对于某个满足要求的8 ...