SpringMVC 注解开发

来源:互联网 发布:宁波大学网络注销 编辑:程序博客网 时间:2024/05/19 14:56

先在一个包中创建一个类,然后再配置sprringmvacontroller.xml并链接到该类。

<context:component-scan base-package="cn.happy.controllerreturn"></context:component-scan>
 注解开发所创建的类及其方法

  通配符:是一种符号,不是精确匹配,而是用来代替

                ** 代表任意级别目录,或者没有目录

package cn.happy.Controler;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;/** * Created by java on 2017/8/18. */@Controller@RequestMapping("/user")public class HappyController {    @RequestMapping("/first")    public String doFirst(){        return "/WEB-INF/index.jsp";    }    @RequestMapping("/second")    public  String doSecond(){        return "/WEB-INF/insert.jsp";    }    @RequestMapping("/*thtird")    public String doThird(){        return  "/WEB-INF/delete.jsp";    }    @RequestMapping("/**/fourth")    public  String   doFourth(){        return  "/WEB-INF/insert.jsp";    }    @RequestMapping("/*/six")    public String doSix(){        return "/WEB-INF/insert.jsp";    }//路径变量    @RequestMapping(value = "/{name}/{age}/first.do",method = {RequestMethod.POST,RequestMethod.GET})    public String  doFirstcoller(@PathVariable() String name, @PathVariable() String age){        System.out.println(name);        System.out.println(age);        return "/WEB-INF/index.jsp";    }    @RequestMapping(value = "/first.do",method = {RequestMethod.POST,RequestMethod.GET})    public String  doFirst(String name, Model model){        System.out.println("name"+name);        model.addAttribute("name"+name);        return "index";    }}
   请求中方式的定义:
   method属性的取值为Requestmethod,是一个枚举常量
   先创建一个UserInfo 实体类并写上属性,并进行封装:   
   域属性:一个类中变量的类型是另外一个自定义类型。
public class UserInfo {    private String name;    private  Book book;    private List<Book> books;    public List<Book> getBooks() {        return books;    }    public void setBooks(List<Book> books) {   //集合属性        this.books = books;    }    public Book getBook() {        return book;    }    public void setBook(Book book) {        this.book = book;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }}
并且再创建Book的实体类,也写上一个属性,将其进行封装
public class Book {    private String bookname;    public String getBookname() {        return bookname;    }    public void setBookname(String bookname) {        this.bookname = bookname;    }}
之后创建ArgementController类
@Controllerpublic class ArgementController {    @RequestMapping("/login2")     //限定请求方式        public String login2(UserInfo  info){        System.out.println(info.getName());        return "/WEB-INF/delete.jsp";        }    @RequestMapping("/AreArggement")    public String login4(UserInfo  info){        System.out.println(info.getName()+"\t"+info.getBook().getBookname());        return "/WEB-INF/delete.jsp";    }
//@RequestParam  校正参数名称    @RequestMapping("/rightArggument")    public String  logg3(@RequestParam("name") String uname2){        System.out.println(uname2);        return "/WEB-INF/delete.jsp";    }@RequestMapping("/listArgument")public String listlogin5(UserInfo info){    System.out.println(info.getName()+"\t"+info.getBooks().get(0).getBookname());        return "/WEB-INF/delete.jsp";}}
Web.xml
乱码解决forceEncoding
<!--javaWeb 三大件 servlet Filter listener -->  <filter>    <filter-name>CharactorEncodingFilter</filter-name>    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>     <init-param>       <param-name>encoding</param-name>       <param-value>utf-8</param-value>     </init-param>        <init-param>      <param-name>forceEncoding</param-name>      <param-value>true</param-value>    </init-param>  </filter>  <filter-mapping>    <filter-name>CharactorEncodingFilter</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping>

原创粉丝点击