一、在服务器端引入Thymeleaf环境
1.加入jar包
2.配置上下文参数
在Servlet中,将一个请求转发到一个HTML页面文件时,使用的完整的转发路径就是物理视图
物理视图=视图前缀+逻辑视图+视图后缀
为什么要配置上下文参数?
这里配置的前后缀,是用来替换后面Servlet基类中的前后缀的。这样配置的原因是,如果我们把所有的HTML文件都放到一个某个统一的目录下,那么转发地址就会出现明显的规律,前缀和后缀都相同。
<!-- 在上下文参数中配置视图前缀和视图后缀 -->
<context-param><!--配置上下文参数-->
<param-name>view-prefix</param-name><!--前缀-->
<param-value>/</param-value>
</context-param>
<context-param>
<param-name>view-suffix</param-name><!--后缀-->
<param-value>.html</param-value>
</context-param>
为什么要放在WEB-INF目录下?
原因:WEB-INF目录不允许浏览器直接访问,所以我们的视图模板文件放在这个目录下,是一种保护。以免外界可以随意访问视图模板文件
访问WEB-INF目录下的页面,都必须通过Servlet转发过来,简单说就是:不经过Servlet访问不了。
这样就方便我们在Servlet中检查当前用户是否有权限访问。
那放在WEB-INF目录下之后,重定向进不去怎么办
重定向到Servlet,再通过Servlet转发到WEB-INF下。
3、创建Servlet基类
这个类大家直接复制粘贴即可,将来使用框架后,这些代码都将被取代。
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.WebContext;
import org.thymeleaf.templatemode.TemplateMode;
import org.thymeleaf.templateresolver.ServletContextTemplateResolver;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class ViewBaseServlet extends HttpServlet {
private TemplateEngine templateEngine;
@Override
publi