MVC环境搭建

MVC环境搭建

1.引入依赖

  <!-- 集成 spring 框架 --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.2.13.RELEASE</version></dependency><!-- 集成 web 框架 --><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.2.13.RELEASE</version></dependency><!-- SpringMVC --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.13.RELEASE</version></dependency>

2. 修改项目web-inf下的web.xml

<web-app><display-name>Archetype Created Web Application</display-name><!--配置过滤器 解决中文乱码问题--><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!--初始化CharacterEncodingFilter类时所需要的参数--><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param><!--响应的字符集也强制按照设置的encoding--><init-param><param-name>forceResponseEncoding</param-name><param-value>true</param-value></init-param></filter><!--表示过滤器对哪些请求生效 匹配请求地址--><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><servlet><!--配置springmvc框架入口--><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springMVC-servlet.xml</param-value></init-param><!--在项目启动时就创建 默认为在使用时创建--><load-on-startup>1</load-on-startup></servlet><!--另一种映射方式--><!--    &lt;!&ndash;声明 servlet &ndash;&gt;--><!--    <servlet>--><!--        <servlet-name>test</servlet-name>--><!--        <servlet-class>com.j3071.mvc.servlet.TestServlet01</servlet-class>--><!--    </servlet>--><!--    &lt;!&ndash;建立 servlet 映射&ndash;&gt;-->
<!--    <servlet-mapping>-->
<!--        <servlet-name>test</servlet-name>-->
<!--        <url-pattern>/test</url-pattern>-->
<!--    </servlet-mapping>--><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

3.在resources目录下添加 springMVC-servlet.xml 内容如下

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"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/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--基于beanname的方式-->
<!--    <bean name="/testmvc" class="com.j3071.mvc.controller.BeanNameController"></bean>--><!--注解映射的方式--><context:component-scan base-package="com.j3071.mvc.controller"/><!--配置注解驱动--><mvc:annotation-driven/><!--配置解析物理地址的方式--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"/><!--jsp的路径 如果在jsp包下 /jsp/--><property name="suffix" value=".jsp"/><!--后缀--></bean>
</beans>

4.编写controller

package com.j3071.mvc.controller;/** @Date:2023/11/16* @Description:com.j3071.mvc.controller*/import com.alibaba.fastjson.JSONObject;
import com.j3071.mvc.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;@Controller
public class AnnController {//设置映射路径@RequestMapping("/testAnn")public ModelAndView m1(){ModelAndView modelAndView=new ModelAndView();modelAndView.setViewName("test01");return modelAndView;}@RequestMapping("/testAnn1")public ModelAndView m2(@RequestParam("userName") String userName,@RequestParam("passWord") String passWord){System.out.println(userName);System.out.println(passWord);ModelAndView modelAndView=new ModelAndView();modelAndView.setViewName("test01");return modelAndView;}@RequestMapping("/testAnn2")public ModelAndView m3(User user){System.out.println(user.getUserName());System.out.println(user.getPassWord());ModelAndView modelAndView=new ModelAndView();modelAndView.setViewName("test01");//设置返回的数据 作用于req.setAttribute()一样modelAndView.addObject("message","登陆成功");return modelAndView;}/*** 如何返回json数据* @return*/@RequestMapping("/testJson")@ResponseBodypublic String m4(){User user=new User();user.setUserName("张三");user.setPassWord("123456");//方法返回值是String时 默认为返回的是页面 如果想返回String数据本身那么使用@ResponseBody注解//return "test01";return JSONObject.toJSONString(user);}
}

5.Controller接收参数

@Controller
public class AnnController {//按参数来接收@RequestMapping("/testAnn1")public ModelAndView m2(@RequestParam("userName") String userName,@RequestParam("passWord") String passWord){System.out.println(userName);System.out.println(passWord);ModelAndView modelAndView=new ModelAndView();modelAndView.setViewName("test01");return modelAndView;}//按对象来接收@RequestMapping("/testAnn2")public ModelAndView m3(User user){System.out.println(user.getUserName());System.out.println(user.getPassWord());ModelAndView modelAndView=new ModelAndView();modelAndView.setViewName("test01");//设置返回的数据 作用于req.setAttribute()一样modelAndView.addObject("message","登陆成功");return modelAndView;}}

6.处理form请求 返回ModelAndView

  @RequestMapping("/testAnn2")public ModelAndView m3(User user){System.out.println(user.getUserName());System.out.println(user.getPassWord());ModelAndView modelAndView=new ModelAndView();modelAndView.setViewName("test01");//设置返回的数据 作用于req.setAttribute()一样modelAndView.addObject("message","登陆成功");return modelAndView; }

7.处理ajax请求返回json数据 添加@ResponseBody注解

  /*** 如何返回json数据* @return*/@RequestMapping("/testJson")@ResponseBodypublic String m4(){User user=new User();user.setUserName("张三");user.setPassWord("123456");//方法返回值是String时 默认为返回的是页面 如果想返回String数据本身那么使用@ResponseBody注解//return "test01";return JSONObject.toJSONString(user);}

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

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

相关文章

32位MCU极致性价比高速风筒方案特点--【其利天下技术】

近年来&#xff0c;伴随着人们消费升级及现代工业技术水平的提升&#xff0c;电吹风市场已经步入了绿色节能、高效多功能化的发展阶段。人们对电吹风的需求和要求都在不断增加。然而&#xff0c;传统电吹风采用交流电机&#xff0c;使用寿命有限&#xff0c;维护不方便&#xf…

数据可视化---双Y轴折线图比较

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…

嵌套json 数组结构

{"bills": [{"billNo": "J2302001","printer": "陈美伶","billDate":"2023-04-18 10:05:23","skuQty": 2,"styleQty": 1,"totalQty": 2,"tagPrintDetails": […

FFmpeg零基础学习(五)——Qt 如何调用ffmpeg.exe执行命令

目录 前言正文一、核心代码END、总结的知识与问题 参考 前言 本篇文章讲述如何使用Qt 来调用ffmpeg.exe 执行相关的命令。方法较为简单&#xff0c;但由于也属于ffmpeg学习的一个小知识点&#xff0c;所以&#xff0c;也单独写一篇文章进行总结。 正文 一、核心代码 将ffmp…

BigDecimal中divide方法详解

BigDecimal中divide方法详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;让我们一起深入探讨Java中BigDecimal的divide方法&#xff0c;揭开这个…

文件相关工具类Utils(WORD,PDF,PNG)

导读&#xff0c;此工具类中包含以下功能&#xff1a; 1、文件后缀判断 2、图片后缀判断 3、word后缀判断 4、Excel后缀判断 5、PDF后缀判断 6、使用pdfbox将整个pdf转换成图片 7、pdf2word 8、word2PDF 9、向PDF指定页插入图片 10、PDF指定位置覆盖 11、删除文件夹及以下文件&…

【为数据之道学习笔记】5-7五类数据主题联接的应用场景

在数字化转型的背景下&#xff0c;华为的数据消费已经不再局限于传统的报表分析&#xff0c;还要支持用户的自助分析、实时分析&#xff0c;通过数据的关联&#xff0c;支持业务的关联影响分析以及对目标对象做特征识别&#xff0c;进行特定业务范围圈定、差异化管理与决策等。…

Linux CentOS7安装harbor

1、下载harbor离线包 wget https://github.com/goharbor/harbor/releases/download/v2.4.2/harbor-offline-installer-v2.4.2.tgz 2、解压安装 tar -zxvf harbor-offline-installer-v2.4.2.tgz #解压离线安装包 3、配置harbor cd harbor #切换到harbor目录下…

RabbitMQ入门指南(二):架构和管理控制台的使用

专栏导航 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、RabbitMQ架构 二、RabbitMQ管理控制台的使用 1.Exchange交换机 2.Queue队列 3.绑定Exchange交换机和Queue队列 4.发送消息 5.数据隔离 总结 前言 RabbitMQ是一个高效、可靠的开源消息队列系统…

阅览窗格功能虽然便利,但有时会出错,特别是在Word和Excel文件中更为常见

当你打开预览窗格功能时&#xff0c;每次你打开Windows文件资源管理器并选择任何文件&#xff0c;你将在屏幕的右窗格上看到该文件的小预览缩略图。 由于这个新功能&#xff0c;你可以在Windows资源管理器的右窗格上以缩略图的形式看到文件的小预览。此功能在更快地识别文件方…

Redis之INCR命令,通常用于统计网站访问量,文章访问量,分布式锁

前言 Redis的INCR命令用于将键的值增加1。如果键不存在&#xff0c;则会先将键的值设置为0&#xff0c;然后再执行INCR操作。INCR命令的作用是对计数器进行自增操作&#xff0c;可以用于实现多种场景&#xff0c;比如统计网站访问量、文章访问量、分布式锁等。 一、Redis键之…

打破“造车”嫌疑,华为“造车”另辟蹊径

9月25日&#xff0c;在华为秋季全场景发布会的一片“遥遥领先”呐喊声中&#xff0c;余承东并没有如市场预期那般&#xff0c;给主角Mate60系列补上应有的聚光灯&#xff0c;但却给汽车业务留下满满的彩蛋。 在升任华为汽车BU董事长不到一周&#xff0c;余承东就先向特斯拉开出…

Axure交互样式,交互事件,交互动作,情形基本介绍及使用,完成ERP的菜单跳转到各个页面的跳转案例,省市联动案例,下拉刷新案例

目录 一.Axure交互样式 二.交互事件 三.情形 四.交互动作 五. 完成ERP的菜单跳转到各个页面的跳转 ​编辑 五. 省市联动 ​六.下拉刷新 一.Axure交互样式 鼠标悬停;鼠标按下;选中;禁用;获取焦点; 悬停就是鼠标放上去时&#xff0c;按下是鼠标左键单击&#xff0c;选中是…

【深度学习目标检测】九、基于yolov5的路标识别(python,目标检测)

YOLOv5是目标检测领域一种非常优秀的模型&#xff0c;其具有以下几个优势&#xff1a; 1. 高精度&#xff1a;YOLOv5相比于其前身YOLOv4&#xff0c;在目标检测精度上有了显著的提升。YOLOv5使用了一系列的改进&#xff0c;如更深的网络结构、更多的特征层和更高分辨率的输入图…

14:00面试,14:05就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到12月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40…

【Vue2】Component template should contain exactly one root element.

问题描述 [plugin:vite:vue2] Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead.原因分析 这个错误通常是由于 Vue 组件的模板中包含多个根元素导致的。Vue 要求组件模板中只…

HTML基础

目录 1.格式化文本1.1.& nbsp1.2.设置水平分割线粗细为51.3.粗细为5且颜色为 #0033ff1.4.对齐方式1.5.两端对齐代码小结 2.段落2.1.块级标记2.2.那些块级标记不能包含其他块级标记&#xff0c;哪些可以2.3.hr标签如何设置高度2.4.拼音音标注释ruby标记和rt/rp标记2.5.block…

.bash_history|.bashrc|.bash_logout|.profile的作用分别是啥

这些文件都是与 Bash shell&#xff08;在 Unix 和 Linux 系统上常用的命令行界面&#xff09;相关的配置文件。它们的作用如下&#xff1a; .bash_history 这是一个隐藏文件&#xff0c;存储了用户在命令行中输入的命令历史。每当用户退出 shell 时&#xff0c;新的命令历史…

纵横字谜的答案 Crossword Answers

纵横字谜的答案 Crossword Answers - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 翻译后大概是&#xff1a; 有一个 r 行 c 列 (1<r,c<10) 的网格&#xff0c;黑格为 * &#xff0c;每个白格都填有一个字母。如果一个白格的左边相邻位置或者上边相邻位置没有白格&…

Wireshark在云计算中的应用

第一章&#xff1a;Wireshark基础及捕获技巧 1.1 Wireshark基础知识回顾 1.2 高级捕获技巧&#xff1a;过滤器和捕获选项 1.3 Wireshark与其他抓包工具的比较 第二章&#xff1a;网络协议分析 2.1 网络协议分析&#xff1a;TCP、UDP、ICMP等 2.2 高级协议分析&#xff1a;HTTP…