1.JSP内置对象:JSP内置对象是 Web 容器创建的一组对象,不用通过手动new就可以使用
2.JSP9大内置对象:
         对象名称              类型             
    request (请求对象)       javax.servlet.ServletRequest 
    response响应对象)       javax.servlet.SrvletResponse
    out 输出对象)          javax.servlet.jsp.JspWriter 
    session 会话对象)      javax.servlet.http.HttpSession
    application应用程序对象)    javax.servlet.ServletContext
    page(页面对象)          javax.lang.Object
    pageContext页面上下文对象) javax.servlet.jsp.PageContext
    config配置对象)        javax.servlet.ServletConfig
    execption例外对象)      javax.lang.Throwable
3.JSP内置对象:out

<%
int[] value = { 60, 70, 80 };
for (int i : value) {
//将输出信息输出到控制台
System.out.println("控制台:"+i);
//out作为JSP最简单的内置对象,主要用于将信息输出到页面上
out.println(i); }
%>

4.JSP内置对象:request:客户端向服务器端发送请求数据,我们通过request对象接收数据

<%
//获取数据之前解决乱码 解决表单POST提交方式的乱码
request.setCharacterEncoding("UTF-8"); //request用于获取客户端向服务器提交的数据
String username=request.getParameter("username");
String password=request.getParameter("password"); //获取表单组件对应多个值时的请求数据
String [] hobbys=request.getParameterValues("hobby");
for(int i=0;i<hobbys.length;i++){
//获取数据之前解决乱码 解决表单Get提交方式的乱码
/* hobbys[i]=new String(hobbys[i].getBytes("ISO-8859-1"),"UTF-8"); */
out.print(hobbys[i]);
}
out.println();
out.println(username+"\t"+password); //性别
String sex=request.getParameter("sex");
out.println(sex); //下拉框地址
String address=request.getParameter("address");
out.println(address);
%>

POST和GET的区别:
1.从安全角度考虑 post更安全一些 get不安全
2.post方式提交数据可以提交大概几GB的数据 get方式提交数据最大也就到几KB

5.解决乱码的方案:
  post乱码解决:request.setCharacterEncoding("UTF-8");
  get乱码解决: hobbys[i]=new String(hobbys[i].getBytes("ISO-8859-1"),"UTF-8");

6.HTTP状态码:
  1** 信息,服务器收到请求,需要请求者继续执行操作
  2** 成功,操作被成功接收并处理
  3** 重定向,需要进一步的操作以完成请求
  4** 客户端错误,请求包含语法错误或无法完成请求
  5** 服务器错误,服务器在处理请求的过程中发生了错误

404和500错误状态码配置页面:
  在当前项目的web.xml当中加入如下配置信息:

<error-page>
<error-code>500</error-code>
<location>/500.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>

7.response:响应
  转发(是在服务器内部进行,无法访问到除内部以外的资源):

request.getRequestDispatcher("/response/welcome.jsp").forward(request, response);

  重定向(全路径):

response.sendRedirect("/Chap02/response/Login.jsp");

区别:

  1.转发是在服务器内部进行,重定向是客户端完成的,需要写入全路径,地址xxxxxxx
  2.转发请求1次,其余的操作都是在服务器内部进行的;重定向请求至少2次,其余的请求命令客户端再次请求一个URL
  3.转发可以携带这次请求的数据,重定向不带数据

JSP数据交互(一)的更多相关文章

  1. JSP数据交互

    JSP数据交互   一.jsp中java小脚本 1.<% java代码段%> 2.<% =java表达式%>不能有分号 3.<%!成员变量和函数声明%>二.注释 1 ...

  2. #学习笔记#JSP数据交互

    #学习笔记#JSP数据交互 数据库的使用方式:   当用户在第一个页面的查询框输入查询语句点提交的时候我们是用什么样的方式完成这个查询的? 答:我们通过在第一个页面提交表单的形式,真正的数据库查询时在 ...

  3. JSP/Servlet开发——第二章 JSP数据交互(一)

    1. JSP内置对象:JSP内置对象是 Web 容器创建的一组对象:   ●JSP常用的内置对象:out.request.application.session.response等: ●内置对象不需要 ...

  4. jsp数据交互(一).2

    01.什么是JSP内置对象(jsp核心)? Java 内置对象 Java  作用域 解析:jsp内置对象是web容器创建的一组对象.我们都知道tomcat这款软件可以看成是一种web容器,所以我们可以 ...

  5. 第二章 jsp数据交互(一)

    JSP如何处理客户端的请求? 解析:通过jsp内置对象 表单数据被提交到了jsp页面! 什么是JSP内置对象(jsp核心)? Java 内置对象 Java  作用域 解析:jsp内置对象是web容器创 ...

  6. JSP———数据交互【1】

    JSP的内置对象 不用声明就可以在JSP页面中使用 request对象 内置对象 request 封装了用户提交的信息,主要用于处理客户端请求 <FORM action="tom.js ...

  7. JSP数据交互(二)和Servlet基础

    01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. ...

  8. jsp数据交互(一),九大内置对象

    九大内置对象 九大内置对象 内置对象 类型 说明 作用域 request javax.servlet.ServletRequest 请求对象——在 一次请求/一个Request请求周期 中传递数据,请 ...

  9. JSP数据交互——九大内置对象及其方法详解(一)

    ①既然说到JSP内置对象,那么什么是JSP内置对象呢? 解析:JSP内置对象,就是在编写JSP页面时,不需要做任何声明就可以直接使用的对象. 如下代码片段:  <% int[]  value  ...

  10. JSP数据交互(一)

    1.JSP内置对象 请求对象:request 输出对象:out 响应对象:response 应用程序对象:application 会话对象:session 页面上下文对象:pageContext 页面 ...

随机推荐

  1. PHP中关于时间、时区、本地时间、UTC时间、GMT时间、时间戳等知识的梳理

    在PHP开发中,我们经常会在时间问题上被搞糊涂,比如我们希望显示一个北京时间,但是当我们使用date函数进行输出时,却发现少了8个小时.几乎所有的php猿类都必须对php中几个重要的时间转换等方法进行 ...

  2. 使用BurpSuite的Collaborator查找.Onion隐藏服务的真实IP地址

    本文转载!!! 原文地址:http://www.4hou.com/technology/10367.html 翻译来自:http://digitalforensicstips.com/2017/11/ ...

  3. vue路由传参query和params的区别(详解!)

    1.query使用path和name传参都可以,而params只能使用name传参. query传参: 页面: this.$router.push({ path:'/city',name:'City' ...

  4. Java多线程(三):Synchronized

    多线程安全 脏读:多个线程对同一个对象的实例变量进行修改后访问,导致读到的数据是被修改过的. 实例 ThreadDomain16类 public class ThreadDomain16 { priv ...

  5. 机器学习-5 支持向量机SVM

    一.概念和背景 SVM:Support Vector Machine 支持向量机. 最早是由Vladimir N. Vapnik和Alexey Ya. Chervonenkis在1963年提出的. 目 ...

  6. tar 命令参数解释

    tar 命令 tar [-cxtzjvfpPN]文件与目录参数说明:-c :建立一个打包文件:-x :解开一个打包文件:-t :查看 tar包里面的文件:(特别注意,在选择参数时,c/x/t仅能存在一 ...

  7. PHP输出缓冲及其应用

    缓冲(buffer)是为了协调吞吐速度相差很大的设备之间数据传送而采用的技术,用来存放缓冲数据的区域叫缓冲区,在计算机科学领域,当数据从一个地方传送到另一个地方时,缓冲区被用来临时存储数据.与缓冲相似 ...

  8. Java多线程学习(吐血超详细总结)

    Java多线程学习(吐血超详细总结) 林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 写在前面的话:此文只能说是java多线程的一个入门,其实 ...

  9. CSS3 - vue中纯css实现柱状图表效果

    背景 以前我们制作柱状图都用echarts或者其他同类型的图表插件 这次是个移动端的需求,而且这个图表需要动画 使用echarts就会显得过重,而且动画达不到我想要的效果(主要是我自己愚蠢想不到好的动 ...

  10. python算法与数据结构-二叉树的代码实现(46)

    一.二叉树回忆 上一篇我们对数据结构中常用的树做了介绍,本篇博客主要以二叉树为例,讲解一下树的数据结构和代码实现.回顾二叉树:二叉树是每个节点最多有两个子树的树结构.通常子树被称作“左子树”(left ...