SpringMVC項目搭建

1. 建立項目

  • 建立java項目
  • 在項目根目錄下新建webapp文件夾;在webapp下新建一個WEB-INF文件夾(瀏覽器不會訪問到該目錄下的資源。tomcat在啟動時,會在此目錄下讀取配置文件)
  • 在WEB-INF下建立一個web.xml 文件。tomcat啟動后本身會加載安裝路徑下的大配置文件web.xml, 當(dāng)發(fā)現(xiàn)項目的WEB-INF下也存在web.xml時,會作為分配置文件一并加載。
  • WEB-INF建立lib文件,用來存放相關(guān)jar包

2. web.xml 配置

  • Load-on-startup: 在web應(yīng)用啟動時,指定servlet被加載的順序;如果值是負(fù)整數(shù),或者沒有指定,那么容器會在該servlet被調(diào)用的時候,加載這個servlet。如果是正整數(shù)或0,容器在配置的時候就加載并初始化這個servlet。值越小就越先被加載。
  • 加載順序
    ServletContext -> context-param -> listener -> filter -> servlet
    <context-param>用于向ServletContext提供鍵值對,這些參數(shù),在listener,filter初始化的時候會用到。
  • 基本元素介紹
屬性 功能 備注
discription 描述
display-name 定義名稱
context-param 環(huán)境參數(shù) 它包含兩個子元素param-name,param-value;參數(shù)的值,可以使用getServletContext().getInitParameter("para_name")獲取到
filter 聲明filter 它包含三個子元素:filter-name,filter-class,init-param
filter-mapping 定義filter所對應(yīng)的URL 包含:filter-name,url-pattern子元素
listener 設(shè)定listener接口 包含listener-class子元素
servlet 聲明一個servlet 子元素:servlet-name,servlet-class, jsp-file, init-param
servlet-mapping 定義servlet對應(yīng)的URL servlet-name,url-pattern
  • 指定spring配置文件的位置
 <context-param>    
       <param-name>contextConfigLocation</param-name>    
       <param-value>    
         /WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml    
       </param-value>    
</context-param>  
  • 指定listener
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

ContextLoaderListener 可以指定在web程序啟動時載入IOC容器。請參考ContextLoaderListener的作用

  <servlet>
    <servlet-name>SpringDispatchedServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>SpringDispatchedServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

3. SpringDispatchedServlet-servlet.xml文件指定Servlet context

在這個文件里,可以指定HandlerMapping,HandlerAdapter, ViewResolver... servlet相關(guān)組件。

    <context:component-scan base-package="com.test.controller"/>

由于SpringMVC提供了默認(rèn)的servlet組件,為了方便就不自定義相關(guān)組件。

4. 測試controller

@Controller
public class TestController {

    @Autowired
    private Demo demo;

    @RequestMapping(value = "/test", method = RequestMethod.GET)
    @ResponseBody
    public String test() {
        TDKRequestParam param = new TDKRequestParam();
        param.setDomain("domain");
        param.setPage("test");
        param.setUrl("/243433/854003/");
        SResult<Meta> s = demo.getResult(param);
        return s.getData().getDescription();
    }
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容