java框架springmvc_【java框架】SpringMVC(1)--SpringMVC入门

1.SpringMVC框架认识

Spring MVC是一个基于MVC模式的Web框架,SpringMVC作为Spring中的一个模块,它与Spring能够无缝集成,主要用于解决企业Web开发中常见的问题:如参数接收、文件上传、表单验证、国际化等等。

2.SpringMVC框架入门使用

2.1.基础环境jar包配置

①配置Spring的环境

准备Spring的环境——SpringMVC以Spring为核心,而Spring最核心的模块是DI/IOC容器,也就是SpringMVC的核心类和控制器要交给Spring管理。所以使用SpringMVC必须先保证Spring容器初始化,也就是让项目拥有Spring的运行环境。

基于Spring的初始化环境需要导入Spring的核心包与beans包(使用spring-framework-4.1.2.RELEASE),jar包目录位置在\spring-framework-4.1.2.RELEASE\libs文件中:

需要导入:

com.springsource.org.apache.commons.logging-1.1.1.jar

spring-beans-4.1.2.RELEASE.jar

spring-context-4.1.2.RELEASE.jar

spring-core-4.1.2.RELEASE.jar

spring-expression-4.1.2.RELEASE.jar

a4aea900c268014ed20cf7132b675e82.png

配置applicationContext.xml,具体配置参照如下:

http://www.springframework.org/schema/beans/spring-beans.xsd">

创建Junit4测试类查看是否获取到配置的Bean对象:

importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;public classSpringEnvTest {

@org.junit.Testpublic voidGetBeanTest(){//读取资源文件applicationContext.xml//拿到ApplicationContext核心对象

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");

System.out.println("-------------实例化分割线--------------------");//获取Bean同样具有三种方式:这里不再一一列出

Object myDate = applicationContext.getBean("myDate");

System.out.println(myDate);

}

}

②配置SpringMVC的环境

SpringMVC作为Spring中的一个模块存在,无需单独下载,Spring的lib文件中就包含了SpringMVC的jar包。

jar包目录位置也是在\spring-framework-4.1.2.RELEASE\libs中,需要导入的jar包:

spring-web-4.1.2.RELEASE.jar

spring-webmvc-4.1.2.RELEASE.jar

26c249f136378522c07d4320de6cbb8b.png

2.2.在web.xml中配置核心控制器DispatcherServlet

在SpringMvc框架中使用的是DispatcherServlet作为核心控制器,DispatcherServlet核心控制器会拦截匹配的请求,把拦截下来的请求,依据相应的规则分发到目标Controller来处理。

所以,我们要在web.xml中配置SpringMVC的核心控制器DispatcherServlet,具体配置如下:

web.xml配置:

dispatcherServlet

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:applicationContext-mvc.xml

1

dispatcherServlet

/

2.3.配置SpringMVC的配置文件

SpringMVC的配置文件和Spring的配置差不多,在resources目录中新建一个applicationContext-mvc.xml文件即可,需要配置映射Controller类的映射路径及class:

http://www.springframework.org/schema/beans/spring-beans.xsd">

2.4.准备Controller控制器并配置

这里需要创建一个HelloController类来实现Controller接口,实现handleRequest()方法:

importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;public class HelloController implementsController {/***

* 控制层业务处理:①参数的接收;②调用Service层的业务逻辑;③返回一个视图

*@paramequest

*@paramresponse

*@return*@throwsException*/@Overridepublic ModelAndView handleRequest(HttpServletRequest equest, HttpServletResponse response) throwsException {

System.out.println("进入Springmvc Controller视图模型控制器......");

String view= "/WEB-INF/views/hello.jsp"; //视图

String modelName = "msg"; //模型名字

Object modelObject = "helloObj"; //模型对象

ModelAndView modelAndView = newModelAndView(view, modelName, modelObject);returnmodelAndView;

}

}

2.5.根据applicationContext-mvc.xml访问映射路径

运行Tomcat并启动web项目,访问配置的url路径,即可访问到对应的/hello映射的/WEB-INF/views/hello.jsp文件。

49900f7a3a037c1a3c3e58de5a9ab975.png

3.   SpringMVC入门Demo的执行流程分析

从上面的使用配置过程我们可以分析得出SpringMVC的执行流程:

首先,我们通过浏览器客户端发起请求(localhost:8080/hello),这个请求会被web.xml中配置的核心控制器DispatcherServlet所拦截,拦截到的请求地址会交由配置在classpath下的applicationContext-mvc.xml SpringMVC的配置文件中去找到对应的bean的请求url,并且找到对应的Bean class,通过Bean class配置再找到对应的Controller,通过Controller中的handleRequest()方法返回的对应的ModelAndView视图,返回对应的hello.jsp页面,通过页面hello.jsp去呈现页面上的内容。

4.   静态资源文件访问放行

通过上面的配置,我们如果在Webapp路径下存在静态资源(.html与css/js)文件时,我们通过浏览器直接去访问是访问不了的,会出现404 not find问题。

8fc4de999237baedeff4fb00781a4717.png

原因就在于我们在web.xml中默认配置了拦截所有的请求,我们需要在SpringMVC的配置文件applicationContext-mvc.xml中去开启对静态资源的访问:

applicationContext-mvc.xml具体配置如下:

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc.xsd">

配置之后,通过浏览器页面就能访问到webapp路径下的静态资源文件了。

8c7e5a53fa4a7a8aa86b98ff1b5d1786.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值