本文共 4202 字,大约阅读时间需要 14 分钟。
SpringMVC注解开发
1.1 创建项目
1.2 完善项目
1.3 导入依赖
1.4 配置web.xml
1.5 配置SpringMVC配置文件
1.6 创建控制器
@Controller注解
@Controller表示我们编写的类是一个处理请求的控制器类
@Controller只能作用在Java类上,用于标记该类为控制器
@Controller与Spring中的@Service和@Repository类似,用于标记应用程序的不同层次
数据访问层:@Repository
业务访问层:@Service
Web层【控制层】:@Controller
@RequestMapping注解
@RequestMapping用于设置控制器类或请求处理方法的访问路径
@RequestMapping可以作用在Java类上,表示该类的访问路径
@RequestMapping也可以作用在请求处理方法上,表示该方法的访问路径
@RequestMapping的常用属性
value:设置访问路径,可以省略
例如:@RequestMapping("/test1.do")
或:@RequestMapping(value="/test1.do")
使用通配符
?:匹配任何单字符
*:匹配任意数量的字符
**:匹配多个路径
方法限制
method:限制请求的访问方式,如GET、POST等
例如:@RequestMapping(value="/login.do", method=RequestMethod.POST)
请求处理方法接收请求参数值
1.@PathVariable获取URL路径上的参数
例如:
package com.wangxing.springmvc.controller.test1;
import org.springframework.web.bind.annotation.PathVariable;
@Controller
public class TestController {
@RequestMapping("/testPathVariable/{username}/{password}/{age}/{address}.do")
public void testPathVariable(@PathVariable("username") String name,
@PathVariable("password") String pass,
@PathVariable("age") String age,
@PathVariable("address") String address) {
System.out.println("name=="+name);
System.out.println("pass=="+pass);
System.out.println("age=="+age);
System.out.println("address=="+address);
}
2.@RequestParam获取请求参数
例如:
package com.wangxing.springmvc.controller.test2;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class controller2 {
@RequestMapping("/testRequestParam.do")
public void testRequestParam(@RequestParam("username") String name,
@RequestParam("password") String pass,
String age, String address) {
System.out.println("username=="+name);
System.out.println("password=="+pass);
System.out.println("age=="+age);
System.out.println("address=="+address);
}
3.通过HttpServletRequest获取参数
例如:
package com.wangxing.springmvc.controller.test5;
import javax.servlet.http.HttpServletRequest;
@Controller
public class DoxController {
@RequestMapping("/testHttpServletReq.do")
public void testHttpServletReq(HttpServletRequest request) {
System.out.println("username=="+request.getParameter("username"));
System.out.println("password=="+request.getParameter("password"));
System.out.println("myage=="+request.getParameter("myage"));
System.out.println("myaddress=="+request.getParameter("myaddress"));
}
4.通过Java对象封装请求参数
例如:
package com.wangxing.springmvc3.controller.test4.personbean;
import org.springframework.format.annotation.DateTimeFormat;
public class UserBean {
private String username;
private String password;
private int myage;
private String myaddress;
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date day;
// setter和getter方法...
}
package com.wangxing.springmvc3.controller.test4.controller;
import com.wangxing.springmvc3.controller.test4.personbean.UserBean;
@Controller
public class controller2 {
@RequestMapping("/testUserBean.do")
public void getReqParam(UserBean userBean) {
System.out.println("username=="+userBean.getUsername());
System.out.println("password=="+userBean.getPassword());
System.out.println("myage=="+userBean.getMyage());
System.out.println("myaddress=="+userBean.getMyaddress());
System.out.println("day=="+userBean.getDay());
}
5.通过HttpServletRequest获取参数
例如:
package com.wangxing.springmvc3.controller.test5.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
@Controller
public class DoxController {
@RequestMapping("/testHttpServletReq.do")
public void testHttpServletReq(HttpServletRequest request) {
System.out.println("username=="+request.getParameter("username"));
System.out.println("password=="+request.getParameter("password"));
System.out.println("myage=="+request.getParameter("myage"));
System.out.println("myaddress=="+request.getParameter("myaddress"));
}
静态资源访问
方案一:激活Tomcat的defaultServlet
在web.xml中添加:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
类似地配置js、css等文件
方案二:使用Spring的mvc:resources
在SpringMVC配置文件中添加:
<mvc:resources mapping="/images/**" location="/images/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/css/**" location="/css/" />
发表评论
最新留言
关于作者