springmvc框架简介
Spring Web MVC 是一种基于 Java 的实现了 Web MVC 设计模式的请求驱动类型的轻量级 Web 框架,即使用了 MVC 架构模式的思想,将 web 层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC 也是要简化我们日常 Web 开发的。
springmvc环境搭建
1.首先配置web.xml文件
一般是要把原来的xml文件删除 然后粘贴一下<web-app>中的模板 小白先可以不用写 <init-param> 标签 因为SpringMVC默认加载web-inf下的配置文件,文件名必须为:[前端控制器select名]-servlet.xml举个例子 我在<servelet-name>标签中写了springmvc1 在WEB-INFO下肯定就要有一个springmvc-servlet文件
<?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 后面的mapping就肯定有一个springmvc-->
<servlet-name>springmvc1</servlet-name>
<!--servlet-class 固定写法-->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springmvc1</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
2.配置springmvc文件
web 开发中,我们基本上不再通过 XML 或者 Java 配置来创建一个 Bean 的实例,而是直接通过组件扫描来实现 Bean 的配置,如果要扫描多个包,多个包之间用 逗号(,) 隔开即可,也可以同时配置多个以下标签: 不用写bean了 因为写bean的话每写一个Controller就要写一个bean--太麻烦了 我们可以把所有Controller放入一个包 直接进行组件扫描包的形式
<?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/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 http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--自定义扫描包名 里面全是控制器
<context:component-scan base-package="处理器类所在包名"/> -->
<context:component-scan base-package="com.ya.web"></context:component-scan>
<!--配置注解驱动加载器 配置了之后可以使用很多注解 -->
<mvc:annotation-driven/>
<!--配置视图层前后缀 目的是为了你一会return的地址 直接写地址名就可以
一般都是固定写法-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--配置前缀:-->
<property name="prefix" value="/pages/"/>
<!--配置后缀:-->
<property name="suffix" value=".jsp"/>
</bean>
</beans>
3.写处理器/控制器-web下面写
注意返回值 我返回的直接就是是视图层下的 文件名 是因为上面已经配置了前后缀 -> 将逻辑地址转换为了物理地址 所以我直接写 名字就可以了 在域中写值 是为了前端能够取到值
package com.ya.web;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
//@Controller表示这个类全是控制器
public class MyController {
@RequestMapping("/hello")
//这个 @RequestMapping 注解表示一会找的时候在url中输入 /hello 找到这个指定的控制器
public String handle(Model model){
//往域中放值-比如我在这边指定了key是name
// 这里就像k-v大法一样 我一会在前端取值的时候通过name 把hello-springmvc 取到
model.addAttribute("name","hello-springmvc");
//返回的这个值是视图层下的文件名 在这里已经制定了文件名一会就必须照着去创建
return "hello";
}
}
4.写视图层pages
视图层名字要和之前写的前后缀一样哈 我写的前缀是pages 后缀是.jsp 行业也一般这么写
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<!--引用我刚才在域中放的key-->
<h1>hello ${name}</h1>
</body>
</html>
目录展示 --> 可以通过以下目录形式 更清晰
结果 说明环境搭建完成
如有瑕疵还望指出
版权声明:本文为m0_60284144原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。