zoukankan      html  css  js  c++  java
  • 关于界面后台信息交互

    之前没什么基础就直接学了框架,对这方面没什么经验,今天废了一天的时间才算是搞明白一些事情。

    1、request.setAttribute()与getAttribute()方法用来传值的一些问题.具体参见链接   https://www.cnblogs.com/JanaChen/p/4790649.html

    request是Servlet.service()方法的一个参数,类型为javax.servlet.http.HttpServletRequest。在客户端发出每个请求时,服务器都会创建一个request对象,并把请求数据封装到request中,然后在调用Servlet.service()方法时传递给service()方法,这说明在service()方法中可以通过request对象来获取请求数据。

    request的功能可以分为以下几种:

    • 封装了请求头数据;
    • 封装了请求正文数据,如果是GET请求,那么就没有正文;
    • request是一个域对象,可以把它当成Map来添加获取数据;
    • request提供了请求转发和请求包含功能。

    response是响应对象,向客户端输出响应正文(响应体)可以使用response的响应流,repsonse一共提供了两个响应流对象:

    • PrintWriter out = response.getWriter():获取字符流;
    • ServletOutputStream out = response.getOutputStream():获取字节流;

    当然,如果响应正文内容为字符,那么使用response.getWriter(),如果响应内容是字节,例如下载时,那么可以使用response.getOutputStream()。

    注意,在一个请求中,不能同时使用这两个流!也就是说,要么你使用repsonse.getWriter(),要么使用response.getOutputStream(),但不能同时使用这两个流。不然会抛出IllegalStateException异常。

    2、form表单是自动提交数据,ajax是可以自己选择提交,当要局部刷新页面的时候,选择的是ajax。以下代码进行解析;

    //前端部分

    $(document).ready(function(){
    $("#form").on('submit',function (e) {
    e.preventDefault();//取消事件的默认动作,也就是取消form表单的自动提交功能
    //alert($("#text").val());可以通过这个方法获取input的value值
    $.ajax({
    //url:"http://localhost:8080/Ajax/index.jsp?bk_id="+$("#text").val(),//通过url传值,还有data方法,目前只考虑到了url,缺点不安全
    url:"http://localhost:8080/loc/test",//url是你的servlet管理页面的url,不是传给这个servlet的url,具体可以看web.xml文件里边关于servlet-mapping映射路径
    type:"post",//post与get两种方法
    dataType:"json",
    /*json格式

              JSON建构于两种结构:

    • “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
    • 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
    */
    data:{},
    success:function (data) {

    var html = "<tr><td>"+data[0]+"</td> <td>"+data[0]+"</td> <td>"+data[2]+"</td> </tr>";
    $("#t").append(html);


    },
    error:function(){
    alert("error");
    }
    });
    });
    });

    //后端部分
    String[] s = {"1","2","3"};
    response.getWriter().write(new Gson().toJson(s));
    //gson
    Gson 是google解析Json的一个开源框架,同类的框架fastJson,JackJson等等
    主要解析 两种格式 列表格式 和 map格式



    总结
    今天混淆了request与response,具体区别这边不重复,在前文有,今天也一直纠结在request.getAttribute上,想要
    获得服务器的反馈,需要用到response的输出流来写,这点要注意,关于ajax更多的方面现在还在摸索,希望明天能有其他的收获,
    今天看到一个不刷新页面的方法iframe,其实这个是内嵌一个页面,并不是真的不刷新页面,这边进行一个说明。
  • 相关阅读:
    spider-抓取页面内容
    Zabbix监控
    时间戳转换
    计算机脱域
    查询指定时间内审核失败的事件日志
    spider-抓取网页内容(Beautiful soup)
    Queue
    spider-抓取网页内容
    MyEclipse+Tomcat配置
    Gradle Java Web应用程序并在Tomcat上运行
  • 原文地址:https://www.cnblogs.com/shigeng/p/8299192.html
Copyright © 2011-2022 走看看