美文网首页
Spring MVC使用

Spring MVC使用

作者: 42个艾尔 | 来源:发表于2019-03-14 17:05 被阅读0次

    Spring MVC使用

    web.xml的配置

    0.maven的引用

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-web</artifactId>
          <version>4.3.18.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
          <version>2.9.7</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-nop -->
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-nop</artifactId>
          <version>1.7.25</version>
          <scope>test</scope>
        </dependency>
    
    
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>4.3.18.RELEASE</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>4.3.18.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
        <dependency>
          <groupId>org.aspectj</groupId>
          <artifactId>aspectjweaver</artifactId>
          <version>1.9.2</version>
        </dependency>
    
    
        <!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP -->
        <dependency>
          <groupId>com.zaxxer</groupId>
          <artifactId>HikariCP</artifactId>
          <version>3.3.1</version>
        </dependency>
    
        <dependency>
          <groupId>org.hibernate</groupId>
          <artifactId>hibernate-core</artifactId>
          <version>5.1.17.Final</version>
        </dependency>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    

    1.web.xlm的位置

    01.png

    2.基本的配置文档

    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
      <display-name>Archetype Created Web Application</display-name>
      <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring1.xml</param-value>
      </context-param>
      <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:spring1.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    </web-app>
    
    

    在application.xml中要应用以下语句

    <mvc:annotation-driven/> 同时不要忘记对 <beans xmlns 进行配置

    相关的java代码

    1.映射地址

    @RestController
    @RequestMapping("/test")//自动的转为JSON格式,同时表示映射的地址,可以套用
    public class TestSpring {
    @RequestMapping(value = "get",method = RequestMethod.GET//为get,post等等)
        public Map list(){
        Map<String,Object> map=new HashMap<>();
        map.put("diyi",1354);
    
        return map;
        }
    }
    
    

    2.在MVC中使用Session

    @RequestMapping("/check")
        public ModelAndView check(HttpSession session) {
            Integer i = (Integer) session.getAttribute("count");
            if (i == null)
                i = 0;
            i++;
            session.setAttribute("count", i);
            ModelAndView mav = new ModelAndView("check");
            return mav;
        }
    

    3.接受表单数据

    ​ 控制器ProductController,准备一个add方法映射/addProduct路径

    为add方法准备一个Product 参数,用于接收注入

    最后跳转到showProduct页面显示用户提交的数据

    注:

    addProduct.jsp

    提交的name和price会自动注入到参数 product里

    注:

    参数product会默认被当做值加入到ModelAndView 中,相当于:

    mav.addObject("product",product);

    @Controller
    public class ProductController {
     
        @RequestMapping("/addProduct")
        public ModelAndView add(Product product) throws Exception {
            ModelAndView mav = new ModelAndView("showProduct");
            return mav;
        }
    }
    

    4.在MVC中获取Bean

     @RequestMapping(value = "getcup")
        public Cups getCup(){
    WebApplicationContextwac=ContextLoader.getCurrentWebApplicationContext();
            Cups cups= (Cups) wac.getBean("cups");
            return cups;
        }
    

    http://www.cnblogs.com/sam-uncle/p/8681515.html

    相关文章

      网友评论

          本文标题:Spring MVC使用

          本文链接:https://www.haomeiwen.com/subject/soscmqtx.html