Springboot读取templates文件html代码实例
SpringBoot里面没有我们之前常规web开发的WebContent(WebApp),它只有src目录
在src/main/resources下面有两个文件夹,static和templatesspringboot默认static中放静态页面,而templates中放动态页面
在不使用第三方jar包的情况下,Springboot不能直接访问templates下的静态页面,需要加其他jar包依赖。
代码如下
importorg.slf4j.Logger;
importorg.slf4j.LoggerFactory;
importorg.springframework.stereotype.Controller;
importorg.springframework.util.ClassUtils;
importorg.springframework.web.bind.annotation.RequestMapping;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjava.io.*;
@Controller
publicclassPageController{
privatestaticClassLoaderclassLoader=ClassUtils.getDefaultClassLoader();
privatestaticfinalLoggerlog=LoggerFactory.getLogger(PageController.class);
@RequestMapping("/")
publicvoidroot(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
request.getRequestDispatcher("/index.html").forward(request,response);
}
@RequestMapping("**.html")
publicvoidpage(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{
InputStreamReaderstreamReader=null;
try{
StringservletPath=request.getServletPath();
log.info(request.getMethod()+""+servletPath);
StringfilePath="templates"+servletPath;
InputStreaminputStream=classLoader.getResourceAsStream(filePath);
if(inputStream==null){
response.sendError(404);
return;
}
streamReader=newInputStreamReader(inputStream);
PrintWriterprintWriter=response.getWriter();
response.setContentType("text/html");
intreadChar;
while((readChar=streamReader.read())!=-1){
printWriter.write(readChar);
}
printWriter.flush();
}finally{
if(streamReader!=null)streamReader.close();
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 爱情贺卡祝福语简短英语
11 娃娃考试祝福语幽默简短
12 结婚祝福语简短精辟 兄弟
13 表达朋友的祝福语简短
14 春节感恩祝福语简短的
15 结婚祝福语粤语大全简短
16 恭喜朋友升职祝福语简短
17 圣诞饭店祝福语大全简短
18 建工系毕业祝福语简短