当前位置: 首页 > news >正文

哈尔滨 高端网站建设wordpress文章页幻灯片

哈尔滨 高端网站建设,wordpress文章页幻灯片,wordpress前台调用,scrm和crm如何配合JAVAWebSession会话会话跟踪技术session保存作用域Thymeleaf - 视图模板技术配置过程Session会话 HTTP是无状态的:服务器无法区分这两个请求是同一个客户端发过来的,还是不同的客户端发过来的 现实问题:第一次请求是添加商品到购物车&#x…

JAVAWeb

  • Session会话
    • 会话跟踪技术
    • session保存作用域
  • Thymeleaf - 视图模板技术
    • 配置过程


Session会话

HTTP是无状态的:服务器无法区分这两个请求是同一个客户端发过来的,还是不同的客户端发过来的
现实问题:第一次请求是添加商品到购物车,第二次请求是结账;如果这两次请求无法区分是同一个用户的,那么会导致混乱
通过会话跟踪技术来解决无状态的问题

在这里插入图片描述

示例代码:

public class Demo03Servlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//获取session,如果获取不到,则创建一个新的HttpSession session = request.getSession();System.out.println("session ID"+session.getId());}
}

运行结果:
在这里插入图片描述

会话跟踪技术

1.客户端第一次发请求给服务器,服务器获取session,获取不到,则创建新的,然后响应给客户端
2.当客户端给服务器发请求的时候,那么服务器就能获取到了,那么服务器就判断这一次请求和上次请求是同一个客户端,从而能够区分开客户端
常用API:
request.getSession() -> 获取当前的会话,没有则创建一个新的会话
request.getSession(true) -> 效果和不带参数相同
request.getSession(false) -> 获取当前会话,没有则返回null,不会创建新的
session.getId() -> 获取sessionID
session.isNew() -> 判断当前session是否是新的
session.getMaxInactiveInterval() -> session的非激活间隔时长,默认1800秒
session.invalidate() -> 强制让会话立即失效
session.getCreationTime() -> 获取会话创建时间
session.getLastAccessedTime() -> 获取最近一次访问时间

session保存作用域

在这里插入图片描述
session保存作用域是和具体的某一个session对应的
常用的API:
session.setAttribute(k,v)
Object session.getAttributr(k)

演示代码:

//演示向HttpSession保存数据
public class Demo04Servlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.getSession().setAttribute("uname","lina");}
}
public class Demo05Servlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Object unameObj = request.getSession().getAttribute("uname");System.out.println(unameObj);}
}

运行结果:
在这里插入图片描述


Thymeleaf - 视图模板技术

配置过程

thymeleaf是用来帮助我们做视图渲染的一个技术
1)添加thymeleaf的jar包
在这里插入图片描述
2)在web.xml文件中添加配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--配置上下文参数--><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-app>
  • 配置前缀 prefix
  • 配置后缀 suffix
    3)新建一个Servlet文件中添加配置
public class ViewBaseServlet extends HttpServlet {private TemplateEngine templateEngine;@Overridepublic void init() throws ServletException {// 1.获取ServletContext对象ServletContext servletContext = this.getServletContext();// 2.创建Thymeleaf解析器对象ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver(servletContext);// 3.给解析器对象设置参数// ①HTML是默认模式,明确设置是为了代码更容易理解templateResolver.setTemplateMode(TemplateMode.HTML);// ②设置前缀String viewPrefix = servletContext.getInitParameter("view-prefix");templateResolver.setPrefix(viewPrefix);// ③设置后缀String viewSuffix = servletContext.getInitParameter("view-suffix");templateResolver.setSuffix(viewSuffix);// ④设置缓存过期时间(毫秒)templateResolver.setCacheTTLMs(60000L);// ⑤设置是否缓存templateResolver.setCacheable(true);// ⑥设置服务器端编码方式templateResolver.setCharacterEncoding("utf-8");// 4.创建模板引擎对象templateEngine = new TemplateEngine();// 5.给模板引擎对象设置模板解析器templateEngine.setTemplateResolver(templateResolver);}protected void processTemplate(String templateName, HttpServletRequest req, HttpServletResponse resp) throws IOException {// 1.设置响应体内容类型和字符集resp.setContentType("text/html;charset=UTF-8");// 2.创建WebContext对象WebContext webContext = new WebContext(req, resp, getServletContext());// 3.处理模板数据templateEngine.process(templateName, webContext, resp.getWriter());}
}

4)使得我们的Servlet继承ViewBaseServlet
5)根据逻辑视图名 得到 物理视图名

//此处的视图名称是index
//那么thymeleaf会将这个 逻辑视图名称 对应到物理视图 名称上去
//逻辑视图名称  index
//物理视图名称 view-prefix + 逻辑视图名称 + view-suffix
//所以真是的视图名称是 / index .html

6)使用thymeleaf的标签
th:if ,th:unless , th:each

http://www.yayakq.cn/news/895171/

相关文章:

  • 58百度搜索引擎四川网站建设seo
  • 国家精品课程建设工作网站怎么制作网址内容
  • 楚雄 网站建设做房产推广那个网站好
  • 360建设网站免费下载提供免费主页空间的网站
  • 门户网站要用什么软件做如何制作app客户端
  • 网站套站不一样的婚恋网站怎么做
  • 企业网站源码带后台管理网站怎么做架构图
  • 企业网站建设要求标准说明qq小程序下载
  • wordpress的站点地址如何配置网站建设招标书模板
  • 网站 手机案例阿里云clouder网站建设
  • 百度网站上做推广受骗宁夏建设教育协会网站
  • 网站开发需要技术如何把网站放到百度
  • 沧州英文模板建站国内可访问的海外网站和应用
  • 制作宝安网站建设建筑工程证书查询
  • 东安网站建设建筑人才招聘网站
  • 网站开发不用jspwin7系统下动网站建设
  • 只做画册的网站网站制作作业
  • 北京专业网站设计制作竟标网站源码
  • asp.net 价格查询网站郑州网站推广电话
  • 怎么选择一个好的友情链接网站展示型网站建设服务
  • 农家乐网站开发项目背景wordpress破解主题分享下载
  • 网站的外部链接建设wordpress头部导航栏代码
  • 中国第八冶金建设公司网站徐州市贾汪区建设局网站
  • 网站都需要什么类别南宁vi设计公司
  • 本站3天更换一次域名yw纯代码添加wordpress网站底部导航
  • 网站和公众号的区别是什么意思微信公众号怎么创建桌面快捷方式
  • 青岛网站建中堂做网站
  • 网站美工培训课程门户网站的建设要求
  • 咋样看网站域名是哪个服务商的手机好用的wordpress
  • 网站备案 前置审批号建设网站找网络公司