首页 > 其他分享 >Spring-Boot 整合 J2EE Web组件

Spring-Boot 整合 J2EE Web组件

时间:2023-10-06 20:32:34浏览次数:40  
标签:Web J2EE SpringBoot Spring args Filter bean Override public

一,整合Servlet

1,通过注解扫描完成Servlet组件的注册

1.1编写servlet
/**
*SpringBoot整合Servlet方式一
*
*<servlet>
*<servlet-name>FirstServlet</servlet-name>
*<servlet-class>com.bjsxt.servlet.FirstServlet</servlet-class>
*</servlet>
*
*<servlet-mapping>
* <servlet-name>FirstServlet</servlet-name>
* <url-pattern>/first</url-pattern>
*</servlet-mapping>
*
*/

@WebServlet(name="FirstServlet",urlPatterns="/first")
public class FirstServlet extendsHttpServlet {

  @Override
  protected voiddoGet(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException {
    // TODOAuto-generated method stub
    super.doGet(req, resp);
  }
}
1.2编写启动类

这里启动类就一个普通的启动类

/**
* SpringBoot整合Servlet方式一
*
*
*/
@SpringBootApplication
@ServletComponentScan //在springBoot启动时会扫描@WebServlet,并将该类实例化
public classApp {

  public static voidmain(String[] args) {
  	SpringApplication.run(App.class, args);
  }

}


2,通过方法完成Servlet组件的注册

2.1编写servlet

这里Servlet没有额外的标签

/**
*SpringBoot整合Servlet方式二
*
*/

public class SecondServlet extendsHttpServlet {

  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException {
  System.out.println("SecondServlet..........");
  }

}


2.2编写启动类

通过@Bean,增加Servlet的Bean的注册

/**

* SpringBoot整合Servlet方式二

*

*

*/

@SpringBootApplication

public classApp2 {


public static voidmain(String[] args) {

SpringApplication.run(App2.class, args);

}


@Bean

publicServletRegistrationBean getServletRegistrationBean(){

ServletRegistrationBean bean= newServletRegistrationBean(newSecondServlet());

bean.addUrlMappings("/second");

return bean;

}

}


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;

import com.bjsxt.servlet.SecondServlet;

/**
 * SpringBoot整合Servlet方式二
 *
 *
 */
@SpringBootApplication
public class App2 {

	public static void main(String[] args) {
		SpringApplication.run(App2.class, args);
	}
	
	@Bean
	public ServletRegistrationBean getServletRegistrationBean(){
		ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());
		bean.addUrlMappings("/second");
		return bean;
	}
}


二,整合Filter

1,通过注解扫描完成Filter组件的注册

1.1编写Filter
/**
*SpringBoot整合Filter 方式一
*<filter>
*<filter-name>FirstFilter</filter-name>
*<filter-class>com.bjsxt.filter.FirstFilter</filter-class>
*</filter>
*<filter-mapping>
*<filter-name>FirstFilter</filter-name>
*<url-pattern>/first</url-pattern>
*</filter-mapping>
*/
//@WebFilter(filterName="FirstFilter",urlPatterns={"*.do","*.jsp"})
@WebFilter(filterName="FirstFilter",urlPatterns="/first")
public classFirstFilter implementsFilter {

@Override
public voiddestroy() {
// TODOAuto-generated method stub

}
@Override
public voiddoFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throwsIOException, ServletException {
System.out.println("进入Filter");
arg2.doFilter(arg0, arg1);
System.out.println("离开Filter");
}

@Override
public voidinit(FilterConfig arg0) throwsServletException {
// TODOAuto-generated method stub
}
}


1.2编写启动类
/**
*SpringBoot整合Filter 方式一
*
*/
@SpringBootApplication
@ServletComponentScan
public classApp {

public static voidmain(String[] args) {
SpringApplication.run(App.class, args);

}

}



2,通过方法完成Filter组件的注册

2.1编写Filter
/**
* 
*SpringBoot整合Filter 方式二
*
*/
public classSecondFilter implementsFilter {
@Override
public voiddestroy() {
// TODOAuto-generated method stub
}
@Override
public voiddoFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throwsIOException, ServletException {
System.out.println("进入SecondFilter");
arg2.doFilter(arg0, arg1);
System.out.println("离开SecondFilter");
}

@Override
public voidinit(FilterConfig arg0) throwsServletException {
// TODOAuto-generated method stub
}
}


2.2编写启动类
/**
* SpringBoot整合Filter方式二
*
*
*/
@SpringBootApplication
public classApp2 {

public static voidmain(String[] args) {
SpringApplication.run(App2.class, args);
}

/**
* 注册Servlet
* @return
*/
@Bean
publicServletRegistrationBean getServletRegistrationBean(){
ServletRegistrationBean bean= newServletRegistrationBean(newSecondServlet());
bean.addUrlMappings("/second");
return bean;
}

/**
* 注册Filter
*/
@Bean
publicFilterRegistrationBean getFilterRegistrationBean(){
FilterRegistrationBean bean= newFilterRegistrationBean(newSecondFilter());
//bean.addUrlPatterns(new String[]{"*.do","*.jsp"});
bean.addUrlPatterns("/second");
return bean;
}
}



三,整合Listener

1,通过注解扫描完成Listener组件的注册

1.1编写Listener
/**
* springBoot整合Listener
*
*<listener>
*<listener-class>com.bjsxt.listener.FirstListener</listener-class>
*</listener>
*/
@WebListener
public classFirstListener implementsServletContextListener {

@Override
public voidcontextDestroyed(ServletContextEvent arg0) {
// TODOAuto-generated method stub

}

@Override
public voidcontextInitialized(ServletContextEvent arg0) {
System.out.println("Listener...init......");

}

}



1.2编写启动类
/**
* springBoot整合Listener方式一
*
*
*/
@SpringBootApplication
@ServletComponentScan
public classApp {

public static voidmain(String[] args) {
SpringApplication.run(App.class, args);
}

}



2. 通过方法完成Listener组件注册

2.1编写Listener
/**
* springBoot整合Listener方式二。
*
*
*/
public classSecondListener implementsServletContextListener {

@Override
public voidcontextDestroyed(ServletContextEvent arg0) {
// TODOAuto-generated method stub
}

@Override
public voidcontextInitialized(ServletContextEvent arg0) {
System.out.println("SecondListener..init.....");
}

}



2.2编写启动类
/**
* SpringBoot整合Listener方式二
*
*
*/
@SpringBootApplication
public classApp2 {

public static voidmain(String[] args) {
SpringApplication.run(App2.class, args);

}
/**
* 注册listener
*/
@Bean
publicServletListenerRegistrationBean<SecondListener> getServletListenerRegistrationBean(){
ServletListenerRegistrationBean<SecondListener> bean= newServletListenerRegistrationBean<SecondListener>(newSecondListener());
return bean;
}
}




四,访问静态资源

1. SpringBoot从classpath/static的目录

注意目录名称必须是static

标签:Web,J2EE,SpringBoot,Spring,args,Filter,bean,Override,public
From: https://blog.51cto.com/u_15590807/7727464

相关文章

  • SpringBoot
    SpringBoot存在的意义就是让我们更好的使用Spring,简化了使用Spring的过程,主要就是把原来的多个Spring配置文件(.properties,.xml等)变成一个配置文件优点:1.快速构建项目2.对主流开源框架配置集成3.项目可独立运行,无需依赖外部web容器4.提供运行时的应用监控5.极大的提高了开......
  • SpringMVC
    MVC:模型(model),视图(view),控制器(controller)SpringMVC是SprIng框架的web组件拦截器是类似于过滤器的OSI七层模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层TCP/IP协议四层:网络接口层,网络层,传输层,应用层JAVAEE三层:持久层,业务层,表现层SpringMVC工作流程核心: ......
  • springboot项目-前台往后台传递json数据
    1、json数据对应实体类,用实体类接收----------------------------前台----------------------------------$.ajax({type:"POST",url:"/monster/updateMonster",contentType:"application/json",data:JSON.stringify(monster1),success:......
  • Spring AOP
    引言要掌握SpringAOP框架,需要弄明白AOP的概念。AOP概念AOP(AspectOrientedProgramming的缩写,翻译为面向方面或面向切面编程),通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用AOP可以对业务逻辑的各个部分隔离,从而使的业务逻辑各部分的耦合性降......
  • Spring IoC
    引言要明白SpringIoC容器的作用,就必须先弄明白IoC(控制反转)和DI(依赖注入)这两个概念。IoC概念IoC(控制反转)就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责,这样控制权就由应用转移到了外部容器,控制权的转移就是所谓的反转。控制权转移带来的......
  • SpringBoot整合mybatisplus总结
      最近学习了一些springboot的知识后,开始了对于mybatis的学习,在运用这个框架方面,我选择跟随网上的资料进行整合,遇到了一些问题,并通过自己的查阅资料以及探索,解决了问题。下面概括一下mybatisplus框架的作用,以及应用,并对我学习时遇到的一些问题进行说明。  MyBatis-Plus(简......
  • 4. spring完全注解开发,独立配置,不使用xml
    user类: 转换结果: 注入参数还是上一篇所说的方法  支持最低版本spring4.1运行方法要有所改变:原来的://获取配置文件ApplicationContextcontext=newClassPathXmlApplicationContext("application.xml");//配置文件自动扫描z......
  • springboot中的代码生成器
    springboot可以集成MyBatis-Plus代码生成器,如何想要快速开发或者考试可以试用一下。我参看下面这篇博客弄的:Mybatis-Plus自动生成代码,自定义Controller_mybatisplus生成controller-CSDN博客有些好用 ......
  • SpringBoot
    1什么是springboot?用来简化spring应用的初始搭建以及开发过程使用特定的方式来进行配置(properties或yml文件)创建独立的spring引用程序main方法运行嵌入的Tomcat无需部署war文件简化maven配置自动配置spring添加对应功能starter自动化配置springboot来简化spring应用开......
  • Spring Boot请求响应:实战指南
    今天主要围绕着:请求、响应进行,主要包含两部分:请求响应1.请求我们主要讲解,如何接收页面传递过来的请求数据。1.1Postman之前我们课程中有提到当前最为主流的开发模式:前后端分离网站工作流程介绍在这种模式下,前端技术人员基于"接口文档",开发前端程序;后端技术人员也基于"接口文档",......