admin管理员组文章数量:1794759
Spring mvc基础入门详解
Spring mvc是当前最为流行的开发框架之一 有了它 我们可以高效方便的处理程序中的业务逻辑 因此在开发的时候 spring mvc主要用于业务层 要进一步学习spring mvc 我们首先要知道 spring mvc的基本原理
一、基本原理
spring mvc 中的 m 代表 模型 v 代表试图 c代表控制器 在这个框架中 有一个前端控制器 就是 DispatcherServlet
用来负责发送请求到合适的控制器 最后在渲染出视图来呈现给大家 下面 我们请看下图
首先是 第一步 用户浏览器发送了一个请求给 前置在控制器
第二步将请求传给处理映射器
然后在第三步找到合适的控制器
第四步 控制器返回模型及视图名称 传给前端控制器
第五步 通过前端控制器在第六步找到视图解析器 最后第七步解析出视图并且进行响应
通过刚才的基本原理介绍 我们来看看在eclipse中如何搭建一个spring mvc程序吧?
工具: jdk1.7 eclipse tomcat 7.0
所需jar包:
工程目录图:
想要源码的可以加我QQ:1725576075 也可以加QQ群 464096313去群共享要
下面我们进行第一步 配置前置控制器
打开web.xml 写入:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="www.w3/2001/XMLSchema-instance" xmlns="java.sun/xml/ns/javaee" xsi:schemaLocation="java.sun/xml/ns/javaee java.sun/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>spring</display-name> <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:springmvc.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>接着我们配置完前置控制器以后 我们要配置spring mvc 在springmvc.xml中写入(这里采用的是注解模式 因此该配置也是按照注解模式来配置bean)
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="www.springframework/schema/beans" xmlns:xsi="www.w3/2001/XMLSchema-instance" xmlns:context="www.springframework/schema/context" xmlns:mvc="www.springframework/schema/mvc" xsi:schemaLocation="www.springframework/schema/beans www.springframework/schema/beans/spring-beans.xsd www.springframework/schema/context www.springframework/schema/context/spring-context-4.0.xsd www.springframework/schema/mvc www.springframework/schema/mvc/spring-mvc-4.0.xsd"> <mvc:annotation-driven/> <mvc:resources location="/WEB-INF/resources/images/" mapping="/images/**"/> <mvc:resources location="/WEB-INF/resources/js/" mapping="/js/**"/> <mvc:default-servlet-handler/> <context:component-scan base-package="com.project.springmvc"/> <!-- 配置视图解析器 如何把handler 方法返回值解析为实际的物理视图 根据控制器返回的字符串拼接成jsp路径:/WEB-INF/jsp/xx.jsp --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name = "prefix" value="/WEB-INF/resources/"></property> <property name = "suffix" value = ".jsp"></property> </bean> <!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name = "prefix" value="/WEB-INF/resources/"></property> <property name = "suffix" value = ".jsp"></property> </bean> --> </beans>请注意 在这里我配置了mvc标签 该标签是用来加载静态文件的 如果不加上这个标签 spring mvc默认会对除了jsp文件以外的文件进行拦截 因此就会出现图片 css js之类的静态文件显示不出来的问题
其语法为:
<mvc:annotation-driven/> <mvc:resources location="静态文件路径" mapping="映射的路径 也就是说你在页面中要引用这个路径名才可以访问到静态文件"/> <mvc:default-servlet-handler/>控制器代码
package com.project.springmvc; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.view.json.MappingJackson2JsonView; import com.project.model.Shop; import com.project.model.UserInfo; @Controller public class Index { @RequestMapping(value="") public String index(){ return "index"; } } } @Controller:/*该注解代表该类为一个spring mvc控制器*/ @RequestMapping(value="")/*该注解为请求的路径名在value设置路径名 当浏览器请求路径名相同时 触发控制器*/index.jsp代码
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="java.sun/jsp/jstl/core"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "www.w3/TR/html4/loose.dtd"> <html> <head> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>返回这里</title> </head> <body> 第一个jsp页面<img alt="" src="/images/BG_14.jpg"> </body> </html>注意 因为我们在前面mvc标签中设置的静态文件映射路径为 /images/ 因此这里的src 路径也要写上 images版权声明:本文标题:Spring mvc基础入门详解 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686616352a86605.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论