首页 > 其他分享 >Spring MVC基础(一):HelloWorld案例

Spring MVC基础(一):HelloWorld案例

时间:2022-10-01 13:07:20浏览次数:58  
标签:www http Spring springframework MVC HelloWorld ModelAndView org servlet

  • 构建1个maven项目
  • Spring MVC基础(一):HelloWorld案例_Spring MVC

  • pom.xml
    <packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
</dependency>
</dependencies>
  • 新建webapp目录
  • Spring MVC基础(一):HelloWorld案例_Spring MVC_02

  • 新建web.xml
  • Spring MVC基础(一):HelloWorld案例_java_03


  • Spring MVC基础(一):HelloWorld案例_Spring MVC_04


  • Spring MVC基础(一):HelloWorld案例_xml_05

<?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>
<param-value>classpath:spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

</web-app>
  • webapp目录下新建jsp目录,新建hello.jsp
  • Spring MVC基础(一):HelloWorld案例_java_06

<%--
Created by IntelliJ IDEA.
User: sang
Date: 2021/2/5
Time: 21:23
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
hello ${name}!
</body>
</html>
  • spring-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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">

<!--首先配置一个 MyController 的实例-->
<bean class="com.ychen.mvc.controller.MyController" name="/hello"/>

<!--配置处理器映射器,将前端请求和后段的接口关联起来-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" id="handlerMapping">
<property name="beanName" value="/hello"/>
</bean>
<!--处理器适配器-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" id="handlerAdapter"/>
<!--视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="viewResolver">
<property name="prefix" value="/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
  • MyController
public class MyController implements Controller {

/**
* 这个方法用来处理请求
* @param request 这个就是前端发送来的请求
* @param response 这个就是服务端给前端的响应
* @return 返回 ModelAndView,Model 就相当于我们的 数据模型,View 则是视图
* @throws Exception
*/
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
// 创建1个视图hello,并添加数据,最后返回
ModelAndView mv = new ModelAndView("hello");
mv.addObject("name", "javaboy");
return mv;
}

}

Spring MVC基础(一):HelloWorld案例_xml_07

  • 配置tomcat
  • Spring MVC基础(一):HelloWorld案例_java_08


  • Spring MVC基础(一):HelloWorld案例_xml_09

  • 启动测试
  • Spring MVC基础(一):HelloWorld案例_Spring MVC_10

  • 工作流程如下
# 前端访问url,去找对应的bean
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" id="handlerMapping">
<property name="beanName" value="/hello"/>
</bean>
# 找到对应的bean
<bean class="org.javaboy.springmvc01.controller.MyController" name="/hello"/>
# 在对应的bean中创建视图模式
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
// 创建1个视图hello,并添加数据,最后返回
ModelAndView mv = new ModelAndView("hello");
mv.addObject("name", "javaboy");
return mv;
}
# 解析前后缀
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="viewResolver">
<property name="prefix" value="/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
# 找到对应的jsp页面



标签:www,http,Spring,springframework,MVC,HelloWorld,ModelAndView,org,servlet
From: https://blog.51cto.com/chniny/5728226

相关文章

  • Spring MVC入门(一):入门案例
    mvc简介MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分M:Model,模型层,指工程中的JavaBean,作用是处理数据JavaBean分为两类:一类称为实体类Bean:专门存储业务数......
  • gradle构建spring boot项目
    当前​​案例地址​​构建gradle项目配置字符集、注解生效激活、JavaCompiler使用IDE自带的gradle测试打包​​参考​​拉取依赖dependencies{testCompilegroup:'ju......
  • spring boot导出word
    案例一​​参考​​使用这种方式时会报错:​​org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException:Novalidentr​​案例二导出excel导出word导出word表格导......
  • springboot导入(导出)excel
    案例一导入sql​​启动项目访问localhost:8080进入首页​​​​可将数据库中数据导出到本地​​​​将导出本地的excel修改后再次上传,查看数据库​​......
  • Spring03:展现模型数据、处理及校验表单
    1展现模型数据1.1图解过程在上一节“Spring-02:构建并运行基础Spring应用”中,我们运行的基础应用所展现的视图home.html还未包含任何领域类的信息,如下图:想要构建真实......
  • Springboot聚合工程打包:代码正确,但打包出错找不到类
    第一步:在父项目pom的modules中将改子项目的module删掉,然后打包父项目因为没有了报错的子项目那么父项目是可以打包成功的。<modules><module>wego-common</module>......
  • Spring源码-autowireByName
    autowireByNameprotectedvoidautowireByName( StringbeanName,AbstractBeanDefinitionmbd,BeanWrapperbw,MutablePropertyValuespvs){ String[]propertyNa......
  • springboot+vue前后端分离项目搭建
    今天开始学习springboot+vue的前后端分离项目,跟着bili的视频开始做起。第一步安装node.js node.js自带npm插件,npm是node的一个包管理工具,安装好了node.js,就安装了npm......
  • 多版本并发控制:MVCC使用案例
    简介MVCC在READCOMMITTD、REPEATABLEREAD这两种隔离级别的事务才执行快照读操作时访问记录的版本链的过程。这样使不同事务的读-写、写-读操作并发执行,从而提升系统性能案......
  • Spring源码-populateBean填充bean属性
    一、bean属性注入模式AutowireCapableBeanFactory/***没有自动装配*/intAUTOWIRE_NO=0;/***按照名字自动装配*/intAUTOWIRE_BY_NAME=1;/***按......