SpringMVC框架(上)

SpringMVC处于表现层

入门案例

1.检查依赖

2.创建三级包controller,创建HelloController类

3.在类里加@Controller不足以说明是控制器,加RequestMapping才算

controller意义:把类交给spring管理

dispatcherServlet

tomcat一旦启动,

<load-on-startup>1</load-on-startup>

此代码生效,生效后加载

<init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param>

所以要加载springmvc.xml

扩展名匹配:结尾必须带.do,如果不带就匹配不上无法拦截

<servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>

/这是dispatcherServlet拦截所有请求

<context:component-scan base-package="com.qcby" />

找到@Controller

一个请求到达表现层的流程

入门案例结合图上图的解释

所有请求都会被DispatcherServlet堵住,然后解读url找到处理器映射器,解读/hello.do

然后找到适配器适配controller(在此切断,不会到业务层)controller直接返回结果,结果在给DispatcherServlet,然后DispatcherServlet找视图解析器,视图解析器返回视图渲染,最后呈现页面

超链接默认是GET请求

@RequestMapping(path = "/hello.do" ,method = RequestMethod.POST)

对应

<%-- 超链接 --%> <h3>入门</h3> <a href="/say/hello.do">入门程序</a> <form method="post" action="/say/hello.do"> <input type="submit" value="提交"> </form>

补充:在后面加params

@RequestMapping(path = "/hello.do" ,method = RequestMethod.POST, params = "username")

必须传递username否则也匹配不上

对应:

<input type="text" name="username" value="张三">

相关推荐
Freak嵌入式14 分钟前
告别死循环!Pico 外部中断控制 LED,比轮询高效 100 倍
java·开发语言·stm32·单片机·嵌入式硬件
2601_9621229720 分钟前
解决 IntelliJ IDEA 中 Tomcat 日志乱码问题的详细指南
java·tomcat·intellij-idea
IT_陈寒24 分钟前
SpringBoot自动配置失效?这个隐式依赖坑了我三天
前端·人工智能·后端
码视野30 分钟前
基于 Spring Boot + Vue3 的【城市雨污水管网液位淤积溯源与立交桥下穿隧洞防汛排涝智控中台】设计与实现(含PRD/三端高保真源码/大屏)
java·前端·人工智能·spring boot·后端
小满zs31 分钟前
Go语言第十章(指针)
后端·google·go
Zzzzmo_34 分钟前
Maven+SpringBoot
java·spring boot
thefool1122661 小时前
无重复字符的最长子串
java
十正1 小时前
用 HTTP 条件请求把“强一致“和“低成本
网络·后端·http
2601_962189601 小时前
【SpringCloud】Gateway
java·spring cloud·gateway
夜郎king1 小时前
基于Java的高德地图公交路线检索服务集成实践
java·智慧城市·高德地图api·县域交通智能化