SpringMVC

SpringMVC 接口开发实现 上篇文章讲解了SpringMVC 入门,这篇文章使用SpringMVC 来开发接口。记得之前有一篇文章 java web开发(二) 接口开发,是使用Servlet开发的接口。如果你还未了解,可以先看看这篇文章。好了,我们进入主题。 在开始这篇文章之前,请先阅读请参考java web开发(二) 接口开发这篇文章。 一、搭建环境。这一步骤 请参考上篇文章, SpringM... 阅读详情

1.SpringMVC的引言

为了使Spring可插入的MVC架构,SpringFrameWork在Spring基础上开发SpringMVC框架,从而在使用Spring进行WEB开发时可以选择使用Spring的SpringMVC框架作为web开发的控制器框架。

2.为什么是SpringMVC

  1. 可以和spring框架无缝整合
  2. 运行效率高于struts2框架
  3. 注解式开发更高效

3.SpringMVC的特点

SpringMVC 轻量级,典型MVC框架,在整个MVC架构中充当控制器框架,相对于之前学习的struts2框架,SpringMVC运行更快,其注解式开发更高效灵活。

4.SpringMVC与Struts2运行流程对比在这里插入图片描述

5.第一个环境搭建

1.引入相关依赖

   <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
		<!--springmvc核心依赖-->
		<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>

2.编写springmvc配置文件

  <!--开启注解扫描-->
    <context:component-scan base-package="com"/>

    <!--注册处理器映射器 解析请求路径-->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
    <!--注册处理器适配器 绑定参数-->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
    <!--注册视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

3.配置springmvc的核心Servlet

	<servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--指定springmvc配置文件位置-->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springmvc.xml</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

注意: 这里还要加载spring配置,通过在servlet写init­param标签,还是contextConfigLocation属性,value用来加载springmvc配置文件

4.创建控制器

@Controller
@RequestMapping("/hello")
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        System.out.println("hello springmvc");
        return "index";//解析结果:前缀+返回值+后缀
    }
}

@Controller: 该注解用来类上标识这是一个控制器组件类并创建这个类实例

@RequestMapping:

​ 修饰范围: 用在方法或者类上

​ 注解作用: 用来指定类以及类中方法的请求路径

​ 注解详解:

​ 用在类上相当于struts2中namespace在访问类中方法必须先加入这个路径

​ 用在方法上相当于action标签的name属性用来表示访问这个方法的路径

5.部署项目,启动项目测试

访问路径: http://localhost:8989/springmvc_day1/hello/hello

6.SpringMVC中跳转方式

1.跳转方式

说明 : 跳转有两种,一种forward,一种是redirect。forward跳转,一次请求,地址栏不变,redirect跳转多次请求,地址栏改变。

# 1. Controller跳转到JSP

			forward跳转到页面 :   默认就是forward跳转 		
									 语法:   return "页面逻辑名"

			redirect跳转到页面:   使用springmvc提供redirect:关键字进行重定向页面跳转
      						 语法:   return "redirect:/index.jsp"  
      						 注意:   使用redirect跳转页面不会经过试图解析器

# 2. Controller跳转到Controller
			
			forward跳转到Controller  :  使用springmvc提供的关键字forward:
												   语法:  forward:/跳转类上@requestMapping的值/跳转类上@RequestMapping的值
												   
			redirect:跳转到Controller:  使用springmvc提供关键字redirect:
													 语法:  redirect:/跳转类上@requestMapping的值/跳转类上@RequestMapping的值

2.跳转方式总结

在这里插入图片描述

7.SpringMVC中参数接收

​ 接收参数语法说明:springmvc中使用控制器方法参数来收集客户端的请求参数,因此在接收请求参数时直接在需要控制器方法声明即可,springmvc可以自动根据指定类型完成类型的转换操作

1.接收零散类型参数

如: 八种基本类型 + String + 日期类型

a.前台传递参数
# GET 方式传递参数
	http://localhost:8080/springmvc_day1/param/test?name=zhangsan&age=19&sex=true&salary=11.11&bir=2012/12/12

# POST 方式传递参数
		<h1>测试参数接收</h1>
    <form action="${pageContext.request.contextPath}/param/test" method="post">
        用户名: <input type="text" name="name"/>  <br>
        年龄:  <input type="text" name="age"/>   <br>
        性别:  <input type="text" name="sex">    <br>
        工资:  <input type="text" name="salary"> <br>
        生日:  <input type="text" name="bir"> <br>
        <input type="submit" value="提交"/>
    </form>
b.后台控制器接收
@Controller
@RequestMapping("/param")
public class ParamController {
    @RequestMapping("/test")
    public String test(String name, Integer age, Boolean sex,Double salary,Date bir){
        System.out.println("姓名: "+name);
        System.out.println("年龄: "+age);
        System.out.println("性别: "+sex);
        System.out.println("工资: "+salary);
        System.out.println("生日: "+bir);
        return "index";
    }
}

注意:springmvc在接收日期类型参数时日期格式必须为yyyy/MM/dd HH:mm:ss 如果要修改使用@DateTimeFormat(pattern=“格式”)注解

2.接收对象类型参数

a.前台传递参数
# GET 方式请求参数传递
		http://localhost:8080/springmvc_day1/param/test1?name=zhangsan&age=19&sex=true&salary=11.11&bir=2012/12/12

# POST 方式请求参数传递
		<h1>测试对象类型参数接收</h1>
    <form action="${pageContext.request.contextPath}/param/test1" method="post">
        用户名: <input type="text" name="name"/>  <br>
        年龄:  <input type="text" name="age"/>   <br>
        性别:  <input type="text" name="sex">    <br>
        工资:  <input type="text" name="salary"> <br>
        生日:  <input type="text" name="bir"> <br>
        <input type="submit" value="提交"/>
    </form>

注意:在接收对象类型参数时和struts2接收不同,springmvc直接根据传递参数名与对象中属性名一致自动封装对象

b.后台控制器接收
// 1.定义对象
public class User {
    private String name;
    private Integer age;
    private Double salary;
    private Boolean sex;
    private Date bir;
}

//  2.控制器中接收
 @RequestMapping("/test1")
public String test1(User user){
  System.out.println("接收的对象: "+user);
  return "index";
}

3.接收数组类型参数

a.前台传递参数
# GET 方式请求参数传递
		http://localhost:8080/springmvc_day1/param/test2?names=zhangsan&names=lisi&names=wangwu

# POST 方式请求参数传递
		<h1>测试对象类型参数接收</h1>
    <form action="${pageContext.request.contextPath}/param/test2" method="post">
        爱好: <br>
        	看书:  <input type="checkbox" name="names"/> 
        	看电视:<input type="checkbox" name="names"/>
        	吃饭:  <input type="checkbox" name="names"/>
        	玩游戏: <input type="checkbox" name="names"/>
        <input type="submit" value="提交"/>
    </form>
b.后台控制器接收
@RequestMapping("/test2")
public String test2(String[] names){
  for (String name : names) {
    System.out.println(name);
  }
  return "index";
}

注意:接收数组类型数据时前台传递多个key一致自动放入同一个数组中


4.接收集合类型参数

说明:springmvc不支持直接将接收集合声明为控制器方法参数进行接收,如果要接收集合类型参数必须使用对象封装要接收接收类型才可以

a.前台传递参数
# GET 方式请求参数传递
		http://localhost:8080/springmvc_day1/param/test3?lists=zhangsan&lists=lisi&lists=wangwu

# POST 方式请求参数传递
		<h1>测试对象类型参数接收</h1>
    <form action="${pageContext.request.contextPath}/param/test3" method="post">
        爱好: <br>
        	看书:  <input type="checkbox" name="lists"/> 
        	看电视:<input type="checkbox" name="lists"/>
        	吃饭:  <input type="checkbox" name="lists"/>
        	玩游戏: <input type="checkbox" name="lists"/>
        <input type="submit" value="提交"/>
    </form>
b.后台控制器接收
// 1.封装接收集合类型对象---->在spring mvc中用来接收集合类型参数
public class CollectionVO {
    private List<String> lists;

    public List<String> getLists() {
        return lists;
    }

    public void setLists(List<String> lists) {
        this.lists = lists;
    }
}

// 2.控制器中接收集合类型参数
@RequestMapping("/test3")
public String test3(CollectionVO collectionVO){
  collectionVO.getLists().forEach(name-> System.out.println(name));
  return "index";
}

8. 接收参数中文乱码解决方案

注意:在使用springmvc过程中接收客户端的请求参数时有时会出现中文乱码,这事因此springmvc并没有对象请求参数进行编码控制,如果需要控制需要自行指定

# 1.针对于GET方式中文乱码解决方案:
	服务器的配置文件中修改
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
# 2.针对post方式中文乱码解决方案:

9.SpringMVC中数据传递机制

1.数据传递机制

# 1.数据怎么存
			Servlet 作用域 			Struts2  作用域				SpringMVC 作用域
# 2.数据怎么取
			Servlet EL表达式			Struts2  EL表达式		  SpringMVC EL表达式
# 3.数据怎么展示		
			Servlet JSTL标签	 	 Struts2  JSTl标签     SpringMVC  JSTL标签

2.使用forward跳转传递数据

# 1.使用servlet中原始的request作用域传递数据
		request.setAttribute("key",value);

# 2.使用是springmvc中封装的Model和ModelMap对象(底层对request作用域封装)
		model.addAttribute(key,value);
		modelMap.addAttribute(key,value);

3.使用Redirect跳转传递数据

# 1.使用地址栏进行数据传递
	 url?name=zhangsan&age=21

# 2.使用session作用域
	session.setAttribute(key,value);
	session.getAttribute(key);

10.SpringMVC处理静态资源拦截

# 1.处理静态资源拦截

# 问题:当web.xml中配置为"/"时,会拦截项目静态资源,默认使用servlet的拦截规则
    <mvc:default-servlet-handler/>

11.文件上传

文件上传: 指的就是将用户本地计算机中文件上传到服务器上的过程称之为文件上传

1).文件上传编程步骤

# 1.项目中引入相关依赖  需要引入commons-fileupload jar包和commons-io jar包
	maven引入commons-fileupload时,自动引入commons-io 包
 		<dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3</version>
    </dependency>
# 2.开发页面
		<h1>文件上传</h1>
    <form action="${pageContext.request.contextPath}/file/upload" method="post" enctype="multipart/form-data">
        <input type="file" name="aaa"/>
        <input type="submit" value="上传文件"/>
    </form>

注意:

​ 1. form表单提交方式必须为post

​ 2.form表单的enctype属性必须为multipart/form-data

# 3.开发控制器
@RequestMapping("upload")
public String upload(MultipartFile aaa, HttpServletRequest request) throws IOException {
  //获取上传路径
  String realPath = request.getSession().getServletContext().getRealPath("/upload");
  //获取文件原始名称
  String originalFilename = aaa.getOriginalFilename();
  System.out.println("文件名: "+originalFilename);
  //上传文件到服务器
  aaa.transferTo(new File(realPath,originalFilename));
  return "index";
}
# 4.配置文件上传解析器
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  <!--控制文件上传大小单位字节 默认没有大小限制 这里是2-->
  <property name="maxUploadSize" value="2097152"/>
</bean>

注意:使用springmvc中multipartfile接收客户端上传的文件必须配置文件上传解析器且解析的id必须为multipartResolver

12.文件下载

​ 文件下载:将服务器上的文件下载到当前用户访问的计算机的过程称之为文件下载

1).文件下载编程思路

# 1.项目中准备下载目录并存在下载的相关文件

在这里插入图片描述

# 2.开发下载控制器
 /**
     * 测试文件下载
     * @param fileName 要下载文件名
     * @return
     */
    @RequestMapping("download")
    public String download(String fileName, HttpServletRequest request, HttpServletResponse response) throws IOException {
        //获取下载服务器上文件的绝对路径
        String realPath = request.getSession().getServletContext().getRealPath("/down");
        //根据文件名获取服务上指定文件
        FileInputStream is = new FileInputStream(new File(realPath, fileName));
        //获取响应对象设置响应头信息
        response.setHeader("content-disposition","attachment;fileName="+ URLEncoder.encode(fileName,"UTF-8"));
        ServletOutputStream os = response.getOutputStream();
        IOUtils.copy(is,os);
        IOUtils.closeQuietly(is);
        IOUtils.closeQuietly(os);
        return null;
    }

注意:下载时必须设置响应的头信息,指定文件以何种方式保存,另外下载文件的控制器不能存在返回值,代表响应只用来下载文件信息

# 3.开发页面
<h1>文件下载</h1>
<a href="${pageContext.request.contextPath}/file/download?fileName=init.txt">init.txt</a>

13.@ResponseBody注解使用

​ @ResponseBody: 为了进一步方便控制器与ajax集成,springmvc提供@responseBody该注解用在方法的返回值上,代表可以将方法的返回值转换为json格式字符串并响应到前台,省去了通过第三方工具转换json的过程

1). 引入相关依赖

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.9.0</version>
</dependency>

2).开发控制器

@Controller
@RequestMapping("json")
public class JsonController {
  
    @RequestMapping("test")
    @ResponseBody
    public Map<String,String> test(){
        HashMap<String,String> map = new HashMap<>();
        map.put("message","测试成功");
        return map;
    }
}

14.SpringMVC中拦截器

1).作用

作用:类似于javaweb中的Filter,用来对请求进行拦截,可以将多个Controller中执行的共同代码放入拦截器中执行,减少Controller类中代码的冗余.

2).特点

  • 拦截器器只能拦截Controller的请求,不能拦截jsp

  • 拦截器可中断用户的请求轨迹

  • 请求先经过拦截器,之后之后还会经过拦截器

3).开发拦截器

//自定义拦截器
public class MyInterceptor implements HandlerInterceptor {
    //请求最先经过的方法 返回为true放行请求  返回为false中断请求
    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
        System.out.println("1");
        return true;
    }
		//控制器方法执行完成之后进入这个方法执行
    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
        System.out.println("3");
    }
		//最后执行的方法
    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
        System.out.println("4");
    }
}

4).配置拦截器

<!--配置拦截器-->
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/json/*"/>
            <mvc:exclude-mapping path="/json/test1"/>
            <ref bean="myInterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>

/*``: 代表拦截所有请求路径


15.SpringMVC全局异常处理

1).作用

​ 当控制器中某个方法在运行过程中突然发生运行时异常时,为了增加用户体验对于用户不能出现500错误代码,应该给用户良好展示错误界面,全局异常处理就能更好解决这个问题

2).全局异常处理开发
public class CustomerHanlderExceptionResolver implements HandlerExceptionResolver {
    @Override
    public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("500");//跳转到500页面
        return modelAndView;
    }
}
3).配置全局异常处理
<!--配置全局异常处理 -->
<bean class="com.baizhi.globalexception.CustomerHanlderExceptionResolver"></bean>

【SpringMVC 】什么是SpringMVC(三)?基于springmvc的文件上传、基于springmvc的拦截器、基于springmvc的邮件发送 @@@@@@@@@@@邮件发送 通过java进行邮件发送,会涉及到两种协议: 1、smtp 简单邮件传输协议 作用:用于指定如何发送邮件 2、pop3 邮局协议版本3 作用:用于指定如何接收邮件 @@@@@@@@我们在进行邮件发送时,首先需要开通邮箱的这两个协议 @@@@@@@@邮件发送的过程 此处,我们以QQ邮箱为例,进行配置,准备工作 登录QQ邮箱,开通smtp,pop3协议 阅读详情

相关推荐

具身智能的边缘计算核心构成方案

摘要: 具身智能(Embodied Intelligence)依赖物理实体与环境交互,而边缘计算(Edge Computing)通过本地化数据处理降低延迟、提升实时性。两者结合的核心方案包含五层架构:传感器层采集环境数据,边缘处理单元执行本地计算,通信模块实现低延迟传输,决策引擎运行轻量AI模型,执行器接口转化动作为物理操作。该方案以“边缘优先”为原则,满足毫秒级响应(如延迟<50ms),同时优化能效(功耗降低30%)和隐私保护。适用于机器人、自动驾驶等场景,通过分层闭环设计确保在资源受限环境中的可靠

老郑的博客 809

springmvc web.xml 配置默认的controller访问问题

springmvc web.xml 配置默认的controller访问问题

u010668910的博客 1万+

西红柿成熟度检测数据集总结

成熟度类别标注数量semiripe(半成熟)10275rotten(腐烂)13470fullyripe(完全成熟)35031unripe(未成熟)26212。

crz1336768325的博客 2124

SpringMVC默认访问首页配置及web.xml配置

SpringMVC默认访问首页配置及web.xml配置

向柚看_ 1万+

YOLO11实战 第010期-基于yolo11的农业杂草作物目标检测实战文档(详细教程)

通过这条曲线,用户可以评估模型的检测能力,分析模型在不同阈值下对真实目标的检测是否全面。通过这条曲线,可以评估模型在目标检测任务中的整体性能,并找到合适的置信度阈值,以在精确率和召回率之间做出最佳平衡。PR 曲线越接近右上角,模型性能越好,曲线下方的面积越大,说明模型在不同置信度下的。),它展示了不同置信度下的召回率。条曲线都显示了随着召回率的增加,精确度略有下降的趋势,但整体上精确度保持在很高的水平。通过这条曲线,可以选择合适的置信度阈值,以优化模型的检测结果,平衡精确率和召回率。反映了分类器的准确性。

深度学习算法工程师,专注于前沿算法研究与实战应用。在这里,我将分享深度学习领域的实战经验、优质数据集资源以及最新论文解读与精度分析,旨在与广大技术爱好者共同探索人工智能的奥秘,助力技术成长与创新。 1522

【51单片机仿真】基于51单片机设计的多功能电子时钟日历(实时时钟闹钟秒表温度检测)系统__资料编号5

该项目是基于单片机的多功能电子时钟系统,集成了时间显示、闹钟设置、秒表功能以及温度显示等功能。主要硬件包括1602液晶显示屏、DS1302时钟芯片、DS18B20温度传感器和蜂鸣器。系统通过按键进行时间和闹钟的设置,并实时显示当前时间和温度。

嵌入式阿齐Archie 2万+

输入域名,localhost,直接跳转到controller的几种方式:

输入域名,localhost,直接跳转到controller的几种方式:(1),在web.xml中写如下 <welcome-file-list> <welcome-file>welcome.html</welcome-file> </welcome-file-list&g...

weixin_33695082的博客 1038

OPPO 后端校招面试,过于简单了!

你好,我是 Guide。2026 届秋招陆续开奖公司的越来越多了,今天来看一家手机厂 OPPO。前几天,已经分享了和今年校招开奖的情况。其中,小红书的薪资最为炸裂,大白菜一年都能给到 51w+。不过,相对应的工作强度和压力也是真的难顶,确实很难有钱多又轻松的活!OV (OPPO 和 Vivo)这几年发展真还可以的,这两家的高端机口碑都不错。本人也是最近入手了一款 Vivo 的上一代旗舰,拍照是真的不错啊!每个月会有 1.2k 生活补贴,生活费是按照 8 % 缴纳。

JavaGuide 748

【SpringMVC】| SpringMVC 入门

【SpringMVC】| SpringMVC 入门

m0_61933976的博客 4105

激光雷达点云异常现象详解:鬼影、高反膨胀与拖点

现象核心外观主要成因核心硬件对策核心算法对策鬼影位置错误,出现"复制"的物体镜面反射/光学元件间杂散光物理光阑、抗反射涂层多帧时序一致性检验、反射率逻辑判断膨胀尺寸变大,轮廓呈毛刺状信号饱和、像素/通道串扰可变增益控制、随机编码序列强度阈值滤波、几何轮廓拟合(剪裁)拖点边缘粘连,出现"阶梯"或"连线"光斑跨立边缘、双回波融合小光斑光学设计、多回波支持邻域深度突变检测、波形脉宽分析这些异常现象是当前激光雷达感知中的核心难点,通常需要硬件物理特性优化与上层感知算法。

Fun_LiDAR的博客 299

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SpringMVC——SpringMVC框架基本概述

1.SpringMVC框架概述 1.1 SpringMVC框架的基本说明 SpringMVC是基于Spring的,是Spring中的一个模块,专门用来做web开发使用的。 SpringMVC 也叫 Spring web mvc。是 Spring 框架的一部分,是在Spring3.0 后发布的。基于 MVC 架构,功能分工明确、解耦合。 SpringMVC也是一个容器,使用IoC核心技术,管理界面层中的控制器对象。SpringMVC的底层就是servlet,以servlet为核心,接收请求、处理请.

莫得感情得码农 5万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SpringMVC | 快速上手SpringMVC

本节讲解了SpringMVC的基本使用

BoBooY的Java学习笔记 3363

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

什么是SpringMVC和MVC以及SpringMVC的原理?

1.什么是SpringMVC? SpringMVC是Spring的一个模块,是Spring提供的一个实现了WEB MVC 设计模式的轻量级的框架(基于MVC的web层框架)。与Struts2框架一样,都属于MVC框架,当然就无须通过中间层的框架去进行整合了。 特点: 灵活性强,容易与其它框架集成 提供了前端的DispatcherServlet控制器 自动绑定用户的输入,正确的转换数据类型 内置了...

qq_41857955的博客 4441

什么是springmvc springmvc的详细介绍

1.什么是springMVC? Spring Web MVC是一种基于Java的实现了MVC设计模式的、请求驱动类型的、轻量级Web框架。 2.SpringMVC处理请求的流程 2.1 首先用户发送请求–&gt;DispatherServlet 2.2 DispatcherServlet–&gt;HandlerMapping 2.3 DispatcherServlet–&gt;HandlerAd...

weixin_44585470的博客 4580

SpringMVC 程序开发:为什么要学SpringMVC?如何学SpringMVC?

SpringMVC速通,整个SpringMVC的常用内容,快来学习!

努力 2347

全网最强SpringMVC教程 | 万字长文爆肝SpringMVC(一)

本文介绍了SpringMVC框架的基本概念和入门案例实现。主要内容包括: SpringMVC概述 基于MVC设计模式的轻量级Web框架 主要处理请求接收、业务转发和响应数据转换 相比Servlet更简单灵活 入门案例实现步骤 创建Maven web项目 导入SpringMVC和Servlet依赖 创建SpringMVC配置类 编写Controller处理请求 配置DispatcherServlet替代web.xml 关键点说明 使用@Controller注解标记控制器类 @RequestMapping定义请

qq_45832461的博客 1144

springMVC

基于狂神说的笔记+个人理解和总结

qq_45687780的博客 8885

SpringMVC:创建一个简单的SpringMVC框架

web.xml文件是Java Web应用程序的部署描述文件,用于配置Web应用程序的部署信息和配置参数。-- springMVC的前端控制器,此处为名称显示在Web服务器管理页面的 -->-- 如果以xxx-servlet.xml命名,并且位于/WEB-INF下,则服务器会自动识别,不需要配置 init-param-->--init-param配置是告诉服务器DispatcherServlet的配置文件在哪,此处是告诉服务器文件在src/classes下去找该配置文件 -->

qq_55038440的博客 2018

SpringMVC——注解配置SpringMVC

文章目录注解配置SpringMVC一、注解web.xml文件(1)创建初始化配置类(2)注册过滤器2、注解SpringMVC配置文件的配置类(1)组件扫描注解(2)开启SpringMVC 注解驱动(3)开启静态资源配置(4)配置拦截器(5)配置ViewController视图解析器(6)配置文件上传解析器(7)配置异处理器 注解配置SpringMVC 本文要介绍用注解方式代替web.xml与SpringMVC的配置文件 一、注解web.xml文件 实现步骤 (1)创建初始化配置类 创建一个初始化配置类,继承

chenxingxingxing的博客 4194

走进SpringMVC世界,从SpringMVC入门到SpringMVC架构

文章目录1.Springmvc入门1.1.Springmvc是什么1.2.Springmvc处理流程1.3.入门程序1.3.1.创建web工程1.3.2.导入jar包1.3.3.加入配置文件1.3.3.1.创建springmvc.xml1.3.3.2.springmvc.xml中配置处理器适配器HandlerAdapter1.3.3.3.springmvc.xml中配置处理器映射器HandlerM...

宜春 6941

springMVC开发手册

MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分M:Model,模型层,指工程中的JavaBean,作用是处理数据JavaBean分为两类:V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据C:Controller,控制层,指工程中的servlet,作用是接收请求和响应浏览器MVC的工作流程: 用户通过视图层发送请求到服务器,在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理完毕将结果返回到Controller

AlbenXie的博客 711

用SPRINGMVC 实现断点续传 (HTTP)

我们主要是做政府项目,客户也都是政府单位的,对用户体验要求比较高,要让他们感觉用的方便,对稳定性要求比较高,基本上一年365天都不希望你出问题,对安全性要求也比较高,涉密了,信创国产化,不能连外网的,都是内网。免费提供技术支持,电话支持,微信支持,QQ支持,远程一对一专业技术支持,可以说是全球唯一提供免费技术支持了,提供原理讲解,提供视频教程,这个也是全球唯一的。免费提供源码讲解服务,功能讲解,逻辑讲解,原理讲解,思路讲解,核心代码功能实现讲解,新业务功能扩展指导,免费提供编译指导,免费提供部署指导。

alisky119的博客 1286
下一篇: idea使用快捷键
Medo丶
博客等级 码龄9年 10粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值