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

十二、SpringMVC

1. SpringMVC环境搭建

1. 创建maven—web项目

2. 补全目录

3. 添加依赖

4. 加入tomcat插件

<dependencies><!--依赖了Spring框架核心功能的5个依赖以及Spring整合web的依赖spring-web--><dependency> <groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.16</version></dependency></dependencies><build><!--Tomcat插件--><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><path>/testwebproject</path><port>8849</port></configuration></plugin></plugins></build>

5. 创建控制器类,跳转到index.jsp

@Controller
public class TestController { //控制器类@RequestMapping("/test1")public String test1(){//响应给前端(浏览器)index.jsp页面:return "index.jsp";}
}

6. 新建Spring MVC框架配置文件springmvc.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"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttps://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--扫描控制器类,千万不要把service等扫描进来,也千万不要在Spring配置文件扫描控制器类所在包--><context:component-scan base-package="com.luo.controller"></context:component-scan><!--让Spring MVC的注解生效:@RequestMapping--><mvc:annotation-driven></mvc:annotation-driven>
</beans>

修改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"> 
</web-app>

7. 编写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"><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><!--springmvc.xml 名称自定义,只要和我们创建的配置文件的名称对应就可以了。--><param-value>classpath:springmvc.xml</param-value></init-param><!--Tomcat启动立即加载Servlet,而不是等到访问Servlet才去实例化DispatcherServlet--><!-- 配置上的效果:Tomcat启动立即加载Spring MVC框架的配置文件 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><!--/表示除了.jsp结尾的uri,其他的uri都会触发DispatcherServlet。此处千万不要写成/*--><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

2. SpringMVC获取普通参数

获取普通参数,只需要在控制单元中提供与请求参数同名的方法参数即可,Spring MVC会自动进行类型转换。

    @RequestMapping("/testParam")public String testParam(String name, int age){System.out.println(name+"---"+ age);return "index.jsp";}

3. 使用类对象作为控制单元参数

JavaBean:一个包含私有属性,getter/setter方法和无参构造方法的Java类,是不是感觉和实体类特别像。其实写法上和实体类相同。唯一区别是实体类是数据库层面的概念,类型中属性要和数据库字段对应。而JavaBean的属性是灵活的,不是必须和哪里对应的。

JavaBean是一个专业概念,可以简单点理解:使用类对象做为控制单元参数,接收请求参数,如果不是特别较真,狭义上可以认为JavaBean就是项目中的实体类。

在控制单元中放置一个类型对象,对象名称没有要求,只需要保证请求参数名和类的属性名相同就可以了。

public class Person {private String name;private int age;private double score;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public double getScore() {return score;}public void setScore(double score) {this.score = score;}public Person() {}public Person(String name, int age, double score) {this.name = name;this.age = age;this.score = score;}
}
    @RequestMapping("/testParam2")public String testParam2(Person p){System.out.println(p.getName()+"---"+ p.getAge()+"---"+p.getScore());return "index.jsp";}

http://www.dtcms.com/a/438205.html

相关文章:

  • 公司营销型网站建设成都建站seo
  • 什么是GO语言里面的GMP调度模型?
  • Traffic Filtering 流过滤 概念及题目
  • 198种组合算法+优化BiGRU双向门控循环单元+SHAP分析+新数据预测+多输出!深度学习可解释分析,强烈安利,粉丝必备!
  • 兼职开发网站开发建设网站需要学什么
  • SQLite 简介
  • TypeScript 中的 JSX 详解
  • Codesys如何读取轴的当前控制模式
  • 高性能网站建设指南 京东模拟网站开发
  • 一元购网站建设教育类网站策划书
  • 2025 AI 落地全景:从技术热潮到产业重构
  • 解析动态数据:如何抓取 JavaScript 加载的 AJAX 内容
  • 聚焦技术落地,展现 AI 重构产业的实践路径。
  • 番禺网站(建设信科网络)小卖部做网站
  • 【氮化镓】P-GaN:提高高温栅极寿命的解决方案
  • 商洛做网站多少钱珠海网站制作哪家便宜
  • 唐山中企动力做网站用php做电子商务网站
  • 05_Pandas数据结构
  • OSPF协议详解3:网络类型、SPF算法、路由选择与特殊区域
  • 10.3总结
  • 算法比赛中的浮点数精度陷阱:从一个货币分解问题说起
  • 昆明手机网站开发不到网站是为什么
  • 反爬虫机制深度解析:从基础防御到高级对抗的完整技术实战
  • 爬坑 10 年!京东店铺全量商品接口实战开发:从分页优化、SKU 关联到数据完整性闭环
  • LeetCode每日一题——判断能否形成等差数列
  • springboot整合sa-token报未能获取有效的上下文处理器
  • 和别人做网站接单赚钱企业网站开发技术期末试题
  • AI-调查研究-93-具身智能 机器人仿真工具大全:从Gazebo到Isaac Sim的全面对比 六大仿真平台
  • 【计算机视觉】霍夫变换检测
  • 【Java核心技术/基础】25道Java核心技术基础面试题及答案