Spring Mvc 用Demo去学习

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;

    }

}

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

时间: 2024-11-05 17:24:38

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

ContextLoaderListener和Spring MVC中的DispatcherServlet学习

DispatcherServlet介绍 DispatcherServlet是Spring前端控制器的实现,提供Spring Web MVC的集中访问点,并且负责职责的分派,与Spring IoC容器无缝集成,从而可以获得Spring的所有好处. DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下: 1.文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析:2.通过HandlerMapping,将请求映射到处

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

Servlet上下文关系 DispatcherServlet的上下文是通过配置servlet的contextConfigLocation来加载的,默认实现是XmlWebApplicationContext. 值得注意的是DispatcherServlet的上下文仅仅是Spring MVC的上下文,而Spring加载的上下文是通过ContextLoaderListener来加载的.一般spring web项目中同时会使用这两种上下文,前者仅负责MVC相关bean的配置管理(如ViewResolve

Spring Mvc 入门Demo

1.web.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml

spring mvc 小demo

安装idea,下一步下一步! 之后就等待它下载spring包,时间有点久... 在src下面创建包名,然后创建一个controller,controller是操作数据用的,也是访问地址映射用的 HelloController package com.tutorialspoint; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframe

Spring MVC小DEMO

springmvc入门程序 1.1.1 创建web工程(略) 1.1.2 导入jar包(略) 1.1.3 编写springmvc的核心配置文件 1.1.4 编辑web.xml文件 1.1.5 编码-注解 1.1.6 准备一个视图 1.1.7 发布项目并且访问 1.2 优化 1.2.1 框架随着web容器的启动而初始化 1.2.2 注解驱动 1.2.3 视图解析器 原文地址:https://www.cnblogs.com/MrNeng/p/9300932.html

spring mvc velocity多视图

1.ViewResolverUrlBasedViewResolver 这个东西是根据url 进行路由的.网上搜了 1.order 排序,同名出现各种问题 2.XmlViewResolver,BeanNameViewResolver,ResourceBundleViewResolver 这个 根据配置文件去找不同的view 乱码...莫名,而且配置的起来比较麻烦,好处么,就是一个配置文件基本搞定所有页面位置 乱码据说WebApplicationContext 中可以设置某弄过 3.自己写个View

Spring MVC 下设置默认访问页面的3种方式

1.默认tomcat容器的默认页面. /index.html 这种方式适合访问静态的页面(也包括JSP)或者说是没有任何参数的页面. 2.spirng mvc 默认index controller 方式 如果在tomcat容器没有配置默认页面,怎spring mvc 会主动去寻找/index的controller,如果有则会调用,没有则会显示404页面. @RequestMapping(value="/index") public ModelAndView index(HttpServ

自学如何去学习jQuery

前提:起这个名字有点标题党了哈哈,这篇文章只是对于我这几天学习JQ库的一些总结,刚开始我自学JQ的时候是直接看的菜鸟教程或者W3C的文档,里面都有JQ的基本教程,直接去看文档去学我发现很多问题,比如看时间长了看不下去,就算看了过几天也会忘记,那么最好的学习方法是什么呢,最好的方式是通过做案例去学习. 先学几个选择器,方法和事件,做出一个功能,然后再去学习几个方法做出一个东西,循序渐进的去学习,做完几个后发现,JQ基本的知识掌握了,而且印象特别深刻. 下面我来一步步说明我做的一些小的项目: 学习J

spring mvc的学习过程

开始接触spring,看完那个spring mvc web 处理请求流程.不知道该怎么下手. 参照着这个,试着去弄清楚前端控制器DispatcherServlet,HandlerMapping,HandlerAdapter还有ViewResolver跟处理器/页面控制器.硬着头皮去看!一开始一点头绪没有,后来不去刻意读懂每个xml配置文件!不去弄清楚每个controller控制器,反而更容易明白.慢慢的认识了整个框架! 1. 请求如何给前端控制器?这个应该在web.xml中进行部署描述,在Hel