springMVC(注解版笔记)

时间:2021-08-02 04:13:25

springMVC(注解版)

较之于非注解版本,发生一下变化:

1.配置文件需要配置的标签有:

<!-- 包的扫描,此包下面的所有包都启用注解 -->

<context:component-scan base-package="com.mindreader.springmvc.controller" />

<!-- 开启注解 -->

<!--包的映射-->

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

<!--方法的映射-->

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

<!--逻辑视图的前缀和后缀-->

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

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

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

</bean>

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

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

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

2.controller文件的配置:

类名加上注解:@Controller

包名加上注解:@Requestmapping

一个简单的案例如下:

@Controller

public class UserController {

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

   public ModelAndView addUser(){

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

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

  }

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

  public ModelAndView delUser(){

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

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

}

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

public ModelAndView toUser(){

     return new ModelAndView("/jquery");

   }

}

注:

  在使用非注释的时候,如果需要在一个controller里面使用多个方法,需要该controller继承一个MultiActionController类,并在springmvc的配置文件中配置一行代码,如下:

  <bean name="/MuitiController" class="com.mindreader.controller.MultiController">
      <property name="methodNameResolver">
         <ref bean="paramMethodResolver" />  
      </property>
   </bean>

在使用了注解方式之后,该controller无需在继承,仅需有一个

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

就解决了该问题.