1:首先大体知道 SpringMVC 框架的 运行原理(图片来自网络 )

2:SpringMVC 是依照DispatcherServlet 展开的

这里可以约Structs2对比,structs2 是依照过滤器展开的; 下面就用一个 Demo来 搭建一个 SpringMVC,框架;

3:搭建的过程如下:

a:首先将需要的jar包 导入:lib下:

  

b:接下来配置 SpringMVC的 核心DispatcherServlet

  在项目web.xml 下配置:

(这里注意的是:servlet-name [SpMvcDemo]这个命名, 在后面 配置 控制器xml文件时需要 用到!)

c:接下里来创建 控制器xml 文件;

在项目WebContent下 创建xml 文件 ;(重要的是:该文件的 命名规则:[servlet-name]-servlet.xml) 例如这里的项目控制xml 配置命名:SpMvcDemo-servlet.xml

d:接下来在创建的控制xml文件中 (结尾提供源码)

 

  配置 HandlerMapping 按照 benaname 来指定 Contorller 
  创建 bean name=SpmvcDemo.do  映射到 Hellocontroller (处理请求类)

                      d(1):创建发出请求的 jsp 页面 我用的Demo.jsp  简单的 <form>表单提交数据请求:

                        

          d(2):注意这里的 action =“” 在Demo调试的时候 通过 action 来将请求分发到 那个 Controller类中处理请求,同时也由该类做response;

e:接下来创建 Controller 控制类:(此次Demo的Controller是 Hellocontroller  )

创建要求:继承AbstractController重写handleRequestInternal方法(创建的时候 自动重写)

     e(1):在handleRequestInternal方法中:ModelAndView 做response 和 数据的传递:

                          

f:接下来,创建Demo_to.jsp 用来测试 数据的回现(EL 表达式)

              

g:最后配置 ModelAndView 前缀后缀  配置试图解析器!!(在 控制xml 中)

              

实质上就是在为访问的 jsp 页面拼接url,/Demopath/ 在项目中 是个文件夹;方便管理项目;

h:完成 框架的搭建 调试项目吧;

附上源码:

SpMvcDemo-servlet.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:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
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-3.0.xsd"> <!-- 配置 handlerMapping 直接引入一个 类 -->
<bean
class="org.springframework.web.servlet.mvc.support.ControllerBeanNameHandlerMapping"></bean> <!-- 配置 hanlder 分发 Contorller -->
<bean name="/SpmvcDemo.do" class="demo_controller.Hellocontroller"></bean>
<!-- 配置 ModelAndView 前缀后缀 -->
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/Demopath/"></property>
<!-- 后缀 -->
<property name="suffix" value=".jsp"></property>
</bean> </beans>

  web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>SpringMVC_demo</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>SpMvcDemo</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SpMvcDemo</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>

Hellocontroller.java

package demo_controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController; import sun.misc.Request; public class Hellocontroller extends AbstractController { @Override
protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
// TODO Auto-generated method stub String hello = arg0.getParameter("hello");
System.out.println("----:"+hello);
ModelAndView mav = new ModelAndView("Demo_to");
mav.addObject("helloword", "SpringMvc "+hello);
return mav; } }

不喜勿碰,技术有限 ,谢谢点评;一起加油!

Spring Mvc 用Demo去学习的更多相关文章

  1. ContextLoaderListener和Spring MVC中的DispatcherServlet学习

    DispatcherServlet介绍 DispatcherServlet是Spring前端控制器的实现,提供Spring Web MVC的集中访问点,并且负责职责的分派,与Spring IoC容器无 ...

  2. Spring mvc 中 DispatcherServlet 的学习和理解

    上图表示当客户请求来到时,spring架构作出响应的流程,可以从图中看到看到请求分发的中心就是 DispatcherServlet 类,DispatcherServlet的任务是将请求发送给Sprin ...

  3. Spring MVC入门Demo

    1 参考http://blog.csdn.net/haishu_zheng/article/details/51490299,用第二种方法创建一个名为springmvcdemo的Maven工程. 2  ...

  4. Spring Mvc 入门Demo

    1.web.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns=" ...

  5. ContextLoaderListener和Spring MVC中的DispatcherServlet学习 随手记

    Servlet上下文关系 DispatcherServlet的上下文是通过配置servlet的contextConfigLocation来加载的,默认实现是XmlWebApplicationConte ...

  6. 用intellj 建一个spring mvc 项目DEMO

    spring的起初可能经常碰壁,因为网上的资料都是混乱的xml堆成的,混乱难以理解,我这个也是,阿哈哈哈哈! 新建一个Maven->create from archetype->org.j ...

  7. Spring MVC Mock demo

    package com.niwodai.mem.web.controller; import com.alibaba.fastjson.JSON; import org.junit.Before; i ...

  8. Spring MVC 单元测试Demo

    @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration @ContextConfiguration(locations={" ...

  9. spring mvc velocity多视图

    1.ViewResolverUrlBasedViewResolver 这个东西是根据url 进行路由的.网上搜了 1.order 排序,同名出现各种问题 2.XmlViewResolver,BeanN ...

随机推荐

  1. 某直播App问题分析

    某直播App问题分析 一. 出现问题 观看自己开播的直播间,经常出现卡顿,而且画面一卡6,7s,重新播放时会出现跳帧,卡顿频率也较高,导致该App可用性极低. 二. 分析 1. 直播架构分析 根据lo ...

  2. Linux 入门笔记

    一开始对linux总有些抵触,黑黑的命令框不知道如何下手,这次因为工作交接的缘故需要负责之前同事的Node后端部分,node,redis这些都是部署在Linux上的,看了几次运维的同学噼里啪啦的敲命令 ...

  3. 一些IO流的知识

    IO流: 输入流:输出流: 字节流:字符流:为了处理文字数据方便而出现的对象. 其实这些对象的内部使用的还是字节流(因为文字最终也是字节数据) 只不过,通过字节流读取了相对应的字节数,没有对这些字节直 ...

  4. 对InvokeRequired的理解

    if (listBox1.InvokeRequired)                            //当有新工作进程访问控件时InvokeRequired为True            ...

  5. http协议的八种请求类型

    GET:向特定的资源发出请求. POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件).数据被包含在请求体中.POST请求可能会导致新的资源的创建和/或已有资源的修改. OPTIONS: ...

  6. 一条SQL搞定信息增益的计算

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 周东谕,2011年加入腾讯,现任职于腾讯互娱运营部数据中心,主要从事游戏相关的数据分析和挖掘工作. 信息增益原 ...

  7. CLR via C#中的一个多线程例子

    parallel的For和ForEach方法有一些重载版本允许传递三个委托 1.任务局部初始化委托(localInit),未参与工作的每一个任务都调用一次委托,在任务被要求处理前调用. 2.主体委托( ...

  8. POJ 3261 出现至少K次的可重叠最长子串

    题意就是给一列数字,求最长的一个子串,并且满足子串在原数串中出现至少K次,子串可以重叠. 解法是将问题转为判定性问题,二分子串的长度,判定是否满足重复至少K次.判定方法是经典的根据子串长度将Heigh ...

  9. 少年,是时候换种更优雅的方式部署你的php代码了

    让我们来回忆下上次你是怎么发布你的代码的: 1. 先把线上的代码用ftp备份下来 2. 上传修改了的文件 3. 测试一下功能是否正常 4. 网站500了,赶紧用备份替换回去 5. 替换错了/替换漏了 ...

  10. C语言学习第八章

    今天开始学习字符串,学完以后最低要做到了解什么是字符串,以及字符串的一些应用方法,毕竟字符串还是很常见的. 简单的字符串"helloworld",这个字符串大家应该都很眼熟,学编程 ...