springMVC-原理及入门案例

基本介绍

(1)springMVC是以spring为基础,因此在使用时,需要先将spring jar引入.

(2)SpringMVC是MVC框架,工作在WEB层,替代Strts2.可以超越struts2框架.

(3)SpringMVC相对于Struts2来说,更加简洁,是一个轻量级的框架,没有struts2框架重

(4)SpringMVC通过一套注解(对POJO类),可以快速的实现功能让一个POJO类就成为功能强大的Controller.

(5)市面上使用多―

(6)Spring.MVC的核心jar spring-webmvc-4.0.0.RELEASE.jar,引入到Spring中即可!

快速入门案例

以一个用户登录案例,来画一个SpringMVC的工作原理(简易版

画出一个时序图(从调用的时间顺序来看SpringMVC是如何工作的)

示例:

1、在idea创建一个 maven模版搭建的web工程(具体如何创建web工程,以及如何测试tomcat,另外写有文档),并添加依赖

2、首先是在web.xml中配置中央处理器springDispatcherServlet

XML 复制代码
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <servlet>
    <servlet-name>springDispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--    假如不在默认位置(WEB-INF下,默认名称必须是 springDispatcherServlet-servlet.xml),
可以使用以下代码自定义-->
    <!--    <init-param>-->
    <!--      <param-name>contextConfigLocation</param-name>-->
    <!--      <param-value>classpath:WEB-INF/springDispatcherServlet-servlet.xml</param-value>-->
    <!--    </init-param>-->
    <!--    表示tomcat加载servlet的顺序,数字越小越先加载-->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springDispatcherServlet</servlet-name>
    <!--    这里注意这种url请求形式配置成/这样支持restfulT-->
    <url-pattern>/</url-pattern>
  </servlet-mapping>

</web-app>

3、配置中央处理器dispatcherServlet , 这个文件与sping的ioc使用的xml一样创建。

注意这个文件的存放位置默认是 WEB-INF下,且名称必须为 (servletName)-servlet.xml

配置自动扫描包,以及InternalResourceViewResolver

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 http://www.springframework.org/schema/context/spring-context.xsd">
<!--配置自动扫描包-->
    <context:component-scan base-package="com.bin.springMVC.*"/>
<!--配置用 InternalResourceViewResolve
    如果我们在目标方法返回一个"loginoK"则真实的资源就是
    prefix/名字/suffixloginOK => /WEB-INF/pages/loginOk.jsp-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
        </bean>
    </beans>

4、创建登录页面(webapp下创建)

html 复制代码
<body>
<h1>登录</h1>
<form action="login" method="post">
    <p>用户名:<input type="text" name="username"></p>
    <p>密码:<input type="password" name="password"></p>
    <p>登录:<input type="submit" name="登录"></p>
</form>
</body>
</html>

5、创建登录成功页面(pages文件夹下创建)

html 复制代码
<html>
<head>
    <title>Title</title>
    <h1>登录成功</h1>
</head>
<body>

</body>
</html>

6、创建handler类()

java 复制代码
@Controller
public class UserHandler {
    @RequestMapping(value = "login")
    public String login() {
        System.out.println("登录了");
        return "loginOK";
    }
}

7、部署到tomcat,并运行

相关推荐
拉玛干6 小时前
社团周报系统可行性研究-web后端框架对比-springboot,django,gin
数据库·python·spring·golang
程序员大金8 小时前
基于SSM+Vue+MySQL的酒店管理系统
前端·vue.js·后端·mysql·spring·tomcat·mybatis
努力的布布8 小时前
Spring源码-从源码层面讲解声明式事务的运行流程
java·spring
程序员大金8 小时前
基于SpringBoot的旅游管理系统
java·vue.js·spring boot·后端·mysql·spring·旅游
爱上语文8 小时前
Springboot三层架构
java·开发语言·spring boot·spring·架构
你知道“铁甲小宝”吗丶10 小时前
【第33章】Spring Cloud之SkyWalking服务链路追踪
java·spring boot·spring·spring cloud·skywalking
听封10 小时前
Thymeleaf 的创建
java·spring boot·spring·maven
huapiaoy11 小时前
Spring mvc
java·spring·mvc
你知道“铁甲小宝”吗丶12 小时前
【第34章】Spring Cloud之SkyWalking分布式日志
java·spring boot·spring·spring cloud·skywalking