Java web前后端的交互方式

1. 利用cookie对象

Cookie是服务器保存在客户端中的一小段数据信息。使用Cookie有一个前提,就是客户端浏览器允许使用Cookie并对此做出相应的设置。一般不赞成使用Cookie。

(1)后端代码

Cookie cookie=new Cookie("name", "hello");
response.addCookie(cookie);

(2)前端代码

Cookie[] cookies=request.getCookies();
for(int i=0;i<cookies.length;i++){  if(cookies[i].getName().toString().equals("name")){  out.print(cookies[i].getValue());  }
}  

2. 利用session对象

session对象表示特定会话session的用户数据。客户第一次访问支持session的JSP网页,服务器会创建一个session对象记录客户的信息。当客户访问同一网站的不同网页时,仍处于同一个session中。
(1)后端代码

request.getSession().setAttribute("name", name);
request.getSession().setMaxInactiveInterval(2);
response.sendRedirect("welcome.jsp");

(2)前端代码(jsp页面)

Object user=request.getSession().getAttribute("name");

3. 利用request请求转发,设置setAttribute

(1)后端代码

request.setAttribute("name", "cute");
request.getRequestDispatcher("welcome.jsp").forward(request, response);  //网址不会改变

PS:如果后台使用的转发代码为 response.sendRedirect("welcome.jsp"); //网址变为welcome.jsp

则request设置的参数无效,因为已经切换到另一个请求了,request参数的有效期为本次请求。

(2)前端代码

    String name=request.getAttribute("name").toString();  

4. 利用Ajax进行异步数据请求(得到的数据可以以json或xml格式返回,便于处理)

(1)后端代码案例(运用servlet传输数据)

    public class TestServlet extends HttpServlet {  /** * Constructor of the object. */  public TestServlet() {  super();  }  public void doGet(HttpServletRequest request, HttpServletResponse response)  throws ServletException, IOException {  doPost(request, response);  }  public void doPost(HttpServletRequest request, HttpServletResponse response)  throws ServletException, IOException {  response.setContentType("text/html");  PrintWriter out = response.getWriter();  String data="[{\"name\":\"apple\",\"price\":23},{\"name\":\"banana\",\"price\":12},{\"name\":\"orange\",\"price\":8}]";  out.write(data);  out.flush();  out.close();  }  /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */  public void init() throws ServletException {  // Put your code here  }  }

(2)前端js请求处理数据代码

    function createXMLHttpRequest(){  var xmlrequest;  if(window.XMLHttpRequest){  xmlrequest=new XMLHttpRequest();  }else if(window.ActiveXObject){  try{  xmlrequest=new ActiveXObject("Msxm12.XMLHTTP");  }catch(e){  try{  xmlrequest=new ActiveXObject("Microsoft.XMLHTTP");  }catch(e){  xmlrequest="";  }  }  }  return xmlrequest;  }  //获取数据的函数  function change(){  var xmlrequest=createXMLHttpRequest();  xmlrequest.open("POST","TestServlet",true);  xmlrequest.onreadystatechange=function(){  if(xmlrequest.readyState==4&&xmlrequest.status==200){  var data=JSON.parse(xmlrequest.responseText);  var content="<table border=1>";  for(var i=0;i<data.length;i++){  content+="<tr>";  for(o in data[i]){  content+="<td>"+data[i][o]+"</td>";  }  content+="</tr>";  }  content+="</table>";  document.getElementById("test").innerHTML=content;  }  };  xmlrequest.send();  }  

总结:在用户访问网站整个生命周期中都会用到的数据用session来存储,例如用户名,登录状态,购物车信息显示在网页上的信息数据大多通过 request或Ajax方式获取.

Java Web前后端交互方式相关推荐

  1. Java Web前后端分离的思考与实践

    第一节 Java Web开发方式的变化 Web开发虽然是我们常说的B/S模式,其实本质上也是一种特殊的C/S模式,只不过C和S的选择余地相对要窄了不少,而且更标准化.不论是采用什么浏览器和后端框架,W ...

  2. Java Web前后端分离项目—后端servlet实例

    关与作者更多博客请访问云里云外开源社区 文章目录 一.闲谈 二.json字符串的接受和发送 json的发送 json的接收 三.内网穿透或服务上云服务器 四.跨域 背景(为什么) 如何跨域 五.对接出 ...

  3. java Web 前后端交互

    web后端和前端交互 网站数据处理主要分为三层. 第一层,表示层,这部分可以用HTML代码,CSS/Javascript代码来实现等.通过前端代码可以实现网页的布局和设计.这层又可以称为显示层.也就是 ...

  4. 视频教程-Vue、Spring Boot开发小而完整的Web前后端分离项目实战-Java

    Vue.Spring Boot开发小而完整的Web前后端分离项目实战 3年多.net开发经验:5年的java后端开发经验,熟悉行.net,java流行技术,拥有多个.net,java web企业级应; ...

  5. 淘宝玉伯引发Web前后端研发模式讨论

    淘宝玉伯是是前端基础类库 Arale 的创始人,Arale 基于 SeaJS 和 jQuery.不久前,淘宝玉伯在 Github 的 Arale 讨论页面上抛出了自己对于Web 前后端研发模式的思考. ...

  6. (转载)淘宝玉伯引发Web前后端研发模式讨论

    个人认为:他们根据自己的经验,以谈话的模式来讨论web的前后端协作,还是很有趣的,也很有借鉴意义. 淘宝玉伯是是前端基础类库 Arale 的创始人,Arale 基于 SeaJS 和 jQuery.不久 ...

  7. web前后端分离开发部署模式

    web前后端分离开发部署模式 在开始讨论这个话题之前我们先来认识一下传统的开发模式. 一.传统开发模式 相信很多做过Web开发童鞋应该都会经历这样一种开发模式,利用后端语言提供的模版引擎编写HTML/ ...

  8. WEB前后端交互原型通用元件库、常用组件、信息输出、信息输入、信息反馈、综合系列、页面交互、首页、分类页、内容详情、用户中心、注册登录、找回密码、元件库、web元件库、rplib、axure

    WEB前后端交互原型通用元件库.常用组件.信息输出.信息输入.信息反馈.综合系列.页面交互.首页.分类页.内容详情.用户中心.注册登录.找回密码.元件库.web元件库.rplib.axure原型 we ...

  9. Python Web前后端分离框架Django+Vue搭建

    Python Web前后端分离框架Django+Vue搭建 对前面所学知识的归纳整理,感兴趣的可以看看,欢迎指正. 一.前后端分离框架介绍 本项目基于 Python 的 Web 框架开发,采用前后端分 ...

最新文章

  1. 假如我是超级卷王。。。
  2. WebAPI返回数据类型解惑 以及怎样解决Extjs无法解析返回的xml
  3. php如何实现用户报警,php封装实现钉钉机器人报警接口的示例代码
  4. 在显著性区域外画矩形框matlab,Matlab实验报告样板
  5. ibmm,让思维导图回归本质
  6. 我的工作日志 2020年12月1日 星期一
  7. 计算机系统的备份与还原实验报告,数据库《数据备份与还原》实验报告.doc
  8. leetcode 476. 数字的补数(Number Complement)
  9. 【转】Struts2中json插件的使用
  10. 损坏的主文件表_启动失败时如何手动修复Windows 10的MBR(主引导记录)
  11. 数据分析中数据概览神器pandas_profiling介绍
  12. 关于URL路径的基本使用
  13. 发电机机房设计规范_柴油发电机房设计规范.docx
  14. 类似组卷网实现快速组卷功能,实现试题,试卷,课件快速录入、搜索、分类查询,支持mathtype和latex2word。
  15. oracle min(date),Oracle / PLSQL MIN函数
  16. css实现简单的电影院选座功能
  17. pdf如何转换成excel?教你几个方法
  18. deepin连接投影仪显示不完全
  19. 8255A的工作方式
  20. react事件 组件设计传参使用

热门文章

  1. 前端页面jquery处理分子式,离子,化学反应方程式的方法与思路。
  2. java求数组中满足给定和的数对_关于数组的几道面试题 - zdd - 博客园
  3. 每次下载的word excel都要通过属性解除锁定才能打开,怎么才能以后下载直接打开呀??
  4. C++ reverse函数源码解析
  5. 【最长回文子串】Manacher算法详解
  6. 淘宝官网订单API接口
  7. 移动互联时代 带你一分钟看懂8Manage 移动CRM
  8. JMeter参数化4种实现方式
  9. 本周大新闻|MR头显或成WWDC23重头戏;PICO 4 Pro本周开售
  10. 熟练java语言-基础掌握