之前我们写springmvc的案例的时候所有的操作都是用配置文件配置的,现在我们来说另一种写案例的方式,使用注解式开发,在后面的开发中我们也都是这种方式进行开发
首先我先用注解式开发写springmvc的第一个案例
编写一个类:AnnotationController
@Controller public class AnnotationController { @RequestMapping(value = "/first") public String doFirst(){ return "first"; } }
然后在springmvc.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:content="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"></property> <property name="suffix" value=".jsp"></property> </bean> <!--包扫描器--> <content:component-scan base-package="demo07Annotation"></content:component-scan> </beans>
不要忘记修改web.xml的配置文件的路径
这种方式的配置,在配置文件的少了很多
访问的时候直接访问@RequestMapping(value = "first")的value的值就可以了
下面在来看看通配符的用法
二。通配符的使用
//通配符的使用 @RequestMapping("/second*")//*代表0或者多个字符,只要以second开头就可以 public String doSecond(){ return "first"; } @RequestMapping("/*six")//*代表0或者多个字符,只要以six结尾就可以 public String doSix(){ return "first"; } @RequestMapping("/**/third")//以third结尾,在之前可以有0到多级目录 public String doThird(){ return "first"; } @RequestMapping("/*/four")//在four之前必须而且只能有一级目录 public String doFour(){ return "first"; }
三。请求方式限定
就是你访问的时候用什么方式访问的是get还是post,它会限制你的访问方式
package demo07Annotation; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.mvc.multiaction.MultiActionController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Created by mycom on 2018/3/18. */ @Controller @RequestMapping("/logger") public class AnnotationController { @RequestMapping(value = "/*first",method = RequestMethod.GET)//只能以get方式访问 public String doFirst(){ return "first"; } @RequestMapping(value = "/*five",method = RequestMethod.POST)//只能以post方式访问 public String doFive(String uname,String upwd){ System.out.println(uname); System.out.println(upwd); return "first"; } //通配符的使用 @RequestMapping("/second*")//*代表0或者多个字符,只要以second开头就可以 public String doSecond(){ return "first"; } @RequestMapping("/*six")//*代表0或者多个字符,只要以six结尾就可以 public String doSix(){ return "first"; } @RequestMapping("/**/third")//以third结尾,在之前可以有0到多级目录 public String doThird(){ return "first"; } @RequestMapping("/*/four")//在four之前必须而且只能有一级目录 public String doFour(){ return "first"; } }