欧美日韩国产一区,亚洲一区视频,色综合久久久久,私密按摩师舌头伸进去了,99re6这里只有精品,夜夜性日日交xxx性hd

java框架(2.4)頁面的渲染

  • • 發表于 8年前
  • • 作者 大妖怪
  • • 2881 人瀏覽
  • • 0 條評論
  • • 最后編輯時間 8年前
  • • 來自 [技 術]

原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處

之前講過@RequestBod注解,該注解主要是返回給前端一個json格式的字符串。如果我們不加這個注解則會包一個404的錯,404的錯主要就是說頁面找不到或者方法找不到,很顯然,在這應該是頁面找不到的意思,怎么找到這個頁面呢?這就是今天要講的頁面(也就是MVC中的V)的渲染。
還是在之前的工程,我們需要做點改動:

  • 在spring-servlet.xml文件中加入以下內容:

      <!--開啟對靜態資源的訪問 -->
      <mvc:default-servlet-handler/>
    
      <!-- 對轉向頁面的路徑解析。prefix:前綴, suffix:后綴 -->
      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/pages/" p:suffix=".html" />
    
  • 然后在WEB-INF下建個文件夾‘pages’,然后在pages下建個文件index.html,html文件的的內容如下:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
      我是主頁
    </body>
    </html>
    
    
  • 然后新建個controller:PageControlerP,內容如下:

    @Controller
    @RequestMapping("/page")
    public class PageController {
    
      @RequestMapping("/index")
      public String index(){
    
          return "index";
      }
    }
    

    然后啟動項目訪問/page/index路徑:

    看到的結果是成功訪問了這個html頁面,說明訪問成功了。接下來就可以自己給html修改樣式修改內容什么的了。

這么做的原理是什么呢?
首先,這個html文件是靜態資源,比如css,js,圖片等等都是靜態資源文件,一般放在WEB-INF下,我們從外部訪問WEB-INF是沒有權限的,畢竟這里放了配置文件。但是這部分文件我們需要訪問,于是我們使用<mvc:default-servlet-handler/>開啟了訪問權限,這是spring3.0.4提供的,在這之前更麻煩。開啟了之后我們就需要渲染頁面了。
頁面一般是由org.springframework.web.servlet.view.InternalResourceViewResolver這個Resolver來渲染的,p:prefix參數是用來設置靜態資源的文件, p:suffix參數用來設置靜態資源的后綴,當我們普通的Controller返回一個String類型字符串的時候,InternalResourceViewResolver就會自動根據這個字符串,路徑和后綴幫我們拼接一個地址(/WEB-INF/pages/字符串.html)然后去判斷,如果存在就交給前端進行訪問,如果不存在就返回404.當然,我們也可以將路徑定義到別的地方,比如什么/WEB-INF/view,甚至是resource下都行,前提是定義好之后文件必須建在這,后綴也是一樣,可以是靜態頁面html,還可以是動態頁面jsp等等。動態頁面只不過是后端執行之后生成的html給前端進行訪問,原理是一樣,對數據的操作和servlet差不多。

另外源碼還是更新在github上上次的代碼中,https://github.com/YaoguaiDa/SpringMVC_Demo.git

分享到:
0條評論
Ctrl+Enter
作者

大妖怪

大妖怪

APP:1 帖子:76 回復:200 積分:7517

已加入社區[3076]天

夢里巷口,可有你倚門回首

作者詳情》
Top