当前位置: 首页 > backend >正文

SpringMVC入门

1、SpringMVC概念

SpringMVC是在Spring框架的基础上引入MVC模式的思想,SpringMVC即是一种框架,也是一种思想,将前后端彻底分离,后端不再需要关注前端的代码。前后端分工明确

我们原先学习的MVC+三层架构,MVC是web开发模式,传统的Java技术栈实现如下:

 但是这种情况下,每一个请求处理都需要写一个Servlet,这需要写大量的重复代码,所以我们需要将Servlet进行包装,或者说进行分门别类,每一个pojo类就对应一个Servlet,然后将功能模块进行细分、

MVC框架思想和及其设计:

负责共有行为的Servlet称之为前端控制器,负责业务行为的JavaBean称之为控制器controller      

2、创建项目

2.1、创建一个Maven项目

在main下创建一个Java目录 

将resources标记为资源根目录

2.2、配置好Tomcat

下面是配置Tomcat的方法

2024/11/25,idea的Web项目构建,以及Tomcat的配置_web facet怎么配置-CSDN博客

3、SpringMVC依赖和配置

3.1、依赖:

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

 3.2、在web.xml里配置dispatchServlet

<!--  配置dispacherServlet-->
  <servlet>
    <servlet-name>DispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <!--spring.xml相当于springMVC的配置文件-->  
      <param-value>classpath:spring.xml</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

 3.3、加载spring.xml配置文件

 3.3、创建一个测试的控制类

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

@Controller
public class TestController {
    @RequestMapping("testSpringMVC")
    public void test(){
        System.out.println("Hello SpringMVC!");
    }
}

 启动tomcat服务器,打开浏览器,在地址栏输入http://localhost:8080/testSpringMVC 回车,回到idea,可以看到控制台打印了test方法里面的输出语句

能够看到控制台打印了这个语句说明请求的确应该到我们的后台程序中来了,但是浏览器的页面却显示了500的错误,如下图

 想要解决这个问题也很简单,那就是给一个返回页面:

http://www.xdnf.cn/news/1138.html

相关文章:

  • 17.2Linux的MISC驱动实验(编程)_csdn
  • C#使用sftp远程拷贝文件
  • 417. 太平洋大西洋水流问题
  • 什么是机器视觉3D无序堆叠抓取
  • 谷歌推出探索型推荐新范式:双LLM架构重塑用户兴趣挖掘
  • 精益数据分析(13/126):洞察数据关系,灵活调整创业方向
  • Spark与Hadoop之间有什么样的对比和联系
  • 从ChatGPT到GPT-4:大模型如何重塑人类认知边界?
  • 神经网络权重优化秘籍:梯度下降法全解析(五)
  • JETBRAINS USER AGREEMENT【2025.4.16】更新用户许可协议
  • 新零售行业时代:如何用科技驱动传统零售的转型升级​​
  • dolphinscheduler实现(oracle-hdfs-doris)数据ETL
  • 【锂电池剩余寿命预测】BiLSTM双向长短期记忆神经网络锂电池剩余寿命预测(Matlab源码)
  • IntelliJ IDEA 新版本中 Maven 子模块不显示的解决方案
  • AWS Lambda 架构深入探究
  • 【数据可视化-22】脱发因素探索的可视化分析
  • 前端学习笔记
  • 学 Python 需要安装哪些软件?全面工具指南
  • 开源的自动驾驶模拟器
  • 【Luogu】动态规划一
  • iostat指令介绍
  • 最美丽的区间
  • Pycharm(十五)面向对象程序设计基础
  • AI数字人:品牌营销的新宠与增长密码(6/10)
  • 中间系统-基础
  • 【Redis】字符串类型List 常用命令详解
  • Qt进阶开发:鼠标及键盘事件
  • ​CTGCache ​CTG-Cache TeleDB
  • 前端开发核心知识详解:Vue2、JavaScript 与 CSS
  • Anaconda3使用conda进行包管理