•  

      http://www.blogbus.com/wanping-logs/235898637.html

      使用注解的原因

      最方便的还是启用注解

      注解方便,而且项目中很流行。

      配置文件尽量减少,主要使用注解方式。

      Springmvc的注解是在2.5版本后有了注解,如何开启注解?

      修改springmvc配置文件

      Web.xml文件中不需要修改,只修改springmvc配置文件

      新建一个springmvc的配置文件,取名为springAnnotation-servlet.xml

      删除掉之前文件中的bean和多方法的配置,springAnnotation-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:p="http://www.springframework.org/schema/p"

      xmlns:mvc="http://www.springframework.org/schema/mvc"

      xmlns:context="http://www.springframework.org/schema/context"

      xsi:schemaLocation="http://www.springframework.org/schema/beans

       
             http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 

                  http://www.springframework.org/schema/context

             
      http://www.springframework.org/schema/context/spring-context-3.0.xsd 

                  http://www.springframework.org/schema/mvc

                 
      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"
      >

      <!-- 静态资源访问
      -->

      <mvc:resources location="/img/"
      mapping="/img/**"/>

      <mvc:resources
      location="/js/" mapping="/js/**"/>

      <bean
      id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver">

      <property name="prefix"
      value="/"></property>

      <property
      name="suffix"
      value=".jsp"></property>

      </bean>

      </beans>

      配置分两步

      1)配置扫描包

      这个配置文件的书写需要一个扫描包。

      在springAnnotation-servlet.xml中配置

      <context:component-scan
      base-package="com.tgb.web.controller.annotation"></context:component-scan>

      这个配置的意思是:

      Spring再启动的时候,会默认扫描自动扫描包下的所有的类,为每个注解分配一个mapping。

      上面的配置是,在启动的时候会扫描com.tgb.web.controller.annotation下所有的包

      2)配置spring注解的两个bean

      <bean
      class="org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter"></bean>

      <bean
      class="org.springframework.web.portlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean>

      这两个bean的功能

      1)AnnotationMethodHandlerAdapter

      是方法映射的,不同方法有不同url请求,根基类找方法。

      2)DefaultAnnotationHandlerMapping

      DefaultAnnotationHandlerMapping根据扫描的包下面找类,即通过url找类

      注意:

      一定要把包找对,我就犯过错,两个包都在org.springframework.web.portlet目录下找的类,我用的是两个包分别是

      org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter

      org.springframework.web.portlet.mvc.annotation.DefaultAnnotationHandlerMapping

      其实应该是org.springframework.web.servlet目录下找类。

      两个包分别是:

      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter

      org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping

      修改web.xml中的springmvc的配置文件

      修改web.xml文件,使其使用新建的springmvc配置文件springAnnotation-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:p="http://www.springframework.org/schema/p"

      xmlns:mvc="http://www.springframework.org/schema/mvc"

      xmlns:context="http://www.springframework.org/schema/context"

      xsi:schemaLocation="http://www.springframework.org/schema/beans

      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

      http://www.springframework.org/schema/context

      http://www.springframework.org/schema/context/spring-context-3.0.xsd

      http://www.springframework.org/schema/mvc

      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

      <!-- 注解扫描包 -->

      <context:component-scan base-package="com.tgb.web.controller.annotation"
      />

      <!-- 开启注解 -->

      <!--  bean
      class="org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter"></bean>
      -->

      <bean
      class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"></bean>

      <bean
      class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean>

      <!-- 静态资源访问 -->

      <mvc:resources location="/img/" mapping="/img/**"/>

      <mvc:resources location="/js/" mapping="/js/**"/>

      <bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver">

      <property name="prefix" value="/"></property>

      <property name="suffix" value=".jsp"></property>

      </bean>

      </beans>

      新建一个类(userController)来实现注解

      新建包

      新建一个包,下面的controller都使用注解

      新建controller的包,在这个包下的controller都使用配置文件。

      选择com.tgb.web.controller,邮件点击new-other-package,填新建的包名为annotation。

      新建类userController(GET请求)

      注解打开后,看看注解如何使用。

      userController类实现如下:

      package
      com.tgb.web.controller.annotation;

      import
      org.springframework.stereotype.Controller;

      import
      org.springframework.web.bind.annotation.RequestMapping;

      import
      org.springframework.web.bind.annotation.RequestMethod;

      import
      org.springframework.web.servlet.ModelAndView;

      @Controller

      public
      class UserController {

      @RequestMapping(value="/user/addUser",method=RequestMethod.GET)

      public ModelAndView adduser(){

      String result = "this is adduser------";

      return new
      ModelAndView("/annotation","result",result);

      }

      @RequestMapping(value="/user/delUser",method=RequestMethod.GET)

      public ModelAndView delUser(){

      String result = "this is delUser------";

      return new
      ModelAndView("/annotation","result",result);

      }

      }

      Spring常用注解:

      <!--[if !supportLists]-->1.      
      <!--[endif]-->类的注解

      类注解用到了@Controller

      @Controller表明下面是个Controller类

      org.springframework.stereotype.Controller

      @Component
      @Target(value={TYPE})
      @Retention(value=RUNTIME)
      @Documented

      <!--[if !supportLists]-->2.      
      <!--[endif]-->方法注解

      方法注解用到了@RequestMapping

      @RequestMapping表明下面的方法是个Controller的方法。

      org.springframework.web.bind.annotation.RequestMapping

      @Mapping
      @Target(value={METHOD, TYPE})
      @Retention(value=RUNTIME)
      由上面的信息可以看出,注解类RequestMapping的返回值是Mapping,方法参数有2个,第一个是Method,第二个是Type,即Method是请求的方法,Type是请求的类似是get还是post。

      @RequestMapping(value="/user/delUser",method=RequestMethod.GET)

      新建一个view——annotation.jsp

      新建一个view来实现userController的效果

      <%@ page language="java" contentType="text/html;
      charset=UTF-8"

      pageEncoding="UTF-8"%>

      <%@ taglib prefix="c"
      uri="http://java.sun.com/jsp/jstl/core"%>

      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      "http://www.w3.org/TR/html4/loose.dtd">

      <html>

      <head>

      <script type="text/javascript"
      src="../js/jquery-1.7.min.js"></script>

Springmvc注解启用的更多相关文章

  1. springMVC注解启用及优化

    使用注解的原因 最方便的还是启用注解 注解方便,而且项目中很流行. 配置文件尽量减少,主要使用注解方式. Springmvc的注解是在2.5版本后有了注解,如何开启注解配置文件 Web.xml文件中不 ...

  2. 6.SpringMVC注解启用

    SpringMVC注解可以帮助我们快速地注入 属性和参数 提高开发效率. 由于 有相当一部分人讨厌xml配置方式 注解可以覆盖 xml则不能 使用注解比xml规范化,因为很多注解都是java的规范的范 ...

  3. springMVC(注解版笔记)

    springMVC(注解版) 较之于非注解版本,发生一下变化: 1.配置文件需要配置的标签有: <!-- 包的扫描,此包下面的所有包都启用注解 --> <context:compon ...

  4. springMVC 注解版

    http://blog.csdn.net/liuxiit/article/details/5756115 http://blog.csdn.net/hantiannan/article/categor ...

  5. SpringMVC注释启用

    这篇文章是我学习的网络视频SpringMVC写的过程. 谢谢公布各位前辈的视频 以下评论SpringMVC几个关键步骤,注意事项启用: 首先需要加载配置文件(假设请使用自定义路径) <? xml ...

  6. SpringMVC注解HelloWorld

    今天整理一下SpringMVC注解 欢迎拍砖 @RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是 ...

  7. SpringInAction--Spring Web应用之SpringMvc 注解配置

    Spring MVC 是当前Web服务器中常用的结构,今天就来学习这相关的知识,首先上图——Spring请求的时候所经历的坎坷之路: (书上原话,算是解释..) 在请求离开浏览器时① ,会带有用户所请 ...

  8. springMVC注解初步

    一.(补充)视图解析器---XmlViewResolver 作用:分离配置信息. 在视图解析器---BeanNameViewResolver的基础之上进行扩充,新建一个myView.xml分离信息 在 ...

  9. SpringMVC注解开发初步

    一.(补充)视图解析器---XmlViewResolver 作用:分离配置信息. 在视图解析器---BeanNameViewResolver的基础之上进行扩充,新建一个myView.xml分离信息 在 ...

随机推荐

  1. mysql ubuntu 开启3306端口,设置远程访问

    远程登陆数据库的时候出现了下面出错信息 :ERROR 2003 ( HY000 ) : Can 't connect to MySQL server on ' xxx.xxx.xxx.xxx ',经过 ...

  2. IOS--苹果各地区开发者支援的电话号码

    网页地址: https://developer.apple.com/contact/phone/ 中国区的咨询热线:4006 701 855 邓白氏申请中心的电话(400-6701855)

  3. Unity3D的脚本-script入门

    来自:http://blog.163.com/shininglore@126/blog/static/961841802013412101454833/ Unity3D的基本操作很容易就能掌握了,接下 ...

  4. python 奇技淫巧

    列表内部的字典的value进行排序 li = [{a:1,b:2,c:3,d:4},{e:5,f:6,g:7,h:8}] li = [{"day":2},{"day&qu ...

  5. Linux——学习环境搭建

    终于决定将学习环境彻底转到Linux上来,下面记录一下转移学习环境的各种软件和环境的安装和配置. 1.centos自带python2.6,之前的博文已经说到已成功更新到python3.3,下面首先安装 ...

  6. JS 导出Table为excel的三种可行方法

    [html] view plain copy<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...

  7. PDF快速创建目录

    很多从网上直接下载的PDF电子书目录都不全,因此搜索资料又加以改化,总结了一个自己手动快速创建目录的办法,分享给大家. 百度搜索PDF电子书的目录或者直接从PDF拷贝到Notepad++等编辑器,使用 ...

  8. html禁止图片拖拽移动在新窗口打开

    一直觉得直接从网站的表格上复制数据挺方便的, 今天,领导突然说网站上的图片可以被别人拖走了,必须禁止,哎,果然只有领导才考虑得到这种事情啊 so, 将ondragstart="return ...

  9. 关于CDN对动态网站加速的一些看法

    CDN的全称是Content Delivery Network,即内容分发网络.其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘" ...

  10. Mac下安装LNMP(Nginx+PHP5.6)环境(转)

    安装Homebrew 最近工作环境切换到Mac,所以以OS X Yosemite(10.10.1)为例,记录一下从零开始安装Mac下LNMP环境的过程 确保系统已经安装xcode,然后使用一行命令安装 ...