spring 整合 servlet

目的:记录spring整合 servlet过程demo。(企业实际开发中可能很少用到),融会贯通。

前言:在学习spring 过程(核心 ioc,aop,插一句 学了spring 才对这个有深刻概念, 在net时候都是直接使用,不得不说 java 还是深刻点)过程中,我们基本上都是在test中测试如图

环境:IDEA

但是,开发中是 spring容器 是共享的,其他地方直接调用,这里就涉及到spring和其他的整合,此文servlet 为测试点。

1:新建servlet 过程参考,https://www.cnblogs.com/y112102/p/11338610.html

2:导入jar包。(4个核心,一个依赖)后期开发推荐使用 Maven,后面在测试,示logging找不到  , 日志也要导入

   2.1: spring-web 也要记得

在复习一遍:

1:    基础:4+1 , beans、core、context、expression , commons-logging
2:    AOP:aop联盟、spring aop 、aspect规范、spring aspect
3:    db:jdbc、tx(事务)
4:    测试:test
5:    web开发:spring web

3:web.xml 配置文件如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <!-- 确定配置文件位置:
        classpath: src 或者classes 目录下-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

    <!-- 配置spring 监听器,加载xml配置文件
         目的:tomcat启动的时候会自动根据配置文件创建 spring对象-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>HelloServlet</servlet-class>
    </servlet>

    <!-- 浏览器访问 hello 找到HelloServlet 请求  -->
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>

</web-app>

3.2 参考3.1配置文件 新建 HelloServlet 不要过多解释,如图:

import org.springframework.context.ApplicationContext;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Date;
/**
 * Create by  on 2019-09-10
 *
 * @author lsw
 */
public class HelloServlet extends HttpServlet {

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response){

        try {

            // 从application作用域(ServletContext)获得spring容器
            //方式1: 手动从作用域获取 getAttribute返回的Object类型 需要强转
            ApplicationContext applicationContext =
                    (ApplicationContext) this.getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);

            //方式2:通过工具获取
            ApplicationContext apppApplicationContext2 =
                    WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());

            //从容器中取Bean的实例
            var c =  applicationContext.getBean("AddressId", Address.class);
            System.out.println(  c.toString() );

            response.getWriter().println("<h1>Hello Servlet!</h1>");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

最后启动运行结果:

控制台:

总结:

servlet :web层,这里将来是spring mvc ,有很多选择 比如 struts(现在也很少用到了)

mybatis:dao层,知识点杂

spring:service层

java 入门 坚持下,你会发现很简单的,特别是net开发者,接触java 后才去理解net的开发方式 又会有另一番心得。

所有的都是围绕次服务 ,扩展的。

原文地址:https://www.cnblogs.com/y112102/p/11498564.html

时间: 2024-11-10 14:36:55

spring 整合 servlet的相关文章

[刘阳Java]_Spring整合Servlet【补充】_第14讲

这篇内容我们给大家介绍一下Spring框架如何整合Servlet.光看表面现象这个问题感觉没有什么太大难度,但是实际在整合过程中不是那么轻松 既然是以补充的方式来介绍,那么我们就直接上一个案例来说明整合实现的步骤 1. 案例要求 通过Spring框架注解方式来打通控制层,业务逻辑层,数据访问层之间的依赖关系 控制层采用Servlet来完成对用户请求与相应的处理 然后在Servlet中通过@Autowired方式来依赖注入业务逻辑层 业务逻辑层也是通过@Autowired方式来依赖注入数据访问层

springMVC+MyBatis+Spring 整合(3)

spring mvc 与mybatis 的整合. 加入配置文件: spring-mybaits.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xm

spring 整合 spring mvc

需要进行 Spring 整合 SpringMVC 吗 ? 还是否需要再加入 Spring 的 IOC 容器 ? 是否需要再 web.xml 文件中配置启动 Spring IOC 容器的 ContextLoaderListener ? 1. 需要: 通常情况下, 类似于数据源, 事务, 整合其他框架都是放在 Spring 的配置文件中(而不是放在 SpringMVC 的配置文件中). 实际上放入 Spring 配置文件对应的 IOC 容器中的还有 Service 和 Dao. 2. 不需要: 都放

【jersey】 spring 整合jersey 实现RESTful webservice

Jersey是一个RESTFUL请求服务JAVA框架,与常规的JAVA编程使用的struts框架类似,它主要用于处理业务逻辑层.与Struts类似,它同样可以和hibernate,spring框架整合. 由于Struts2+hibernate+spring整合在市场的占有率太高,所以很少一部分人去关注Jersey.所以网上有关于Jersey的介绍很少.但是它确实是一个非常不错的框架.对于请求式服务,对于GET,DELETE请求,你甚至只需要给出一个URI即可完成操. jar 文件依赖: <pro

Spring整合CXF,发布RSETful 风格WebService(转)

Spring整合CXF,发布RSETful 风格WebService 这篇文章是承接之前CXF整合Spring的这个项目示例的延伸,所以有很大一部分都是一样的.关于发布CXF WebServer和Spring整合CXF这里就不再多加赘述了.如果你对Spring整合CXF WebService不了解,具体你可以参看这两篇文章: http://www.cnblogs.com/hoojo/archive/2011/03/30/1999563.html http://www.cnblogs.com/ho

spring整合velocity 配置文件中的属性

spring整合velocity 配置文件中的相关属性 1 <bean id= "viewResolver" class= "org.springframework.web.servlet.view.velocity.VelocityViewResolver" > 2 <!-- 是否缓存模板 --> 3 <property name ="cache" value="false" /> 4 5

spring整合mybatis错误:class path resource [config/spring/springmvc.xml] cannot be opened because it does not exist

spring 整合Mybatis 运行环境:jdk1.7.0_17+tomcat 7 + spring:3.2.0 +mybatis:3.2.7+ eclipse 错误:class path resource [config/spring/springmvc.xml] cannot be opened because it does not exist 错误原因:找不到我的springmvc.xml,在下面web.xml中是我引用路径,网上找到问题classpath指向路径不是resource路

Spring整合MyBatis完整示例

为了梳理前面学习的内容<Spring整合MyBatis(Maven+MySQL)一>与<Spring整合MyBatis(Maven+MySQL)二>,做一个完整的示例完成一个简单的图书管理功能,主要使用到的技术包含Spring.MyBatis.Maven.MySQL及简单MVC等.最后的运行效果如下所示: 项目结构如下: 一.新建一个基于Maven的Web项目 1.1.创建一个简单的Maven项目,项目信息如下: 1.2.修改层面信息,在项目上右键选择属性,再选择“Project

Spring整合CXF之发布WebService服务

今天我们来讲下如何用Spring来整合CXF,来发布WebService服务: 给下官方文档地址:http://cxf.apache.org/docs/writing-a-service-with-spring.html 根据官方文档.我们把前面的实例用Spring整合CXF来处理下.会简化很多: 首先我们来建一个Maven项目 WebService_CXF 建好项目第一步,我们打开pom.xml 我们来添加下Spring支持: <!-- 添加Spring支持 --> <dependen