SpringMVC 学习(二)Hello SpringMVC

3. Hello SpringMVC

(1) 新建 maven 模块

springmvc-02-hellomvc

(2) 确认依赖的导入

在这里插入图片描述

在这里插入图片描述

(3) 配置 web.xml

<!--web/WEB-INF/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"><!--1.注册DispatcherServlet--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--关联一个springmvc的配置文件:【servlet-name】-servlet.xml--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-servlet.xml</param-value></init-param><!--启动级别-1:与服务器同时启动--><load-on-startup>1</load-on-startup></servlet><!--/ 匹配所有的请求;(不包括.jsp)--><!--/* 匹配所有的请求;(包括.jsp)--><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

(4) 编写 springmvc 配置文件

<!--resources/springmvc-servlet.xml-->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>

(5) 添加处理映射器

<!--resources/springmvc-servlet.xml-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

(6) 添加处理适配器

<!--resources/springmvc-servlet.xml-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

(7) 添加视图解析器

<!--resources/springmvc-servlet.xml-->
<!--视图解析器:DispatcherServlet给他的ModelAndView-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver"><!--前缀--><property name="prefix" value="/WEB-INF/jsp/"/><!--后缀--><property name="suffix" value=".jsp"/>
</bean>

(8) 编写 Controller

// com/why/controller/HelloController
package com.why.controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//注意:这里我们先导入Controller接口
public class HelloController implements Controller {public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {//ModelAndView 模型和视图ModelAndView mv = new ModelAndView();//封装对象,放在ModelAndView中。Modelmv.addObject("msg","HelloSpringMVC!");//封装要跳转的视图,放在ModelAndView中mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jspreturn mv;}
}

(9) 注册 Controller

<!--resources/springmvc-servlet.xml-->
<!--Handler-->
<bean id="/hello" class="com.why.controller.HelloController"/>

(10) 跳转 jsp 页面

<!--web/WEB-INF/jsp/hello.jsp-->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Kuangshen</title>
</head>
<body>${msg}
</body>
</html>

(11) 问题排查

  • 访问出现404,排查步骤:

    (1) 查看控制台输出,看一下是不是缺少了什么jar包。

    (2) 如果jar包存在,显示无法输出,就在IDEA的项目发布中,添加lib依赖!

    (3) 重启Tomcat 即可解决!

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/88914.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue项目自动转换px为rem-高保真还原设计图

前端开发中还原设计图的重要性毋庸置疑&#xff0c;目前来说应用最多的应该也还是使用rem。然而很多人依然还是处于刀耕火种的时代&#xff0c;要么自己去计算rem值&#xff0c;要么依靠编辑器安装插件转换。 而本文的目标就是通过一系列的配置后&#xff0c;在开发中可以直接使…

redis部署与管理

目录 一、关系数据库与非关系型数据库&#xff1a; 1. 关系型数据库&#xff1a; 2.非关系型数据库&#xff1a; 二、关系型数据库和非关系型数据库区别&#xff1a; &#xff08;1&#xff09;数据存储方式不同&#xff1a; &#xff08;2&#xff09;扩展方式不同&#xf…

libpcap抓包编程范式

一、源码构建libpcap库 1. 下载源码 wget https://www.tcpdump.org/release/libpcap-1.10.4.tar.gz2. 解压 tar xf libpcap-1.10.4.tar.gz3. 编译 cd libpcap-1.10.4 ./configure --prefix/opt/libpcap-1.10.4 make sudo make install二、编程 1. 打开抓包口 pcap_t * pc…

数据结构与算法基础-(3)

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

构造函数不能做为虚函数

引用&#xff1a;windows程序员面试指南 构造函数不能做为虚函数 从存储空间角度 虚函数对应一个虚函数表&#xff0c;这大家都知道&#xff0c;可是这个虚函数表其实是存储在对象的内存空间的。问题出来了&#xff0c;如果构造函数是虚的&#xff0c;就需要通过虚函数表来调…

洛谷P5661:公交换乘 ← CSP-J 2019 复赛第2题

【题目来源】https://www.luogu.com.cn/problem/P5661https://www.acwing.com/problem/content/1164/【题目描述】 著名旅游城市 B 市为了鼓励大家采用公共交通方式出行&#xff0c;推出了一种地铁换乘公交车的优惠方案&#xff1a; 1.在搭乘一次地铁后可以获得一张优惠票&…

C# Modbus 通讯

前言 Modbus通讯是最常用的硬件通讯协调&#xff0c;我PLC接触的不多。Modbus保证了简单又高效的数据传输。 Modbus协议简单介绍 Modbus简单介绍 Modbus Poll和Modbus Slave 软件下载&#xff1a;必须下载 NModbus 一般带N开头的都是.NET平台移植版本。比如NLog&#xff…

【计算机网络】DNS原理介绍

文章目录 DNS提供的服务DNS的工作机理DNS查询过程DNS缓存 DNS记录和报文DNS记录DNS报文针对DNS服务的攻击 DNS提供的服务 DNS&#xff0c;即域名系统(Domain Name System) 提供的服务 一种实现从主机名到IP地址转换的目录服务&#xff0c;为Internet上的用户应用程序以及其他…

Pycharm在进行debug时出现collecting data如何解决?

Pycharm在进行debug时变量界面出现collecting data&#xff0c;问题如下&#xff1a; 解决方法&#xff1a;打开Setting界面&#xff0c;在Python Debugger选项中勾选下图中的Gevent compatible即可。

初识ebpf

介绍eBPF技术 当代计算机系统中&#xff0c;性能、安全性和可观察性是至关重要的关键因素。为了应对这些挑战&#xff0c;Linux 内核引入了一种名为eBPF&#xff08;extended Berkeley Packet Filter&#xff09;的强大技术。eBPF 不仅仅是一种网络数据包过滤器&#xff0c;它…

笔记1-2:

一、磁荷与磁流的引入 麦克斯韦方程组&#xff1a; 引入磁荷和磁流的概念&#xff0c;上述方程可以写成对称形式&#xff1a; 磁荷和磁流实际上不存在&#xff0c;只具有某种等效意义&#xff0c;可以把某个区域中的电磁场看成是由一组等效磁型源所产生。 对于均匀和各向同性…

gpt扣款失败,openai扣款失败无法使用-如何解决gpt扣款失败的问题?

gpt扣款失败&#xff0c;openai扣款失败无法使用。毕竟你花了钱却无法使用你所期待的服务&#xff0c;这种情况确实令人不快。但是&#xff0c; 为什么gpt扣款失败&#xff1f; 可能是由于支付问题导致的扣款失败。这包括信用卡额度不足、支付信息错误等等。如果你的支付信息…

DolphinDB x 龙蜥社区,打造多样化的数据底座

近日&#xff0c;浙江智臾科技有限公司&#xff08;以下简称“DolphinDB”&#xff09;正式签署 CLA 贡献者许可协议&#xff0c;加入龙蜥社区&#xff08;OpenAnolis&#xff09;。 DolphinDB 主创团队从 2012 年开始投入研发产品。作为一款基于高性能时序数据库&#xff0c;D…

LeetCode 1194.锦标赛优胜者

数据准备 Create table If Not Exists Players (player_id int, group_id int); Create table If Not Exists Matches (match_id int, first_player int, second_player int, first_score int, second_score int); Truncate table Players; insert into Players (player_id, g…

9+铜死亡+缺氧+分型+单细胞+实验生信思路

今天给同学们分享一篇铜死亡缺氧分型实验的生信文章“Unraveling Colorectal Cancer and Pan-cancer Immune Heterogeneity and Synthetic Therapy Response Using Cuproptosis and Hypoxia Regulators by Multi-omic Analysis and Experimental Validation”&#xff0c;这篇文…

ElasticSearch深度分页解决方案

文章目录 概要ElasticSearch介绍es分页方法es分页性能对比表方案对比 From/Size参数深度分页问题Scroll#性能对比向前翻页 总结个人思考 概要 好久没更新文章了&#xff0c;最近研究了一下es的深分页解决方案。和大家分享一下&#xff0c;祝大家国庆节快乐。 ElasticSearch介…

WorkPlus Meet:高效私有音视频会议,助力多场景协作

在当今数字化时代&#xff0c;远程协作和在线教育需求不断增长&#xff0c;企业和教育机构需要可靠的音视频会议工具来满足各种场景的需求。WorkPlus Meet&#xff0c;作为一款私有化音视频会议软件&#xff0c;强大而多功能&#xff0c;为用户提供了流畅的百人会议、实时协作、…

firefox_dev_linux下载安装配置(部分系统自带包请看结尾)

download 从 Firefox 的官方网站下载 Firefox Developer Edition 的 tar 文件 firefox_dev_linux_download # 终端快速下载 wget https://download.mozilla.org/?productfirefox-devedition-latest-ssl&oslinux64&langen-US彻底删除自带原版 # apt系 sudo apt --pu…

SpringBoot之异常处理

文章目录 前言一、默认规则二、定制异常处理处理自定义错误页面ControllerAdviceExceptionHandler处理全局异常ResponseStatus自定义异常自定义实现 HandlerExceptionResolver 处理异常 三、异常处理自动配置原理四、异常处理流程总结 前言 包含SpringBoot默认处理规则、如何定…

ubuntu x86_64 源码编译 rust 1.48.0

源码地址 GitHub - rust-lang/rust: Empowering everyone to build reliable and efficient software. git clone https://github.com/rust-lang/rust cd rust git checkout 1.48.0 ./configure ./x.py build 安装前执行cargo vendor yeqiangyeqiang-MS-7B23:~/Downloads/sr…