1.springmvc入门

对比struct

 同:它们都是表现层框架,都是基于 MVC 模型编写的。它们的底层都离不开原始 ServletAPI。它们处理请求的机制都是一个核心控制器。异:Spring MVC 的入口是 Servlet, 而 Struts2 是 Filter Spring MVC 是基于方法设计的,而 Struts2 是基于类,Struts2 每次执行都会创建一个动作类。所以 Spring MVC 会稍微比 Struts2 快些。Spring MVC 使用更加简洁,同时还支持 JSR303, 处理 ajax 的请求更方便

SpringMVC是基于 Servlet 的技术

基于java实现MVC设计模式的web框架
通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口

在当今互联 的开发中, 随着手 兴起 Web 页面大部分
采用 ja 请求,它 之间的交互只需要 JSON 数据

对于 Spring MVC 其最大 特色是结构松散,比如
乎可 SpringMVC 中使用各类 ,包括 JSON JSP XML PDF ,所以它能够满足手机端、页面端各类请求

1.1架构

前端控制器(DispatcherServlet) Spring MVC 框架是围绕着 DispatcherServlet 工作
请求到处理器映射(HandlerMapping)
处理器适配器(HandlerAdapter)
视图解析器(ViewResolver)
处理器或页面控制器(Controller)
验证器( Validator)
命令对象(Command 请求参数绑定到的对象就叫命令对象)
表单对象(Form Object 提供给表单展示和提交到的对象就叫表单对象)。


入门程序

1.maven依赖

<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><spring.version>5.0.2.RELEASE</spring.version>
</properties><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency></dependencies>

2.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"><!--配置 Spring ioc 配置文件路径--><!--1.配置文件路径设置 告诉 SpringMVC pring IoC 的配
文件在哪里,这样 Spring 就会找到这些配置文件去加载它们。如果是多个配置文件,
可以使用逗号将它们分隔开来,并且它还能支持正则式匹配,进行模糊匹配,这样
就更加灵活,其默认值为/WEB-INF applicationContext.xml
--><!--<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param>--><!--配置spring的监听器,默认加载WEB-INF目录下的applicationContext.xml配置文件可以在整个 Web 工程前后加入自定义代
码,所以可以在 Web 工程初始化之前,它先完成对 Spring IoC 容器的初始化,也可
以在 Web 工程关闭之时完成 Spring IoC 容器的资源进行释放。
--><!--<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>--><!--配置前端控制器--><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置Servlet的初始化参数,读取springmvc的配置文件,创建spring容器 --><init-param><param-name>contextConfigLocation</param-name> <!--资源路径下的springmvc.xml--><param-value>classpath:springmvc.xml</param-value></init-param> <!-- 配置servlet启动时加载对象 启动服务器就创建该对象--> <load-on-startup>1</load-on-startup></servlet><!--拦截全部路径--><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

3.springmvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!--4.注解扫描,只扫描controller--><context:component-scan base-package="cn.zust.controller"/><!--配置视图解析器前缀和后缀,这样视图就知道去 Web 程的
/WEB_INF/Page 文件夹中找到对应的 JSP 文件作为视图响应用户请求。--><bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB_INF/Page"/><property name="suffix" value=".jsp"/></bean>
<!--如果有配置数据库事务,需要开启 注解事务的,需要开启这段代码一〉
<!--
<tx:annotation- driven transaction-manager=”transactionManager” />
--><!--springmvc注解支持--><mvc:annotation-driven></mvc:annotation-driven>
</beans>

4.Controller测试

package cn.zust.controller;import com.sun.org.apache.regexp.internal.RE;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;/*** @author whai* @Date: 2020/4/16 17:15*/
@Controller
@RequestMapping("/text")
public class ControllerDemo {@RequestMapping("/hello")public String helloword(){System.out.println("hello");return "hello";}
}
<%--Created by IntelliJ IDEA.User: whaiDate: 2020/4/17Time: 14:02To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<h1>hello world!</h1>
</body>
</html>

Whai_springmvc笔记相关推荐

  1. 【读书笔记】知易行难,多实践

    前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...

  2. 【运维学习笔记】生命不息,搞事开始。。。

    001生命不息,搞事不止!!! 这段时间和hexesdesu搞了很多事情! 之前是机械硬盘和固态硬盘的测速,我就在那默默的看着他一个硬盘一个机械测来测去. 坐在他后面,每天都能看到这位萌萌的小男孩,各 ...

  3. SSAN 关系抽取 论文笔记

    20210621 https://zhuanlan.zhihu.com/p/353183322 [KG笔记]八.文档级(Document Level)关系抽取任务 共指id嵌入一样 但是实体嵌入的时候 ...

  4. pandas以前笔记

    # -*- coding: utf-8 -*- """ Created on Sat Jul 21 20:06:20 2018@author: heimi "& ...

  5. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  6. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  7. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  8. 王道考研 计算机网络笔记 第六章:应用层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

  9. 王道考研 计算机网络笔记 第五章:传输层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

  10. 王道考研 计算机网络笔记 第四章:网络层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

最新文章

  1. 科学教师与实验教师工作计算机,计算机实验指导教师工作职责
  2. vasp软件_量子力学分子动力学软件包-VASP
  3. Lucene Inverted index(倒排索引)原来快速入门
  4. 若川的2016年度总结,毕业工作
  5. spring mvc学习(52):json数据类型提交
  6. c语言编程 伪代码,Dijkstra算法的伪代码和C语言版本,还是模版
  7. selinux denied: u:r:untrusted_app:s0:c512,c768报错解决
  8. oracle中decode的用法(例子)
  9. bzoj4033 [HAOI2015]树上染色(树形)
  10. 【官方文档】Fluent Bit 安装在 Kubernetes
  11. 闻之色变-翻译公司用翻译工具翻译?!
  12. 单片机原理与应用技术
  13. Qt--探讨.exe程序加密
  14. chia/xch rpc形式充提生成地址
  15. 计算机汉字50字一分钟,一分钟的演讲稿一分钟演讲稿50字
  16. 10个提升效率的编程好习惯
  17. mod函数在vb中怎么用?
  18. html自动分栏,html自适应页面上下左右分栏的处理技巧
  19. 双鱼座男适合学计算机专业,双鱼座男生适合的职业
  20. 棋牌游戏软件选哪家?诺博富棋牌游戏厅

热门文章

  1. Ikbc F400使用说明书
  2. android远程主机强迫关闭了一个现有的连接,远程主机强迫关闭了一个现有的连接解决方法...
  3. ASML终于认识到它的未来在哪里,进一步向中国市场靠拢
  4. mplayer播放器管道重构版
  5. flutter图片识别_想在 flutter 中提取图片颜色?试试 color_thief_flutter
  6. CF632E-Thief in a Shop-生成函数,FFT,多项式快速幂
  7. PhotoShop中合并形状颜色会变化的问题
  8. 流程管理对企业有何价值?如何做好企业流程管理?
  9. JAVA自学-day14-正则表达式、Math类、Random类、System、BigInteger、BigDecimal、Date/DateFormat、Calendar
  10. ndt_matching解读