搭建简单的springMvc框架

一、理论 

 我们知道spring有两大特性ioc与aop,那么作为它的子框架springmvc也用到了这两个特性。通过di(依赖注入)来实现ioc(控制反转)。这里就不回顾aop,重点看看ioc。网上的一篇帖子讲这个ioc很通俗易懂。说人每次去吃饭,都要去买(new)一双筷子,这就是人自己控制筷子的出现,所谓的控制正转。然而人总是会想办法减少重复性的工作,那么现在就有了ioc容器的诞生,人就买一双永久的筷子给ioc,每次要用的时候就告诉容器我需要一双筷子。那么这种将控制权交付到容器的方式就叫做控制反转。极大地减少了重复的工作。这就是spring中可以用bean进行一个注入,可以用注解进行注入,在spring初始化的时候初始化里面用的bean。

 作为一个web项目,以下主要通过六步来搭建这个一个简单的框架,1、引入jar依赖包2、springmvc的主配置文件 3、web.xml配置springmvc的相关配置4、后台控制层的编写 5、前端页面的编写 6、测试

二、搭建过程

1、引入依赖包

我们搭建的是maven项目,maven作为一个项目管理工具,使用起来很方便。

引入spring-web,spring-webmvc,servlet相关依赖。如果是非maven项目可以去官网下载对应的jar包,并导入项目。

<!-- Spring -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.2.2.RELEASE</version>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>4.2.2.RELEASE</version>
</dependency>
<!-- servlet -->
<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
     </dependency>
     <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
     </dependency>

2、springmvc的主配置文件

这里我只写了一个基础的配置文件,同时配置一个bean,如下所示:


spring通过配置文件注入java对象时,它是通过默认的无参构造函数来进

行初始化的,如果不存在无参构造函数,spring会报初始化异常的错误,如下


这个demo中我又加了一个spring的配置文件用于控制页面的跳转



这里也可以把这个配置问价加到上面的配置文件中,有一个order的属性是控制页面跳转时添加哪个后缀(jsp或者html),越小的数值等级越高。据我的研究只能用其中一种,比如

我的就只能用html来进行跳转。

3、配置web.xml

接下来我们就要把上面的spring配置文件给加入到web容器中。

自己新建的maven项目是没有web.xml文件的,那么需要自己建,目录如下:


在web.xml中加入以下配置文件:

<!-- 读取spring配置文件 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:application*.xml</param-value>
    </context-param>


    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>


    <!-- Spring MVC配置 -->
    <servlet>
        <servlet-name>spring-mvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath*:applicationContext.xml</param-value>
        </init-param>
    </servlet>


    <servlet-mapping>
        <servlet-name>spring-mvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>


    <!-- Spring字符集过滤器 -->
    <filter>
        <filter-name>characterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

4、后台控制层编写

以下就写了一个简单的控制器实现页面的传值

package com.yxf.demo.controller;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;


/**
 *@author
 *@date 2018年1月17日下午5:07:24
 */
public class TestController implements Controller{


@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("test");
return model;
}
}

5、页面

就写了一个简单的html页面,利用ajax调用,代码就不贴了,很简单

6、调试

启动服务,访问html页面,跳转到后台,这里默认的是GET请求,也可以直接在浏览器访问url。

以上一个简单的springmvc框架就搭建完成了。这里没有用到注解扫描,没有用转化器与过滤器。后面会把这些功能给添加进去,让我们的框架

更加简单易用。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值