【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,一经查实,立即删除!

相关文章

自定义标签 —— 实现时间转换和输出功能

第一步&#xff1a;导入jar包 jsp-api-2.2-sources.jar <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api --> <dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.…

laravel5 centos6.4下的配置体验

1. 安装lmnp环境: nginx version: nginx/1.6.0、 php 5.5.7 、 centos6.42. laravel-v5.1.4 一键安装包&#xff0c;在使用composer 安装时出现server 500的错误&#xff0c;改用了一键安装包注意&#xff1a;1. 防火墙的端口的&#xff0c; 2. laravel目录的用户权限&#xff…

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可算作一个中间件&…

iOS-生成随机数

有时候我们需要在程序中生成随机数&#xff0c;但是在Objective-c中并没有提供相应的函数&#xff0c;好在C中提供了rand()、srand()、random()、arc4random()几个函数。那么怎么使用呢&#xff1f;下面将简单介绍&#xff1a; 1、 获取一个随机整数范围在&#xff1a;[0,100)…

剑指offer 面试32题

面试32题&#xff1a; 题目&#xff1a;从上到下打印二叉树 题&#xff1a;不分行从上到下打印二叉树 解题代码&#xff1a; # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val x # self.left None # self.right …

crc算法java_c语言的crc16算法转java

一、c语言uint16_t crc_chk(uint8_t *data, uint8_t len){uint8_t i;uint16_t reg_crc 0xffff;while(len--) {reg_crc ^ *data;for(i 0; i < 8; i) {if(reg_crc & 0x01) {reg_crc (reg_crc >> 1) ^ 0xA001;} else {reg_crc reg_crc >> 1;}}}return reg_…

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

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

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

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

linux运维(五)

头有点大&#xff0c;也浪费了一些时间。明天过后缓冲一下1、存储过程与触发器的区别&#xff1f;答&#xff1a;&#xff08;1&#xff09;触发器主要是通过事件执行触发而被执行的&#xff0c;而存储过程可以通过存储过程名称而直接调用。&#xff08;call/execute&#xff0…

django web 自定义通用权限控制

需求&#xff1a;web系统有包含以下5个url&#xff0c;分别对于不同资源&#xff1b; 1、stu/add_stu/ 2、stu/upload_homework/ 3、stu/query_homework/ 4、stu/add_record/ ----------------------------------------------------------------------------------------------…

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

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

git学习相关的博客地址

Git分支管理策略&#xff1a; http://www.ruanyifeng.com/blog/2012/07/git.html Git 使用规范流程&#xff1a; http://www.ruanyifeng.com/blog/2015/08/git-use-process.html 基于git的源代码管理模型——git flow&#xff1a; http://www.ituring.com.cn/article/56870 Git…

Django框架基础学习

Django安装python下载地址 http://www.python.org/download/releases/3.3.4/Django的下载地址&#xff1a;https://www.djangoproject.com/download/1&#xff09;安装&#xff08;进到解压目录&#xff09;python setup.py install2、配置环境变量&#xff08;PATH&#xff09…

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

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

java邮件实例_java邮件小实例

新建一个包&#xff0c;名为mail第一个类&#xff1a;MailSenderInfo.java###########################################package com.util.mail;/*** 发送邮件需要使用的基本信息*author by wangfunhttp://www.5a520.cn 小说520*/import java.util.Properties;public class Mai…

DEV GridView嵌套

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

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

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

android——获取ImageView上面显示的图片bitmap对象

获取的函数方法为&#xff1a;Bitmap bitmapimageView.getDrawingCache(); 但是如果只是这样写我们得到的bitmap对象可能为null值&#xff0c;正确的方式为&#xff1a; imageView.setDrawingCacheEnabled(true);Bitmap bitmapimageView.getDrawingCache();imageView.setDrawin…

java监听com口_简单了解Java接口+事件监听机制

1.接口&#xff1a;定义方法&#xff1a;public interface interName //extends interName2, interName3...可继承多个接口在接口里只能定义常量和抽象方法。public static final String Name;public abstract void method(String Name);//这里不能用大括号&#xff0c;不然就不…