zoukankan      html  css  js  c++  java
  • springMVC

    SpringMVC

    1.使用注解编写Controller类

           ①每个请求处理参数对应一个URL

                  @Controller

                  public class BbsForumController{

                         @Autowired

                         private BbsForumService bbsForumService;

                        

                         @RequestMapping(“/listAllBoard.do”)

                         public String listAllBoard(){

                                bbsForumService.getAllBoard();

                                System.out.println(“call listAllBoard method”);

                                return “llistBoard”;

                         }

                         @RequestMapping(“/listBoardTopic.do”)

                         public String listBoardTopic(int topicId){//该处的topicId需要通过url传递

                                bbsForumService.getBoardTopics(topicId);

                                System.out.println(“call listBoardTopic method”);

                                return “listTopic”;

                         }

                  }

                  注:/listAllBoard.do的url请求将由listAllBoard()方法处理,而/listBoardTopic.do?

    topicId=1方法将由listBoardTopic()处理

           ②一个Controller对应一个url,由请求参数决定请求处理方法

                  @Controller

                  @RequestMapping(“/bbsForum.do”)

                  public class BbsForumController{

                         @Autowired

                         private BbsForumService bbsForumService;

                         //如果URL请求中包含“method=listAllBoard”的参数,有本方法进行处理

                         @RequestMapping(params=“method=listAllBoard”)

                         public String listAllBoard(){

                                bbsForumService.getAllBoard();

                                System.out.println(“call listAllBoard method”);

                                return “llistBoard”;

                         }

                         //如果URL请求中包括“method= listBoardTopic”的参数,有本方法进行处理

                         @RequestMapping(params=“method=listBoardTopic”)

                         public String listBoardTopic(int topicId){//该处的topicId需要通过url传递

                                bbsForumService.getBoardTopics(topicId);

                                System.out.println(“call listBoardTopic method”);

                                return “listTopic”;

                         }

                  }

           ③让请求处理方法处理特定HTTP请求方法

                  @Controller

    @RequestMapping("/bbtForum.do") 

    public class BbtForumController {

                @RequestMapping(params = "method=createTopic",method = RequestMethod.POST)

                public String createTopic(){

                   System.out.println("call createTopic method.");

            return "createTopic";

        }

    }

    注:只有当/bbtForum.do?method=createTopic请求以post方法提交时,createTopic()方法才会进行处理

    2.springMVC配置文件解析:

      A.web.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" 
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
      <display-name></display-name>    
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
      
      <servlet>
          <servlet-name>springMVC</servlet-name>
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
          <init-param>
              <param-name>contextConfigLocation</param-name>
              <param-value>classpath*:config/spring-servlet.xml</param-value>
          </init-param>
          <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
          <servlet-name>springMVC</servlet-name>
          <url-pattern>/</url-pattern>
      </servlet-mapping>
    </web-app>

      a.DispatcherServlet为控制器,拦截匹配的请求,这里定义为所有的请求,把拦截到的请求依据相应的规则分发到对应的Controller中

      b.contextConfigLocation加载spring-servlet.xml详细的配置文件

      c.load-on-startup定义启动顺序

      B.spring-servlet.xml配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"   
        xmlns:context="http://www.springframework.org/schema/context"   
        xmlns:mvc="http://www.springframework.org/schema/mvc"  
        xmlns:p="http://www.springframework.org/schema/p"  
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
        xsi:schemaLocation="http://www.springframework.org/schema/beans   
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
        http://www.springframework.org/schema/context  
        http://www.springframework.org/schema/context/spring-context.xsd  
        http://www.springframework.org/schema/mvc   
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">  
        
        <!-- 注解驱动 -->
        <mvc:annotation-driven/>
        
        <!-- 扫描controller控制器包,否则DispatcherServlet无法找到相应的controller -->
        <context:component-scan base-package="com.tang.controller.annotation"></context:component-scan>
        <mvc:annotation-driven/>
        <!-- 启动springmvc的注解功能,完成请求和注解pojo的映射 -->
    <!--     <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"></bean>
     -->    
        <!-- 另外最好加入DefaultAnnotationHandlerMapping,不然会被xml或其他的映射覆盖 -->
    <!--     <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean> 
     -->    
        <!-- 引入多视图控制 -->
       <!--  <bean id="paramMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
            <property name="paramName" value="action"></property>
        </bean> -->
        
        <!-- 静态资源访问 -->
       <!--  <mvc:resources location="/img/" mapping="/img/**"/>
        <mvc:resources location="/js/" mapping="/js/**"/> -->
        <!-- 改语句可以访问所有的静态资源 -->
        <mvc:default-servlet-handler /> 
        
        <!-- 视图分解器 -->
        <bean id="viewResolver" 
            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/"/>
            <property name="suffix" value=".jsp"/>        
        </bean>
        
    </beans>
  • 相关阅读:
    django 项目需要注意的一些点
    VUE之路
    Oracle 表格碎片的查看方法
    RHEL 6.x or 7.x 使用分区绑定ASM 磁盘的方法
    RMAN 修复主库 nologging 操作导致物理备库的坏块
    Oracle 数据库19c 回退降级到 11.2.0.4 方案
    如何评估oracle 数据库rman全备和增量备份大小
    在将Oracle GI和DB升级到19c或降级到以前的版本之前需要应用的补丁 (Doc ID 2668071.1)
    Oracle 数据库坏块处理
    opatch auto 安装11.2.0.4.20190115 PSU遇到 OUI-67133: Execution of PRE script failed,with returen value 1 报错
  • 原文地址:https://www.cnblogs.com/zijinyouyou/p/6490943.html
Copyright © 2011-2022 走看看