【JSP笔记】第三章 JSP内置对象【上】

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1.内置对象简介:JSP内置对象是WEB容器创建的一组对象,不使用new关键就可以是用的对象。

<%

out.println(123);

%>

 

2.九大内置对象:

 

  • out
  • request
  • response
  • session
  • application
  •  
  • Page 
  • pageContext 
  • exception 
  • config 

3.WEB程序请求响应模式

  • request:  用户发送请求。
  • response: 服务器给用户响应。

 

4.out对象:是JspWriter类的实力,是向客户端输出内容常用的对象。

常用方法如下:

  1. void println() 向客户端打印字符串。
  2. void clear() 清除缓冲区内容,若在flush之后调用会抛出异常。
  3. void clearBuffer() 清除缓冲区内容,若在flush之后用不会抛出异常。
  4. void flush() 讲缓冲区内容输出到客户端。
  5. int getBufferSize()返回缓冲区字节数的大小。不设缓冲区时为0.
  6. int getRemaining 返回缓冲区剩余可用。
  7. boolean isAutoFlush() 返回缓冲区满时,是自动清空还是抛出异常。
  8. void close() 关闭输出流。

 

5.表单两种提交方式

get:

  • 一明文方式通过URL提交数据,数据在URL中可以看到。
  • 提交的数据不超过2KB。
  • 安全性低但效率比post方式高。
  • 适合提交数据量不大,安全行不高的数据,例:搜索,查询等功能。

 post:

  • 讲用户信息封装在HTML HEADER内。
  • 适合提交数据量大,安全性高的用户信息。例:注册,修改,上传等功能。

 

6.request对象

  • 客户端的请求被封装在request对象中,通过它了解客户的需求,然后做出响应。
  • 是HttpServletRequest类的实力。
  • request对象有请求域,即完成客户端的请求之前,该对象一直有效。

常用方法:

String getParameter(String name)  返回name指定参数的参数值。

String[] getParameterValues(String name)  返回包含name的所有值的数组。

void setAttribute(String,Object) 存储此请求中的属性。

object getAttribute(String name) 返回指定属性的属性值

String getContentType() 得到请求体的MIME类型。

String getProtocol() 返回请求用的协议类型及版本号。

String getServerName() 返回接受请求的服务器主机名。

 

int getServerPort():返回服务器接受此请求用的端口号。

String getCharacterEncoding():返回字符编码方式。

int getContentLength():返回请求体的长度(以字节数)。

String getRemoteAddr():返回发送此请求的客户端IP地址。

String getRealPath(String path):返回一虚拟路径的真实路径。

Stirng request.getContextPath():返回上下文路径。

 

reg.jsp

 

[html] view plain copy

 print?在CODE上查看代码片派生到我的代码片

  1. <body>  
  2.     
  3.     <h2>用户注册</h2><br>  
  4.     <form name="2" action="request.jsp" method="post">  
  5.         <table>  
  6.             <tr>  
  7.                 <td>用户名</td>  
  8.                 <td ><input type="text" name="username"/></td>  
  9.             </tr>  
  10.               
  11.             <tr>  
  12.                 <td>密码</td>  
  13.                 <td ><input type="password" name="password"/></td>  
  14.             </tr>  
  15.               
  16.             <tr>  
  17.                 <td>爱好</td>  
  18.                 <td>  
  19.                 <input type="checkbox" name="fa" value="read">读书  
  20.                 <input type="checkbox" name="fa" value="music">音乐  
  21.                 <input type="checkbox" name="fa" value="movie">电影  
  22.                 <input type="checkbox" name="fa" value="internet">上网  
  23.                 </td>  
  24.             </tr>  
  25.               
  26.             <tr>  
  27.                 <td colspan ="2"><input type="submit" value="提交"/></td>  
  28.             </tr>  
  29.         </table>  
  30.     </form>  
  31.     <a href=<span style="color:#cc0000;">"request.jsp?username=中文"</span>>中文传参链接</a>  
  32.   </body>  


 

 

request.jsp

 

[html] view plain copy

 print?在CODE上查看代码片派生到我的代码片

  1. <body>  
  2.     
  3.     注册成功. <br>  
  4.     <%  
  5.     request.setCharacterEncoding("utf-8");  
  6.     %>  
  7.     用户名:<%= request.getParameter("username") %><br>  
  8.     爱好:<%  
  9.            if(request.getParameterValues("fa")!=null){  
  10.          String[] ff= request.getParameterValues("fa") ;  
  11.             for(int i=0;i<ff.length;i++)  
  12.             {  
  13.             out.println(ff[i]+" "+" "+" ");  
  14.             }  
  15.         }     
  16.     %>  
  17.   </body>  

 

7.中文乱码相关:

http://blog.csdn.net/qq276878300/article/details/52423478

 

8.response对象:

 

  • 包含响应客户请求的有关信息,
  • HttpServletResponse类的实例。
  • 具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其他页面的response对象对当前页面无效。

 

常用方法如下:

 

  • String getCharacterEncoding():返回响应的是何种字符编码。
  • void setContentType(String type):设置响应的MIME类型。
  • PrintWriter getWriter():返回可以想客户端输出字符的一个对象(注意比较PrintWriter与内置out对象的区别)
  • sendRedirect(java.lang.String location):重新定向客户端请求。

 

9.请求转发-请求重定向:

请求重定向:

 

  • 客户端行为。
  • response.sendRedirect()
  • 等同于两次请求,前一次请求对象不会保存。
  • 地址栏的URL地址会改变。

 

请求转发:

 

  • 服务器行为。
  • request.getRequestDispatcher().forward(req,resp);
  • 是一次请求,转发后请求对象会保存,
  • 地址栏的URL地址不会改变。

 

10.

转载于:https://my.oschina.net/u/2606138/blog/751213

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397629.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 并发编程多线程_多线程(一)java并发编程基础知识

线程的应用如何应用多线程在 Java 中&#xff0c;有多种方式来实现多线程。继承 Thread 类、实现 Runnable 接口、使用 ExecutorService、Callable、Future 实现带返回结果的多线程。继承 Thread 类创建线程Thread 类本质上是实现了 Runnable 接口的一个实例&#xff0c;代表一…

Docker监控方案(TIG)的研究与实践之Influxdb

2019独角兽企业重金招聘Python工程师标准>>> 前言&#xff1a; Influxdb也是有influxdata公司(www.influxdata.com )开发的用于数据存储的时间序列数据库.可用于数据的时间排列。在整个TIG(Telegrafinfluxdbgrafana)方案中&#xff0c;influxdb可算作一个中间件&…

Java第三阶段学习(三、字符流、转换流)

一、字节流读取中文时出现的问题&#xff1a; 文件中有中文时&#xff0c;用字节流读取会出现乱码的问题&#xff0c;因为一个中文为两个字节。 二、字符编码表 编码表&#xff1a;其实就是生活中字符和计算机二进制的对应关系表。 1、ascii&#xff1a; 一个字节中的7位就可以…

windows下OpenSSL加密证书安装步骤与使用方法

OpenSSL加密证书一般用于签名认证&#xff0c;含私钥和公钥。在Linux系统中&#xff0c;OpenSSL一般是已经安装好了&#xff0c;可以直接使用。而在Windows系统中&#xff0c;是需要安装使用的。 最近在使用支付平台时&#xff0c;用到了OpenSSL&#xff0c;鉴于此分享给大家&a…

java源码影视源码搭建教程_新版千月影视app源码+搭建教程

使用notepad批量替换URL【http://】为你的域名(被替换的域名访问有成品不能发布 需要修改的到前台confing里面查询)&#xff0c;替换名称【鲸鹰影视】为你的应用名称&#xff1b;服务端&#xff1a;1.将替换好的后端源码打包上传至站点根目录后解压&#xff1b;2.配置网站伪静态…

Uboot USB模式(RK3288变砖头的解决办法)

RK3288启动后有三种模式&#xff0c;可以分别进行操作。 第一种是normal也就是正常的启动模式。这个模式无法刷固件。一般板子通电就是这个模式 第二种是loader模式。就是刷固件模式。这个模式可以刷各种image。按住recover按键再通电&#xff0c;通过uboot的检测进入这个模式 …

DEV GridView嵌套

/// <summary> /// 绑定主表和明显表到GridView /// </summary> /// <param name"machineProduct">主表</param> /// <param name"configureData">字表</param> private void Mas…

局域网大型文件分发的可能解决方案

客户原来的做法是把文件上传到服务器&#xff0c;然后后形成一个普通的HTTP地址下入网站后台系统&#xff0c;然后客户端用户看到后&#xff0c;则下载下来。但是随着文件越来越大&#xff0c;客户端下载量增加&#xff0c;在局域内网环境中这种文件分发方式的弊端立现。服务器…

一个Option请求引发的深度解析

在当前项目中&#xff0c;前端通过POST方式访问后端的REST接口时&#xff0c;发现两条请求记录&#xff0c;一条请求的Request Method为Options&#xff0c;另一条请求的Reuest Method为Post。想要解决这个疑惑还得从以下3个概念说起。 Http Options Method RFC2616标准&#x…

ionic+AnjularJs实现省市县三级联动效果

建议对ionic和AnjularJs有一定了解的人可以用到&#xff0c;很多时候我们要用到选择省份、城市、区县的功能&#xff0c;现在就跟着我来实现这个功能吧&#xff0c;用很少的代码&#xff08;我这里是根据客户的要求&#xff0c;只显示想要显示的部分省份和其相对应的城市、区县…

Confluence 6 附件存储文件系统的分级

从 Confluence 3.0 开始&#xff0c;附件的存储方式有了重大的改变和升级。如果你是从 Confluence 2.10 及其早期版本升级上来的&#xff0c;请参考 Upgrading Confluence 页面中推荐的升级路径&#xff0c;同时请阅读 Confluence 3.0 文档中 Hierarchical File System Attachm…

你不知道的JavaScript-0

【数组】 删除数组的几种方法&#xff1a; https://www.cnblogs.com/Joans/p/3981122.html http://www.cnblogs.com/qiantuwuliang/archive/2010/09/01/1814706.html 【数字转换】 parseInt(num, radix): 【宽松相等和严格相等】 允许在相等比较中进行强制类型转换&#xff0c…

真是,原来可以这样啊

一下午&#xff0c;解决了两个问题。。。。。 先列上这两个真是Bug的问题&#xff1a; 1、数据库有个表book&#xff0c;里面有个字段 create_time Datetime类型的字段&#xff0c;这个字段是 not null 的。下午下代码往数据库里插入数据时&#xff0c;总是提示&#xff0c;cre…

java运行时异常中文_JAVA——运行时异常(RuntimeException)

Exception中有一个特殊的子类异常RuntimeException运行时异常。如果在函数内抛出该异常&#xff0c;函数上可以不用声明&#xff0c;编译一样通过。如果在函数上声明了该异常。调用者可以不用进行处理。编译一样通过。之所以不用在函数上声明&#xff0c;是因为不需要让调用者处…

JavaOne 2016——首日亮点

今年&#xff0c;为期5天的JavaOne会议中&#xff0c;4个会场的议题都进行了直播&#xff0c;演讲稿也在播出之后一并提供。\\来自Terracotta公司EHCache团队的Henri Tremblay&#xff0c;做了主题为《学习Java 8&#xff1a;Lambda表达式和函数式编程&#xff08;Learn Java 8…

Linux tr命令详解

tr是个简单的替换命令&#xff0c;从标准输入中替换、缩减和/或删除字符&#xff0c;并将结果写到标准输出。 tr常见命令参数 用法&#xff1a;tr [选项]... SET1 [SET2] 从标准输入中替换、缩减和/或删除字符&#xff0c;并将结果写到标准输出。-c, -C, --complement …

Android中插件开发篇总结和概述

刚刚终于写完了插件开发的最后一篇文章&#xff0c;下面就来总结一下&#xff0c;关于Android中插件篇从去年的11月份就开始规划了&#xff0c;主要从三个方面去解读Android中插件开发原理。说白了&#xff0c;插件开发的原理就是&#xff1a;动态加载技术。但是我们在开发插件…

java传入数据库生成柱状图_Java读取数据库数据生成柱状图

此案例是用swing显示数据的。须要引入jfreechart相关包。不同版本号可能包不同样。本人用的是此案例在ssi框架下会报错&#xff0c;不用框架就没问题。Java后台逻辑代码&#xff1a;public class BarChart {ChartPanel frame1;public BarChart() {CategoryDataset dataset get…

SVN系列操作(一)

SVN是什么&#xff1f; SVN是Subversion的简称&#xff0c;是一个开放源代码的版本控制系统&#xff0c;常用于软件开发项目中&#xff0c;实现代码、文档等的历史版本保存、共享和权限管理。 进入SVN本地目录&#xff0c;第一步操作就是update。 为什么呢&#xff1f;因为SVN是…

ubuntu-14.04.2-desktop使用方法

一、安装VMware Tools 1. 在VMware Workstation11.1.0下安装Ubuntu镜像&#xff1a;ubuntukylin-14.04.2-desktop-amd64.iso 2. 点击虚拟机菜单栏-安装VMware Tools。 3. 在Ubuntu系统光盘中找到VMwareTools-9.9.2-2496486.tar.gz&#xff0c;右键复制到“桌面”&#xff0c;然…