0


Spring中的监听器与SpringMVC简述

** 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站**前言 – 床长人工智能教程正在上传…重新上传取消https://www.cbedai.net/gkbskchttps://www.cbedai.net/gkbskc

Spring中的监听器

前一篇写出的手动实现的监听器,Spring提供了一个监听器ContextLoderListener就是对上述功能的封装,该监听器内部加载Spring配置文件,创建应用上下文对象,并存储到ServletContext域中,提供一个客户亿工具WebApplicationContextUtils供使用者获得上下文对象

要使用监听器,需要做两件事

①:在web.xml中配置ContextLoaderListener监听器(导入spring-web坐标)

②:使用WebApplicationContextUtils获得应用上下文对象 ApplicationContext

在pim.xml中导入坐标

  <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>

web.xml中


<!--全局初始化参数-->
    <context-param>
     <!--name和value为任意  -->
        <param-name>ContextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

    <!--配置监听器-->
    <listener>
<!--        <listener-class>com.Listener.ContextLoaderListener</listener-class>-->
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    </listener>

userServlet类中,使用WebApplicationUtils获得上下文


@WebServlet("/user")
public class UserServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //   ApplicationContext app= new ClassPathXmlApplicationContext("applicationContext.xml");
        ServletContext servletContext = req.getServletContext();
        //ApplicationContext app = (ApplicationContext) servletContext.getAttribute("app");
     //变动处
        //ApplicationContext app = WebApplicationContextUtils.getApplicationContext(servletContext);
        WebApplicationContext app = WebApplicationContextUtils.getWebApplicationContext(servletContext);
        UserService userService=app.getBean(UserService.class);

    }
}

这样就成功使用了spring给我们提供的监听器。

SpringMVC概述

SpringMVC(M:Model模型,V:views视图,C:Controller控制器)是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow中。

SpringMVC已经成为目前最主流的MVC框架之一,并且随着Spring3.0的发布,全面超越Struct2,成为最优秀的MVC框架,他通过一套注解,让一个简单的Java类成为处理请求的控制器,而无须实现任何接口,同时他还支持RESTful编程分格的请求

web层的框架完成的相应的操作图示

SpringMVC的核心是前端控制器,SpringMVC使用Servlet充当前端控制器

SpringMVC开发使用步骤

需求::客户端发起请求,服务器接受请求,执行逻辑并进行视图跳转。

1、先导入SpringMVC的相关坐标

2、配置SpringMVC核心控制器DispathcerServlet

3、创建Controller类和视图界面

4、使用注解配置Controller类中业务方法的映射地址

5、配置SpringMVC核心文件spring-mvc.xml

6、客户端发起请求测试

②、导入坐标

      <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>

②、配置控制器

<!-- 配置spring的前端控制器   -->
    <servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 设置控制器服务器开始就启动,没有设置则第一次访问才创建对象-->
        <load-on-startup>1</load-on-startup>
    </servlet>
<servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

③、创建controller视图和视图界面④、使用注解映射地址

创建一个controller包,包下创建一个userController类,类中

package com.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

//配置类,使用注解把这个类放到容器中
@Controller
public class userController {

//用注解给这个方法请求映射某个地址
    @RequestMapping("/quick")
    public String save(){
        System.out.println("controller save running");
       //就会跳转到KCandZH.jsp这个页面上去
        return "KCandZH.jsp";
    }
}

在webapp下创建一个KCandZH.jsp页面

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%
    String path = request.getContextPath();
    String basepath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<html>
<head>
    <base href="<%=basepath %>"/>
    <meta charset="utf-8"/>
    <title>Insert title here</title>
</head>
<body>
kCandZH forever
</body>
</html>

⑤、配置核心spring-mvc.xml(web.xml中)

<!-- 配置spring的前端控制器   -->
    <servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 设置配置SpringMVC核心文件spring-mvc.xml-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <!-- 设置控制器服务器开始就启动,没有设置则第一次访问才创建对象-->
        <load-on-startup>1</load-on-startup>
    </servlet>
<servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

在resource下写一个spring-mvc.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"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"  >

<!--controller的组件扫描 -->
    <context:component-scan base-package="com.controller"/>
</beans>

SpringMVC流程图示

标签: servlet spring java

本文转载自: https://blog.csdn.net/weixin_60719453/article/details/125636826
版权归原作者 执久呀 所有, 如有侵权,请联系我们删除。

“Spring中的监听器与SpringMVC简述”的评论:

还没有评论