转:springboot servlet使用配置

转自:

springboot servlet使用配置_奔跑的蜗牛的博客-CSDN博客在spring boot中添加自己的Servlet有两种方法,代码注册Servlet和注解自动注册(Filter和Listener也是如此)。 一、代码注册通过ServletRegistrationBean 获得控制。 也可以通过实现 ServletContextInitializer 接口直接注册。package com.kerry.servlet;import java.ihttps://blog.csdn.net/lr131425/article/details/76269788


在spring boot中添加自己的Servlet有两种方法,代码注册Servlet和注解自动注册(Filter和Listener也是如此)。

【1】手动注册servlet

一、代码注册通过ServletRegistrationBean 获得控制。  也可以通过实现 ServletContextInitializer 接口直接注册。

 

package com.kerry.servlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class MyServlet1 extends HttpServlet{private static final long serialVersionUID = 8031133938454140403L;@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {resp.setContentType("text/html");  PrintWriter out = resp.getWriter();  out.println("<html>");  out.println("<head>");  out.println("<title>Hello World</title>");  out.println("</head>");  out.println("<body>");  out.println("<h1>welcome this is my servlet1!!!</h1>");  out.println("</body>");  out.println("</html>"); }}
package com.kerry.configure;import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import com.kerry.servlet.MyServlet;
import com.kerry.servlet.MyServlet1;@Configuration
public class ServletConfigure {/*** 代码注册servlet(不需要@ServletComponentScan注解)* @return*/@Beanpublic ServletRegistrationBean servletRegistrationBean() {return new ServletRegistrationBean(new MyServlet1(), "/servlet/myServlet1");// ServletName默认值为首字母小写,即myServlet1}/*** 多个servlet就注册多个bean* @return*/@Beanpublic ServletRegistrationBean servletRegistrationBean1() {return new ServletRegistrationBean(new MyServlet(), "/servlet/myServlet");// ServletName默认值为首字母小写,即myServlet}}

 


【2】使用WebServlet 注解

1 Application上加上@ServletComponentScan注解

package com.kerry;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;@SpringBootApplication
@MapperScan("com.kerry.mapper")
@ServletComponentScan
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

2 servlet上加上@WebServlet注解

package com.kerry.servlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** 注解使用servlet 需要在Application上加入 @ServletComponentScan* @author Administrator**/
@WebServlet(name="myServlet",urlPatterns="/servlet/myServlet")
public class MyServlet extends HttpServlet{private static final long serialVersionUID = 8031133938454140403L;@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {resp.setContentType("text/html");  PrintWriter out = resp.getWriter();  out.println("<html>");  out.println("<head>");  out.println("<title>Hello World</title>");  out.println("</head>");  out.println("<body>");  out.println("<h1>welcome this is my servlet!!!</h1>");  out.println("</body>");  out.println("</html>"); }}

3) 附上项目结构

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329771.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端面试常考系列五

转载自 前端面试常考五 一、DIV元素是什么 DIV元素是用来为HTML文档内大块&#xff08;block-level&#xff09;的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的&#xff0c;其中所包含元素的特性由DIV标签的属性来控制&#xff0c;或…

从业十余年谈谈对dotnet看法与坚持

前言 园子经常在讨论关于.Net发展的问题&#xff0c;我也这些年在工作乃至创业过程中使用.Net碰到的一些问题和看法。个人擅长的技术面&#xff0c;C/C/MFC/STL、ASM、JAVA、VB、Javascript/Typescript、C#/WebForm/MVC、Android/MonoDroid,Linux/Windows&#xff0c;还有没有可…

kali安装python3.7_Debian服务器之安装Python3.7

1、系统环境介绍1.1 系统版本debian-9.6.0-amd64-netinst1.2 系统内核Linux lnnkee 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux2、下载安装包https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz3、配置安装环境apt install libffi-dev …

org.apache.kafka.common.errors.TimeoutException: Topic not present in metadata 解决方法

【README】 本文po出了 topic not present in metadata 的解决方法&#xff1b; 很多博文说是 因为 jackson-databind 没有引入&#xff0c;但是我重新引入后&#xff0c;还是没有解决问题&#xff1b; 最后&#xff0c;原因在于我要发送消息的分区&#xff0c;topic 没有对…

前端面试常考系列六

转载自 前端面试常考系列六 一、为什么重置浏览器默认样式&#xff0c;如何重置 每种浏览器都有一套默认的样式表&#xff0c;即user agent stylesheet&#xff0c;网页在没有指定的样式时&#xff0c;按浏览器内置的样式表来渲染。这是合理的&#xff0c;像word中也有一些预留…

Microsoft将Linux带至桌面操作系统

在今天的Build大会上Microsoft宣布&#xff1a;今年的Windows 10年度更新将使得Windows 10系统能够无缝运行Linux二进制程序。多年来&#xff0c;专家与开发者都在猜测&#xff0c;Linux如何以及何时才能在普通PC用户的桌面系统中更加流行。从今天的新闻来看&#xff0c;似乎Mi…

kafka控制器,复制与存储小结

【README】 1&#xff0c;本文主要总结kafka复制&#xff0c;存储细节&#xff1b;2&#xff0c;本文的kafka集群版本是3.0.0&#xff0c; 有3个broker&#xff0c;分别是 centos201, centos202, centos203 对应的brokerid为 1&#xff0c; 2, 3 &#xff1b;【1】kafka内部原…

python开发stm32软件_ADB+Python+STM32 实现 微信跳一跳辅助

说明:安卓手机开启USB调试模式&#xff0c;具体如何开启&#xff0c;百度自己手机即可安装ADB工具安装python2.7步骤&#xff1a;1、安装adb工具下载地址&#xff1a;https://download.csdn.net/download/qq_29769263/10420731下载后解压到便于记忆的地方即可&#xff0c;以解压…

不装mono,你的.NET程序照样可以在Linux上运行

让.NET应用程序在linux上运行&#xff0c;目前通用的做法就是在Linux上安装mono&#xff0c;然后通过”mono your.exe“命令运行这个程序。 这种运行.net程序的办法有两个弱点&#xff0c;一个是需要客户机安装mono&#xff0c;二个是 ”mono xx.exe“ 这种命令行总让人感到有点…

JAVA面试常考系列一

转载自 JAVA面试常考系列一 题目一 什么是Java虚拟机&#xff1f;为什么Java被称为平台无关的编程语言&#xff1f; java虚拟机是一个可以执行字节码文件&#xff08;.class&#xff09;的虚拟机进程。 为什么java与平台无关呢&#xff1f;因为java源程序&#xff08;.java&…

转:运维监控系统-监控项及指标的梳理

转自&#xff1a; 运维监控系统-监控项及指标的梳理_程序员杂谈-CSDN博客_运维监控指标综合监控功能工具 综合监控工具完成对被管对象的集中监控、集中维护和集中管理&#xff0c;被管对象包括网络设备、服务器、PC设备、数据库、中间件、存储、备份、安全设备、应用系统等。工…

圆心角 圆弧上点坐标_数控加工中心CNC的G02/G03圆弧指令的I、J、与R的区别

G02&#xff1a;顺&#xff08;CW&#xff09;圆弧插补G03&#xff1a;逆&#xff08;CCW&#xff09;圆弧插补根据所选择的X、Y平面&#xff0c;指令格式如下两种&#xff1a;G17 G02/G03 X_ Y_ I_ J_ F_;G17 G02/G03 X_ Y_ R_ F_;定义方式&#xff1a;依右手坐标系统&#xf…

AutoMapper 使用实践

一. 使用意图 常常在开发过程中&#xff0c;碰到一个实体上的属性值&#xff0c;要赋值给另外一个相类似实体属性时&#xff0c;且属性有很多的情况。一般不利用工具的话&#xff0c;就要实例化被赋值实体B&#xff0c;然后再将实体A的字段一个个赋值给B的属性&#xff0c;单…

kafka可靠数据传递

【README】 本文阐述了kafka可靠消息传递机制&#xff1b; 本文部分内容总结于《kafka权威指南》&#xff08;一本好书&#xff0c;墙裂推荐&#xff09;&#xff0c;再加上自己的理解&#xff1b; 【1】可靠性保证 1&#xff0c;在讨论可靠性时&#xff0c;一般使用保证这个…

JAVA面试常考系列二

转载自 JAVA面试常考系列二 题目一 解释一下线程和进程 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上…

雨滴桌面时间插件_Win10美化向——如何搭配你的桌面

// 2020-02-11 //桌面这个东西大家肯定不陌生了&#xff0c;很多人的桌面都如下。_______滑动查看更多图片这多重水印是什么鬼&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;还有很多网友呢&#xff0c;也美化了一下自己的桌面。不过呢严格来说&#xff0c;这应…

python画建筑_专题 | Python 绘图入门

我的施工之路Python 绘图入门这是施工系列第18篇&#xff0c;同时也进入到一个新的阶段&#xff1a;Python绘图篇。作为绘图模块的第一篇&#xff0c;与大家一起过过最基本的Python绘图原理。掌握基本的绘图原理很有必要&#xff0c;各个常用绘图库的原理基本都是相通的。所以了…

最新版dotnet-cli下的ASP.NET Core和asp.net mvc【RC2尝鲜】

RC1是http://get.asp.net里面提供的https://docs.asp.net/en/latest/getting-started/index.html&#xff0c;使用旧的ASP.NET Core 1.0。这个版本会使用dnvm&#xff0c;dnu restore和dnx web等&#xff0c;而RC2则不需要&#xff0c;RC2只需要dotnet restore和dotnet run&…

kafka生产者开发方式

【README】 本文记录了 kafka生产者开发方式&#xff1b; 【1】生产者概览 【1.1】kafka发送消息过程 【1.2】创建kafka生产者 1&#xff09;创建kafka生产者&#xff0c; 有3个必选属性&#xff1a; bootstrap.servers&#xff1a; kakfa集群节点地址&#xff1b;key.seri…

JAVA面试常考系列三

转载自 JAVA面试常考系列三 题目一 什么是迭代器(Iterator)&#xff1f; 迭代器&#xff08;iterator&#xff09;是一种对象&#xff0c;它能够用来遍历标准模板库容器中的部分或全部元素&#xff0c;每个迭代器对象代表容器中确定的地址。迭代器提供了一种方法&#xff0c;可…