web.xml的配置

  1. <!-- springmvc中央控制器 -->
  2. <servlet>
  3. <servlet-name>springmvc</servlet-name>
  4. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  5. </servlet>
  6.  
  7. <servlet-mapping>
  8. <servlet-name>springmvc</servlet-name>
  9. <!-- url-pattern不要配成/* -->
  10. <url-pattern>*.do</url-pattern>
  11. </servlet-mapping>

核心配置:springmvc-servelet.xml

xml方式:

三种handlerMapping访问方式,1.通过<bean name="hello.do" class=""/>的name访问,默认配置:   
<!-- 默认情况下采用bean的name映射处理器来访问controller,如果没有被显示定义出来会被其他的映射处理所覆盖,如果想要使用需要显示定义 -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
2,简单url映射处理:
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/hello.do">testController</prop>
            </props>
        </property>

</bean>

3,<!-- 以controller类名来访问的映射处理器 -->
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>  
<!-- 以controller类名来访问,首字母必须小写 -->

<bean id="testController" class="com.app.web.servlet.TestController"></bean>

不论是xml还是注解都必须配置视图解析器:
<!-- 内部资源视图解析器 -->
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 配置前缀 -->
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <!-- 配置后缀 -->
        <property name="suffix" value=".jsp"></property>

</bean>

 
三种控制器:
1,参数控制器:
        <!-- 参数控制器 -->
    <!-- 不能采用controller的class的那么来访问 -->
    <bean name="/index.do" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
        <property name="viewName" value="index"></property>
    </bean> 
2,命令控制器:
    <!-- 命令控制器 -->
    <bean name="/comm.do" class="com.app.web.model.CommController">
        <!-- 指定收集对象类型 -->
        <property name="commandClass" value="com.app.domain.Person"></property>

</bean>

3.表单控制器:
<!-- 表单控制器 -->
    <bean name="/form.do" class="com.app.web.servlet.FormController">
        <!-- 指定收集对象类型 -->
        <property name="commandClass" value="com.app.domain.Person"></property>
        <!-- 表单页面 -->
        <property name="formView" value="form"></property>
        <!-- 成功页面 -->
        <property name="successView" value="success"/>

</bean>

 
注解方式:
springmvc-servelet.xml中不需要配置控制器和访问方式,只需要配置视图解析器,注解驱动,组件扫描即可
<!-- 注册注解驱动 -->
<mvc:annotation-driven/> 
    <!-- 组件扫描 -->
<context:component-scan base-package="com.app.web.controller"></context:component-scan>
 
视图解析器:
<!-- 内部资源视图解析器 -->
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 配置前缀 -->
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <!-- 配置后缀 -->
        <property name="suffix" value=".jsp"></property>

</bean>

在controller类上加上注解:@controller   命名空间:RequestMapping("test") ,在方法上加上RequestMapping("test1.do")--方法上的注解名字使用和的方法名称相同便于区分在同一个controller中的不同方法
  1. @Controller
  2. @RequestMapping("test")
  3. public class TestController1 {
  4.  
  5. /**
  6. * 通过modelandview方式注解
  7. * @param person 对象参数
  8. * @return
  9. */
  10. @RequestMapping("test1.do")
  11. public ModelAndView test1(Person person){
  12.  
  13. Map<String, Object> map=new HashMap<String, Object>();
  14. map.put("p", person);
  15.  
  16. return new ModelAndView("success", map);
  17. }
  18.  
  19. /**
  20. * 通过返回String类型配置 建议使用这种
  21. * @param person 注入对象
  22. * @param model model接口参数
  23. * @return
  24. */
  25. @RequestMapping("test2.do")
  26. public String test2(Person person,Model model){
  27. System.out.println("test2..");
  28. model.addAttribute("p",person);
  29. return "success";
  30. }
  31.  
  32. /**
  33. *
  34. * @param person
  35. * @param model
  36. * @return
  37. */
  38. @RequestMapping("test3.do")
  39. public String test3(Person person,Map<String,Object> map){
  40.  
  41. map.put("p", person);
  42.  
  43. return "success";
  44. }
  45.  
  46. }
 

SpringMVC入门配置和简单实现的更多相关文章

  1. springMVC入门配置案例

    1.spring的jar包下载 进入http://repo.springsource.org/libs-release-local/,然后依次点击org/-->springframework-- ...

  2. SpringMVC入门就这么简单

    什么是SpringMVC? SpringMVC是Spring家族的一员,Spring是将现在开发中流行的组件进行组合而成的一个框架!它用在基于MVC的表现层开发,类似于struts2框架 为什么要使用 ...

  3. springMVC+jpa配置之简单案例

    搭建springMVC+jpa的亲身经历,看着网上的博客,自己摸索着搭建框架结果错误一大堆.现在把流程走一遍,方便以后查看. 其中我遇到这样的一个问题:直接启动tomcat运行保存实体能通过,但是通过 ...

  4. springMVC入门配置及helloworld实例

    1. 新建web project 2. 往lib里copy必须的jar 3. 改写web.xml <?xml version="1.0" encoding="UTF ...

  5. Idea简单SpringMVC框架配置

    前边已经介绍过了Struts在Idea上的配置,相对于Struts来说,我觉得SpringMVC有更多的优势,首先Struts是需要对action进行配置,页面发送不同的请求,就需要配置不同的acti ...

  6. Springmvc整合tiles框架简单入门示例(maven)

    Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...

  7. springmvc(一) springmvc框架原理分析和简单入门程序

    springmvc这个框架真的非常简单,感觉比struts2还更简单,好好沉淀下来学习~ --WH 一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解 ...

  8. SpringMVC学习(一)———— springmvc框架原理分析和简单入门程序

    一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解这个思想,struts2在web层,spring在中间控制,hibernate在dao层与数据库打交 ...

  9. springmvc框架原理分析和简单入门程序

    一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解这个思想,struts2在web层,spring在中间控制,hibernate在dao层与数据库打交 ...

随机推荐

  1. MySQL 数据库常用命令

    1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show ...

  2. HashMap学习

    HashMap<String, Object> java.util.HashMap<String, Object>   在数组中我们是通过数组下标来对其内容索引的,而在Map中 ...

  3. CentOS 7下安装Mysql 5.7

    参见http://www.07net01.com/2016/03/1355735.html 过程中需要安装perl CentOS 7 采用了 firewalld 防火墙 service firewal ...

  4. 借助无线路由器+2台笔记本+Windows桥接功能,成功绕过了微信聊天记录迁移的BUG

    最近入了台iphone se,在迁移微信聊天记录的时候,遇到个BUG.它的迁移流程是这样的:需要将两台手机连接到同一个WIFI上面,然后新手机扫旧手机上面的二维码,来完成导入.中途遇到的问题是: 此时 ...

  5. 激活神器 KMSAuto Net 2015 v1.3.8

    KMSAuto Net – Windows 操作系统 KMS 自动激活工具!支持 Windows Vista,7,8,8.1,10, Server 2008,2008 R2,2012,2012 R2, ...

  6. Oracle 中的作业队列和队列调度

    一,启动执行作业的进程       在 Oracle 中,是使用 “作业队列协调进程(CJQ0)” 这个协调数据库实例的作业队列的后台进程,来监视作业队列中的作业表(JOB$),并启动作业队列进程(J ...

  7. 用muduo实现memcached协议的例子

    最近花了两天时间用 muduo 部分实现了 memcached 服务器协议,代码位于 examples/memcached/server,能通过 memcached 的大部分测试用例(incr/dec ...

  8. [翻译][erlang]cowboy handler模块的使用

    关于Cowboy Cowboy是基于Erlang实现的一个轻量级.快速.模块化的http web服务器. Handlers,用于处理HTTP请求的程序处理模块. Plain HTTP Handlers ...

  9. [08]APUE:进程控制

    [a] getpid / getppid / getuid / geteuid / getgid / getegid #include <unistd.h> pid_t getpid(vo ...

  10. 【转载】PHP 开发者该知道的 5 个 Composer 小技巧

    Composer是新一代的PHP依赖管理工具.其介绍和基本用法可以看这篇<Composer PHP依赖管理的新时代>.本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方 ...