配置Servlet两种方法以及特点详解
1、 传统web.xml文档中部署servlet
<servlet> <servlet-name>LifeServlet</servlet-name>//创建的servlet名字 <servlet-class>servlet.LifeServlet</servlet-class>//完整的包名+类名 </servlet> <servlet-mapping>//映射配置 <servlet-name>LifeServlet</servlet-name>//和上面的名字保持一致 <url-pattern>/LifeCycle</url-pattern>//servlet的映射路径 </servlet-mapping>
注意:如果有form表单和servlet有关联,<url-pattern>后面应填入与action参数相同,例如
<form action=”LifeCycle” method=”post”>
则<url-pattern>/LifeCycle</url-pattern>,注意/不能少!
2、 注解方式部署servlet
@WebServlet("/LifeServlet") public class LifeServlet extends HttpServlet{}
从浏览器发送请求时,会直接寻找@WebServlet后对应的url地址,调用并执行相应的servlet
3、 两种办法的优缺点
编辑xml文件:
优点:如果有多个servlet在同一个工程下,便于管理与修改
缺点:手工配置文件,容易导致错误,重复度太高,可读性差
注解部署:
优点:快速简洁,IDE会自动创建注解
缺点:如果有很多servlet文件,不好控制单独的servlet
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
详解servlet配置load-on-startup的作用
在servlet的配置当中,<load-on-startup>1</load-on-startup>的含义是:标记容器是否在启动的时候就加载这个servlet. 当值为0或者大于0时,表示容器在应用启动时就加载这个servlet:当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载. 正数的值越小,启动该servlet的优先级越高. 如果我们在web.xml中设置了多个servlet的时候,可以使用load-on-startup来指定servlet的加载顺序,服
-
Servlet+MyBatis项目转Spring Cloud微服务,多数据源配置修改建议
一.项目需求 在开发过程中,由于技术的不断迭代,为了提高开发效率,需要对原有项目的架构做出相应的调整. 二.存在的问题 为了不影响项目进度,架构调整初期只是把项目做了简单的maven管理,引入springboot并未做spring cloud微服务处理.但随着项目的进一步开发,急需拆分现有业务,做微服务处理.因此架构上的短板日益突出.spring cloud config 无法完全应用,每次项目部署需要修改大量配置文件.严重影响开发效率,因此便萌生了对项目架构再次调整的决心. 三.调整建议 为了
-
SpringBoot初始教程之Servlet、Filter、Listener配置详解
1.介绍 通过之前的文章来看,SpringBoot涵盖了很多配置,但是往往一些配置是采用原生的Servlet进行的,但是在SpringBoot中不需要配置web.xml的 因为有可能打包之后是一个jar包的形式,这种情况下如何解决?SpringBoot 提供了两种方案进行解决 2.快速开始 2.1 方案一 方案一采用原生Servlet3.0的注解进行配置.@WebServlet .@WebListener.@WebFilter是Servlet3.0 api中提供的注解 通过注解可以完全代替web
-
配置DispatcherServlet的方法介绍
DispatcherServlet是Spring MVC的前端控制器,要想在程序中使用DispatcherServlet,我们需要在web.xml中配置一个DispatcherServlet.配置的方法是,在web.xml文件中,配置一个<servlet>节点,它的子节点<servlet-name>可以自定义一个名字,例如sample,<servlet-class>指定为org.spring.springframework.web.servlet.DispatcherS
-
servlet配置方法及其生命周期详解
servlet配置: 在web.xml中,首先向服务器注册一个servlet.在<servlet>标签下 给定一个servlet名字,这个servlet-name是我们自己用的,方便我们用它对servlet进行配置. 1 <servlet-name>AServlet</servlet-name>然后指定一个全类名,这个是给服务器使用,服务器用来创建全类名对象的实例 1 <servlet-class>com.servlet.AServlet</servl
-
Servlet虚拟路径映射配置详解
在上一篇中我们初识了Servlet,相信大家对Servlet也都有了些了解,知道了如何创建一个Servlet,并且为其添加虚拟映射,最终发布项目,并在浏览器上请求对应的Servlet. 我们知道,只有给Servlet配置好虚拟路径,客户端才可以进行访问,但是对于Servlet的路径映射,真的只有现在所知的这么简单么? 答案当时是No了,不然怎么会有这篇文章
-
quartz实现定时功能实例详解(servlet定时器配置方法)
Quartz是一个完全由java编写的开源作业调度框架,具体的介绍可到http://www.opensymphony.com/quartz/官方网站查看. Quartz的几个核心的接口和类为: Job接口:自己写的"定时程序"实现此接口的void execute(JobExecutionContext arg0)方法,Job还有一类为有状态的StatefulJob接口,如果我们需要在上一个作业执行完后,根据其执行结果再进行下次作业的执行,则需要实现此接口.Trigger抽象类:调度类(
-
配置Servlet两种方法以及特点详解
1. 传统web.xml文档中部署servlet <servlet> <servlet-name>LifeServlet</servlet-name>//创建的servlet名字 <servlet-class>servlet.LifeServlet</servlet-class>//完整的包名+类名 </servlet> <servlet-mapping>//映射配置 <servlet-name>LifeSer
-
使用Python将图片转正方形的两种方法实例代码详解
一.将原图粘贴到一张正方形的背景上 def trans_square(image): r"""Open the image using PIL.""" image = image.convert('RGB') w, h = image.size background = Image.new('RGB', size=(max(w, h), max(w, h)), color=(127, 127, 127)) # 创建背景图,颜色值为127 leng
-
js截取字符串的两种方法及区别详解
var long2="1988-0w-07"; alert(long2.substring(0,4)+"------"+long2.substring(5,6)); 1988------0 alert(long2.substr(0,4)+"------"+long2.substr(5,2)); 1988-----0w substring 截取的时候坐标 包括前边 不包括后边 substr 截取字符串前边参数的坐
-
Spring依赖注入(DI)两种方式的示例详解
目录 一.依赖注入方式 二.setter注入 引用类型 简单类型 三.构造器注入 引用类型 简单类型 参数适配(了解) 四.依赖注入方式选择 一.依赖注入方式 思考:向一个类中传递数据的方式有几种? 普通方法(set方法) 构造方法 思考:依赖注入描述了在容器中建立bean与bean之间依赖关系的过程,如果bean运行需要的是数字或字符串呢? 引用类型 简单类型(基本数据类型与String) 依赖注入方式: setter注入 简单类型 引用类型 构造器注入 简单类型 引用类型 二.setter注
-
MySQL两种临时表的用法详解
外部临时表 通过CREATE TEMPORARY TABLE 创建的临时表,这种临时表称为外部临时表.这种临时表只对当前用户可见,当前会话结束的时候,该临时表会自动关闭.这种临时表的命名与非临时表可以同名(同名后非临时表将对当前会话不可见,直到临时表被删除). 内部临时表 内部临时表是一种特殊轻量级的临时表,用来进行性能优化.这种临时表会被MySQL自动创建并用来存储某些操作的中间结果.这些操作可能包括在优化阶段或者执行阶段.这种内部表对用户来说是不可见的,但是通过EXPLAIN或者SHOW S
-
java 正则,object中两个方法的使用(详解)
正则: "."和"\" "."点儿,在正则表达式中表示任意一个字符. "\"在正则表达式中是转意字符,当我们需要描述一个已经被正则表达式使用的特殊字符时,我们就可以通过使用"\"将其转变为原本的意思. "\"在正则表达式中也有一些预定义的特殊内容: \d:表示任意一个数字 \w:表示任意一个单词字符(只能是 数字,字母,下划线) \s:表示任意一个空白字符(\t \r \n \f \x0
-
Android 中倒计时验证两种常用方式实例详解
Android 中倒计时验证两种常用方式实例详解 短信验证码功能,这里总结了两种常用的方式,可以直接拿来使用.看图: 说明:这里的及时从10开始,是为了演示的时间不要等太长而修改的. 1.第一种方式:Timer /** * Description:自定义Timer * <p> * Created by Mjj on 2016/12/4. */ public class TimeCount extends CountDownTimer { private Button button; //参数依
-
bootstrap paginator分页插件的两种使用方式实例详解
分页有两种方式: 1. 前台分页:ajax一次请求获取全部数据,适合少量数据(万条数据以下): $.ajax({ type: "GET", url: "",//后台接口地址 dataType: "json", success: function (msg) { var pages = Math.ceil(msg.data / 5);//data是数据总量 var element = $('#id');//对应ul的id element.boots
-
Java 添加Word目录的2种方法示例代码详解
目录是一种能够快速.有效地帮助读者了解文档或书籍主要内容的方式.在Word中,插入目录首先需要设置相应段落的大纲级别,根据大纲级别来生成目录表.本文中生成目录分2种情况来进行: 1.文档没有设置大纲级别,生成目录前需要手动设置 2.文档已设置大纲级别,通过域代码生成目录 使用工具: •Free Spire.Doc for Java 2.0.0 (免费版) •IntelliJ IDEA 工具获取途径1:通过官网下载jar文件包,解压并导入jar文件到IDEA程序. 工具获取途径2:通过Maven仓
-
Springboot整合MongoDB进行CRUD操作的两种方式(实例代码详解)
1 简介 Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库.两者在分布式.微服务架构中使用率极高,本文将用实例介绍如何在Springboot中整合MongoDB的两种方法:MongoRepository和MongoTemplate. 代码结构如下: 2 项目准备 2.1 启动MongoDB实例 为了方便,使用Docker来启动MongoDB,详细指导文档请参考:基于Docker的MongoDB实现授权访问的方法,这里不再赘述. 2.2 引入相关依赖
随机推荐
- 在不刷新页面的情况下调用远程asp脚本
- 新手看招:避免网络 IP 地址被非法修改
- vbs Windows系统改变或修改网卡的MAC地址的脚本与软件第1/2页
- Perl遍历目录和使用Linux命令分析日志的代码实例分享
- 实例分析js和C#中使用正则表达式匹配a标签
- Python实现自动登录百度空间的方法
- 跟老齐学Python之编写类之三子类
- js获取元素的偏移量offset简单方法(必看)
- nodejs制作爬虫实现批量下载图片
- JavaScript实现将数组中所有元素连接成一个字符串的方法
- jquery append与appendTo方法比较
- 锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
- Android树形控件绘制方法
- 详解Java多线程编程中LockSupport类的线程阻塞用法
- PHP多维数组元素操作类的方法
- 利用PHP将部分内容用星号替换
- php使用get_class_methods()函数获取分类的方法
- Android通过Movie展示Gif格式图片
- Android中使用Notification实现状态栏的通知
- iOS tableView实现下拉图片放大效果