传统门户网站有哪些,软广告经典案例,互联网品牌是什么意思,晋江市规划局建设网站目录
1.Spring MVC的基本介绍
2.大致分析SpringMVC工作流程
3.SpringMVC的快速入门
首先大家先自行配置一个Tomcat
文件的配置 配置 WEB-INF/web.xml
创建web/login.jsp 创建com.ygd.web.UserServlet控制类 创建src下的applicationContext.xml文件
重点的注意事项和说明…目录
1.Spring MVC的基本介绍
2.大致分析SpringMVC工作流程
3.SpringMVC的快速入门
首先大家先自行配置一个Tomcat
文件的配置 配置 WEB-INF/web.xml
创建web/login.jsp 创建com.ygd.web.UserServlet控制类 创建src下的applicationContext.xml文件
重点的注意事项和说明 看看如果DispatcherServlet如果没在web.xml中指定Spring的上下文配置文件的路径。是如何去默认找到对应的xml文件的。 1.Spring MVC的基本介绍 1. SpringMVC 是 WEB 层框架【老读 : SpringMVC 接管了 Web 层组件 , 比如控制器 , 视 图 , 视图解析 , 返回给用户的数据格式 , 同时支持 MVC 的开发模式 / 开发架构】 2. SpringMVC 通过注解让 POJO 成为控制器不需要继承类或者实现接口 3. SpringMVC 采用低耦合的组件设计方式具有更好扩展和灵活性 . 4. 支持 REST 格式的 URL 请求 . 5. SpringMVC 是基于 Spring 的 , 也就是 SpringMVC 是在 Spring 基础上的。 SpringMVC 的核 心包 spring-webmvc-xx.jar 和 spring-web-xx.jar SpringMVC和SpringBoot的关系 1. Spring MVC 只是 Spring 处理 WEB 层请求的一个模块 / 组件 , Spring MVC 的基石是 Servlet[Java WEB] 2. Spring Boot 是为了简化开发者的使用 , 推出的封神框架 ( 约定优于配置简化了 Spring 的配置流程 ), SpringBoot 包含很多组件 / 框架 Spring 就是最核心的内容之一也包含 Spring MVC 3. 他们的关系大概是 : Spring Boot Spring Spring MVC 2.大致分析SpringMVC工作流程 1浏览器会发出url请求通过Tomcat中间键发送给后端。被前端控制器(DispatcherServlet)首先拦截。 2调用处理器映射器HandlerMapping。
3处理器映射器会返回处理器执行器链(HandlerExecutionChain) 其中包含多个拦截器以及处理器Handler(在下面的案例中Handler是UserServlet)。
4前端控制器根据返回的处理器执行器链调用处理器适配器(HandlerAdaptor)。
5处理适配器才会去调用Handler处理器(Controller)
6: 调用处理器后返回ModelAndView(数据和视图)。
7当ModelAndView返回给前端处理器后前端处理器调用我们配置的视图解析器(InternalResourceViewResolver).
8通过视图解析器返回view视图给前端控制器
9前端控制器首先会进行一个视图的渲染(也就是对Jsp视图进行一些数据的加载啥的)
10最后将真正的视图相应返回给客户端。 3.SpringMVC的快速入门 进入登录界面后登录显示登陆成功的信息
分析流程 首先大家先自行配置一个Tomcat
文件的配置
导入SpringMVC需要的jar包 配置 WEB-INF/web.xml 1.配置前端控制器DispatcherServlet包括初始化Spring上下文文件 2. ?xml version1.0 encodingUTF-8?
web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0!--配置前端控制器/中央处理器/分发控制器1.用户的请求会经过他的处理--servletservlet-namespringDispatcherServlet/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class!--配置属性 contextConfigLocation,用来指定DispatcherServlet 去操作的Spring的配置文件--init-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath*:applicationContext-mvc.xml/param-value/init-param!--在web项目启动时就会自动的加载DispatcherServlet--load-on-startup1/load-on-startup/servletservlet-mappingservlet-namespringDispatcherServlet/servlet-name!--1. 在这里面我们配置的url-pattern是/表示用户的请求都经过DispatcherServlet(中央处理器)2. 这样的配置也是rest风格的url请求--url-pattern//url-pattern/servlet-mapping
/web-app
创建web/login.jsp 注意在JavaWeb中学的工程路径 在填写actionlogin表示的url是http://localhost:8080/springmvc/login 如果我填写action/login表示的url是http://localhost:8080/login %--Created by IntelliJ IDEA.User: Administrator :ygdDate: 2024/11/19Time: 23:30To change this template use File | Settings | File Templates.
--%
% page contentTypetext/html;charsetUTF-8 languagejava %
html
headtitle登录/title
/head
bodyh3登录界面/h3
%-- 注意在JavaWeb中学的工程路径
在填写actionlogin表示的url是http://localhost:8080/springmvc/login
如果我填写action/login表示的url是http://localhost:8080/login
--%
form actionloginu:input nameusername typetextbr/p:input namepassword typepasswordbr/input typesubmit value登录
/form/body
/html创建com.ygd.web.UserServlet控制类 1.这个UserServlet相当于Hander处理器是用来决定将返回的信息返回到哪里的(要结合视图解析器) 2.JavaWeb之前是Jsp页面的东西给Servlet处理然后Servlet重定向或者请求转发到其他的Jsp界面或者Servlet中 3.现在这个内容交给中中央控制器和视图解析器完成。 package com.ygd.web;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;/*** author ygd* 1.如果我们使用了SpringMVC框架在一个类上表明Controller* 2.表示该类视为一个控制器注入到容器中* 3.比原生的servlet开发要简化很多*/
Controller
public class UserServlet {//编写方法相应用户的请求//1.login()方法是用于响应用户的登录请求//2.RequestMapping(value/login)类似我们在原生的Servlet配置的url-pattern//3.当用户在浏览器输入http://localhost:8080/web工程路径/login能够访问到login()方法//4.return login_ok;表示返回结果给视图解析器(InternalResourceViewResolver)// 视图解析器会根据配置来决定跳转到那个页面。
// bean classorg.springframework.web.servlet.view.InternalResourceViewResolver
// property nameprefix value/WEB-INF/pages//
// property namesuffix value.jsp/
// /bean// 这个方法返回给视图解析器时视图解析器会返回给/WEB-INF/pages/login_ok.jsp的页面RequestMapping(value/login)public String login(){System.out.println(login ok);return login_ok;}
} 创建src下的applicationContext.xml文件 1. 在Spring的上下文文件中配置了InternalResourceViewResolver(视图解析器)。 2. 每个Servlet要返回到前端Jsp页面的操作都要经过视图解析器。 ?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd
!--配置自动扫描的包--context:component-scan base-packagecom.ygd.web/
!--配置视图解析器(整个容器中只能有一个视图解析器)--bean classorg.springframework.web.servlet.view.InternalResourceViewResolver
!--配置前缀和后缀--property nameprefix value/WEB-INF/pages//property namesuffix value.jsp//bean/beans
执行该文件输入login.jsp跳转到登录界面点击登录。案例结果完成 重点的注意事项和说明
1. 这里的 UserServlet 需要注解成Controller 我们称为一个 Handler 处理器 2. UserServlet 指定 url 时还可以这样
3. 关 于 SpringMVC 的 DispatcherServlet 的 配 置 文 件 如 果 不 在 web.xml 指 定 applicationContext-mvc.xml, 默认在 /WEB-INF/springDispatcherServlet-servlet.xml 找这 个配置文件【简单看下 DispatcherServlet 的源码】。(推荐使用, 我们做下修改 并完成测 试) 下图是原本的项目的路径以及在前端处理器中初始化属性contextConfigLocation。指定applicationContext路径。 下图就是如果不在web.xml中指定applicationContext.xml的路径。 (因为这个关于Spring的上下文路径是必须要有的) 他会默认去和web.xml一样目录下也就是/WEB-INF/去寻找配置的前端处理器中的 servlet-name也就是下图的springDispatcherServlet加上-servlet.xml 文件(系统会默认这个xml文件就是Spring的上下文文件)。 如果既没有在web.xml文件中配置applicationContext.xml 又在web.xml的同级目录下没找到对应的xml文件。就会报500的错误 看看如果DispatcherServlet如果没在web.xml中指定Spring的上下文配置文件的路径。是如何去默认找到对应的xml文件的。 DispatcherServlet的父类FrameworkServlet
绿色字体的意思是WebApplicationContext命名空间的后缀。如果在上下文中将此类servlet命名为“test”则servlet使用的命名空间将解析为“test-servlet”.xml。
什么意思就是这里的test就是DispatcherServlet配置的servlet-name的名字 然后加上
-servlet.xml 寻找到我们的applicationContext.xml。