Java教学视频百度云资源,SpringMVC-狂神笔记

  1. 编写springmvc配置文件

  2. 接下来就是去创建对应的控制类 , controller

  3. 最后完善前端视图和controller之间的对应(方法中声明Model类型的参数是为了把Action中的数据带到视图中)

  4. 测试运行调试.

注:DispatcherServlet 是 SpringMVC统一的入口,所有的请求都通过它。DispatcherServlet 是前端控制器,配置在web.xml文件中,Servlet依自已定义的具体规则拦截匹配的请求,分发到目标Controller来处理。

使用springMVC必须配置的三大件(注解或者xml):

处理器映射器、处理器适配器、视图解析器

ModelAndView:模型视图类(方法返回的结果是视图的名称hello,加上配置文件(视图解析器)中的前后缀变成WEB-INF/jsp/hello.jsp。)


 //ModelAndView 模型和视图

       ModelAndView mv = new ModelAndView();



       //封装对象,放在ModelAndView中。Model

       mv.addObject("msg","HelloSpringMVC!");

       //封装要跳转的视图,放在ModelAndView中

       mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp

       return mv;


第三节:

  • POST、DELETE、PUT、GET:添加、 删除、修改、查询

RESTful风格:

  • 在Spring MVC中可以使用  @PathVariable 注解,让方法参数的值对应绑定到一个URI模板变量上。

@Controller

public class RestFulController {

   //映射访问路径

   @RequestMapping("/commit/{p1}/{p2}")

   public String index(@PathVariable int p1, @PathVariable int p2, Model model){

       

       int result = p1+p2;

       //Spring MVC会自动实例化一个Model对象用于向视图中传值

       model.addAttribute("msg", "结果:"+result);

       //返回视图位置(视图解析器进行解析,找到对应的文件)

       return "test";

       

  }  

}

使用method属性指定请求类型

用于约束请求的类型,可以收窄请求范围。指定请求谓词的类型如GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE等


//映射访问路径,必须是POST请求

@RequestMapping(value = "/hello",method = {RequestMethod.POST})

public String index2(Model model){

   model.addAttribute("msg", "hello!");

   return "test";

}

```![wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")



**所有的地址栏请求默认都会是 HTTP GET 类型的。**



* * *



### 第四节:



**结果跳转方式**



*   ModelAndView:页面 : {视图解析器前缀} + viewName +{视图解析器后缀}

*   ServletAPI:通过HttpServletResponse进行输出、重定向、转发



@RequestMapping("/result/t1")

public void test1(HttpServletRequest req, HttpServletResponse rsp) throws IOException {

   rsp.getWriter().println("Hello,Spring BY servlet API");

}

@RequestMapping("/result/t2")

public void test2(HttpServletRequest req, HttpServletResponse rsp) throws IOException {

   rsp.sendRedirect("/index.jsp");

}

@RequestMapping("/result/t3")

public void test3(HttpServletRequest req, HttpServletResponse rsp) throws Exception {

   //转发

   req.setAttribute("msg","/result/t3");

   req.getRequestDispatcher("/WEB-INF/jsp/test.jsp").forward(req,rsp);

}




*   通过SpringMVC来实现转发和重定向 - 无需视图解析器;



@RequestMapping("/rsm/t1")

public String test1(){

   //转发

   return "/index.jsp";

}




**数据提交:**



@RequestMapping("/hello")

public String hello(@RequestParam(“username”) String name){//提交数据 : http://localhost:8080/hello?username=kuangshen

public String hello(String name){//提交数据 : http://localhost:8080/hello?name=kuangshen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值