第一种 URL对应Bean
如果要使用此类配置方式,需要在XML中做如下样式配置
<!-- 表示将请求的URL和Bean名字映射-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean name="/hello.do" class="test.HelloController"></bean> 以上配置,访问/hello.do就会寻找ID为/hello.do的Bean,此类方式仅适用小型的应用系统 第二种 为URL分配Bean
使用一个统一配置集合,对各个URL对应的Controller做关系映射
<!-- 最常用的映射配置方式 -->
<!-- <prop key="/hello*.do">helloController</prop>-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello.do">helloController</prop>
</props>
</property>
</bean>
<bean name="helloController" class="test.HelloController"></bean> 此类配置还可以使用通配符,访问/hello.do时,Spring会把请求分配给helloController进行处理 第三种 URL匹配Bean
如果定义的Controller名称规范,也可以使用如下配置
<!-- 将hello*.do交给helloController处理-->
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
<bean name="helloController" class="test.HelloController"></bean> 第四种 注解
首先在配置文件中开启注解
<!-- 启用 spring 注解 -->
<context:component-scan base-package="test" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/> 在编写类上使用注解@org.springframework.stereotype.Controller标记这是个Controller对象
使用@RequestMapping("/hello.do")指定方法对应处理的路径,这里只是简单示例,会有更复杂配置
代码类如下:
package test;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.RequestMapping;
// http://localhost:8080/spring/hello.do?user=java
@org.springframework.stereotype.Controller
public class HelloController{
@SuppressWarnings("deprecation")
@RequestMapping("/hello.do")
public String hello(HttpServletRequest request,HttpServletResponse response){
request.setAttribute("user", request.getParameter("user") + "-->" + new Date().toLocaleString());
return "hello";
}
}
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>02springmvc_hello</display-name>
<!-- spring mvc配置DispatcherServlet 这个类接管所有请求。
-->
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app> mvc-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"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 配置handlerMapper 映射器
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
配置Controller 自定义控制器
<bean name="/he.do" class="cn.sxt.controller.HelloController"/> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
key 对应url value对应 自定义控制器的id
<prop key="/he.do">helloController</prop>
</props>
</property>
</bean>
<bean id="helloController" class="cn.sxt.controller.HelloController"/>
--> <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
<!-- 配置请求和处理器 这边的作用和@RequestMapping("/hello.do")是一致的
一定带着上面的ControllerClassNameHandlerMapping name才会奏效 也可以使用id 请求为hello*.do都将被匹配-->
<!--<bean name="hello.do" class="cn.sxt.controller.HelloController"/>-->
<bean id="helloController" class="cn.sxt.controller.HelloController"/>
<!-- 配置handerAdapter 适配器
SimpleControllerHandlerAdapter的实现也是很简单的,就是适配执行Controller的handleRequest方法-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!-- configure the InternalResourceViewResolver --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
id="internalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!-- 后缀 -->
<property name="suffix" value=".jsp"/>
</bean>
</beans>

SpringMVC Controller配置方法有哪几种的更多相关文章

  1. 1.springMVC Controller配置方式

    一.手动配置方式 1.web.xml中DispatcherServlet控制器的的配置 SpringMVC也是一种基于请求驱动的WEB框架,并且使用了前端控制器的设计模式.前端控制器就是Dispatc ...

  2. springMVC controller配置方式总结

    第一种:不配置controller 的bean.(注解的方式) 在dispatch-servlet.xml中,在beans节点下配置context:component-scan节点 <!-- 启 ...

  3. 通过Ajax进行POST提交JSON类型的数据到SpringMVC Controller的方法

    现在在做的项目用到了SpringMVC框架,需要从前端angular接收请求的JSON数据,为了测试方便,所以直接先用AJAX进行测试,不过刚开始用平时用的ajax方法,提交请求会出现415或者400 ...

  4. springmvc Controller接收前端参数的几种方式总结

    (1) 普通方式-请求参数名和Controller方法的参数一致 @Controller @RequestMapping("/param") public class TestPa ...

  5. SpringMVC Controller接收参数总结

    本文中Controller的开发环境如下表格所示,Maven对应POM配置如下代码段所示: 系统/工具 版本号OS Windows 7 Home BasicJava 1.7.0_79Eclipse M ...

  6. Navigation Controller 创建方法

    添加Navigation Controller的方法主要有两种: 第一种:主要是通过在storyboard中拖入Object library 中的Navigation Controller 第二种方法 ...

  7. SpringMVC,3种不同的URL路由配置方法

    1. 先说说一种比较常见的: <servlet> <servlet-name>theDispatcher</servlet-name> <servlet-cl ...

  8. SpringMVC,3种不同的URL路由配置方法(这根本不是一个小问题)

    转载自:http://blog.csdn.net/fansunion/article/details/41149287?utm_source=tuicool&utm_medium=referr ...

  9. SpringMVC,3种不同的URL路由配置方法 [转]

    SpringMVC中配置URL拦截,非常简单.网上找个示例,就能通过.但是,在我做了好几个Web项目,又参与了别人主导的Web项目时,发现URL配置也非常有学问. 1. 先说说一种比较常见的: < ...

随机推荐

  1. .NET:如何并行的从集合中返还元素?

    实现代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys ...

  2. 嗜血法医第一二三季/Dexter全集迅雷下载

    嗜血法医 第一.二.三季 Dexter Season 1 2 3 (2006-2007-2008) 本季看点:都市的夜里,永远藏着你无法想象的秘密.德克斯特·摩根(迈克尔·C·豪尔 Michael C ...

  3. 从Android4.0源码中提取的截图实现(在当前activity中有效,不能全局截图)

    原文:http://blog.csdn.net/xu_fu/article/details/39268771 从这个大神的博客看到了这篇文章,感觉写的挺好的.挺实用的功能.虽然是从源码中提取的,但是看 ...

  4. Hadoop2.6.0版本号MapReudce演示样例之WordCount(一)

    一.准备測试数据 1.在本地Linux系统/var/lib/hadoop-hdfs/file/路径下准备两个文件file1.txt和file2.txt,文件列表及各自内容例如以下图所看到的: wate ...

  5. Risc-V指令集

    https://riscv.org/specifications/ Risc-V文档包括:用户层指令集文档和特权架构文档,下面这两个文件的官网链接. User-Level ISA Specificat ...

  6. 矩阵中的旋转(Rotation)

    参考的是<游戏和图形学的3D数学入门教程>,算是读书笔记吧. 目录 [隐藏] 1.2D中的旋转 2.3D中的旋转 2.1绕x轴旋转: 2.2绕Y轴旋转 2.3绕Z轴旋转 1.2D中的旋转 ...

  7. qt文字改变方向

    QPainter painter(this);             QFont font("Courier", 24);             painter.setFont ...

  8. Android实现录音的方法(最重要的是对MediaRecorder的试用方法)

    package cn.eoe.record; import java.io.File; import java.io.IOException; import android.app.Activity; ...

  9. PHPExcel-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护

    首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把class ...

  10. Spark Strcutured Streaming中使用Dataset的groupBy agg 与 join 示例(java api)

    Dataset的groupBy agg示例 Dataset<Row> resultDs = dsParsed .groupBy("enodeb_id", "e ...