目录
一、Eclipse中Web工程项目目录结构
二、思维导图
三、认识jsp
1.jsp基本语法
1.1 什么是jsp?
1.2 jsp简介
1.3 jsp页面元素的构成
1.4 jsp指令
1.5 page指令详解
1.6 关于jsp注释
1.7 jsp声明 在jsp页面中定义变量或者方法,语法:<%!java代码%>
1.8 jsp表达式
2.网页的常见响应码
200:请求成功,浏览器会吧响应体内容(通常是html)显示在浏览器当中
404:请求的资源没有找到,说明客户端错误的请求了不存在的资源(网址)
500:请求的资源找到了,但服务器内部出现了错误
3.jsp内置对象
3.1 jsp内置对象简介
3.3 关于web程序的请求与响应模式
3.4 out对象
3.5 表单的提交方式 get和post区别:
3.6 request对象
3.7getParameter();和getParameterValues();的使用
三、深入理解out对象与request对象
1.out对象
2. request对象
1.1 常用方法
1.2 实例
四、网页常见响应码详解(拓展)
1.常见HTTP响应码 http状态返回代码1xx(临时响应)
2.http状态返回代码代码说明:
3.http状态返回代码代码说明:
4.http状态返回代码代码说明:
5.http状态返回代码代码说明:
6.http状态返回代码代码说明:
一、Eclipse中Web工程项目目录结构
二、思维导图
三、认识jsp
1.jsp基本语法
1.1 什么是jsp?
jsp(java server pages)java服务器端页面,它是一种动态网页开发技术,使用了jsp标签在html网页中插入java代码;标签通常以<%开头以%>结束。
1.2 jsp简介
(1)jsp全称:java server pages java服务端页面 如何HTML页面一样,能够通过浏览器去显示对应的效果
(2)jsp页面:与HTML页面不一样的是,jsp页面能写java代码也能编写HTML代码
(3)jsp页面其本质就是一个servlet,servlet就是一个java文件。
(4)项目部署到tomcat服务器后,如果通过浏览器访问它,这个页面会立刻通过"jsp引擎"转换成一个java文件(servlet)
(5)jsp页面能够编写java代码,必须要满足的格式<%-- <% %> --%>
(6)jsp页面:后缀名 .jsp 而不是.html.
静态内容:(HTML+css)(注释)
动态内容:
jsp指令
jsp声明
jsp脚本
jsp表达式
1.3 jsp页面元素的构成
注释(html注释,jsp注释,js注释 java)、声明、小脚本、表达式、指令、静态内容
1.4 jsp指令
page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令。
include指令:将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句(引入其它页面)
taglib指令:使用标签库定义新的自定义标签,在jsp页面中启用定制行为(引入JSTL第三方库(if选择标签,for循环标签))
整个jsp体系中,指令:三大指令
作用:可以设置编码可以引入其它页面可以引入第三方插件标签
1.5 page指令详解
page指令:指定jsp文件的编码以及html标签的编码也可以引入 java中的系统类,该指令必须位于jsp页面的顶部。
①语法:<%@ page 属性1 = "属性值" 属性2 = "属性1,属性2"...属性n = "属性值n"%>
②page指令中常用的三个属性
language:指定jsp页面使用的脚本语言 java
import:通过该属性来引用脚本语言中使用到的类文件 无
contentType:用来指定jsp页面所采用的编码方式 text/html 默认字符集:ISO-885-1----纯英文
<%--
格式: <%@ page import %>
作用:指定该文件可以识别java语言,内容基于html,编码utf-8 整个jsp页面的编码是utf-8
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
作用:在jsp页面中引入系统类导包
<%@page import="java.util.Scanner"%>
--%>
1.6 关于jsp注释
①html注释 //客户端可见
②jsp注释 <%--html注释--%> //客户端不可见
③jsp脚本注释
// 单行注释
多行注释
<% java代码 %> jsp中编写java代码
在jsp页面中执行的java代码,语法:<%Java代码%>
【案例】
<%
//out属于jsp九大内置对象之一
//向浏览器输出信息
out.print("大家好,欢迎大家学习javaweb");
%>
1.7 jsp声明
在jsp页面中定义变量或者方法,语法:<%!java代码%>
【案例】:
<%!
//声明一个变量
String str= "张三";
//声明一个返回整数的函数,实现两个整数的求和
int add(int x,int y){
return x+y;
}
%>
1.8 jsp表达式
在jsp页面中执行的表达式,语法: <%=表达式%>
注意:表达式不以分号结尾
【案例】:
<%!
//声明一个变量
String str= "张三";
//声明一个返回整数的函数,实现两个整数的求和
int add(int x,int y){
return x+y;
}
%>
//输出
<%=str%>
x+y=<%=add(10,8)%>
【jsp页面生命周期】
编译阶段
初始化阶段
执行阶段
销毁阶段
2.网页的常见响应码
1.1 什么是jsp?
jsp(java server pages)java服务器端页面,它是一种动态网页开发技术,使用了jsp标签在html网页中插入java代码;标签通常以<%开头以%>结束。
1.2 jsp简介
(1)jsp全称:java server pages java服务端页面 如何HTML页面一样,能够通过浏览器去显示对应的效果
(2)jsp页面:与HTML页面不一样的是,jsp页面能写java代码也能编写HTML代码
(3)jsp页面其本质就是一个servlet,servlet就是一个java文件。
(4)项目部署到tomcat服务器后,如果通过浏览器访问它,这个页面会立刻通过"jsp引擎"转换成一个java文件(servlet)
(5)jsp页面能够编写java代码,必须要满足的格式<%-- <% %> --%>
(6)jsp页面:后缀名 .jsp 而不是.html.
静态内容:(HTML+css)(注释)
动态内容:
jsp指令
jsp声明
jsp脚本
jsp表达式
1.3 jsp页面元素的构成
注释(html注释,jsp注释,js注释 java)、声明、小脚本、表达式、指令、静态内容
1.4 jsp指令
page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令。
include指令:将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句(引入其它页面)
taglib指令:使用标签库定义新的自定义标签,在jsp页面中启用定制行为(引入JSTL第三方库(if选择标签,for循环标签))
整个jsp体系中,指令:三大指令
作用:可以设置编码可以引入其它页面可以引入第三方插件标签
1.5 page指令详解
page指令:指定jsp文件的编码以及html标签的编码也可以引入 java中的系统类,该指令必须位于jsp页面的顶部。
①语法:<%@ page 属性1 = "属性值" 属性2 = "属性1,属性2"...属性n = "属性值n"%>
②page指令中常用的三个属性
language:指定jsp页面使用的脚本语言 java
import:通过该属性来引用脚本语言中使用到的类文件 无
contentType:用来指定jsp页面所采用的编码方式 text/html 默认字符集:ISO-885-1----纯英文
<%--
格式: <%@ page import %>
作用:指定该文件可以识别java语言,内容基于html,编码utf-8 整个jsp页面的编码是utf-8
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
作用:在jsp页面中引入系统类导包
<%@page import="java.util.Scanner"%>
--%>
1.6 关于jsp注释
①html注释 //客户端可见
②jsp注释 <%--html注释--%> //客户端不可见
③jsp脚本注释
// 单行注释
多行注释
<% java代码 %> jsp中编写java代码
在jsp页面中执行的java代码,语法:<%Java代码%>
【案例】
<%
//out属于jsp九大内置对象之一
//向浏览器输出信息
out.print("大家好,欢迎大家学习javaweb");
%>
1.7 jsp声明
在jsp页面中定义变量或者方法,语法:<%!java代码%>
【案例】:
<%!
//声明一个变量
String str= "张三";
//声明一个返回整数的函数,实现两个整数的求和
int add(int x,int y){
return x+y;
}
%>
1.8 jsp表达式
在jsp页面中执行的表达式,语法: <%=表达式%>
注意:表达式不以分号结尾
【案例】:
<%!
//声明一个变量
String str= "张三";
//声明一个返回整数的函数,实现两个整数的求和
int add(int x,int y){
return x+y;
}
%>
//输出
<%=str%>
x+y=<%=add(10,8)%>
【jsp页面生命周期】
编译阶段
初始化阶段
执行阶段
销毁阶段
2.网页的常见响应码
(1)jsp全称:java server pages java服务端页面 如何HTML页面一样,能够通过浏览器去显示对应的效果
(2)jsp页面:与HTML页面不一样的是,jsp页面能写java代码也能编写HTML代码
(3)jsp页面其本质就是一个servlet,servlet就是一个java文件。
(4)项目部署到tomcat服务器后,如果通过浏览器访问它,这个页面会立刻通过"jsp引擎"转换成一个java文件(servlet)
(5)jsp页面能够编写java代码,必须要满足的格式<%-- <% %> --%>
(6)jsp页面:后缀名 .jsp 而不是.html.
静态内容:(HTML+css)(注释)
动态内容:
jsp指令
jsp声明
jsp脚本
jsp表达式
1.3 jsp页面元素的构成
注释(html注释,jsp注释,js注释 java)、声明、小脚本、表达式、指令、静态内容
1.4 jsp指令
page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令。
include指令:将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句(引入其它页面)
taglib指令:使用标签库定义新的自定义标签,在jsp页面中启用定制行为(引入JSTL第三方库(if选择标签,for循环标签))
整个jsp体系中,指令:三大指令
作用:可以设置编码可以引入其它页面可以引入第三方插件标签
1.5 page指令详解
page指令:指定jsp文件的编码以及html标签的编码也可以引入 java中的系统类,该指令必须位于jsp页面的顶部。
①语法:<%@ page 属性1 = "属性值" 属性2 = "属性1,属性2"...属性n = "属性值n"%>
②page指令中常用的三个属性
language:指定jsp页面使用的脚本语言 java
import:通过该属性来引用脚本语言中使用到的类文件 无
contentType:用来指定jsp页面所采用的编码方式 text/html 默认字符集:ISO-885-1----纯英文
<%--
格式: <%@ page import %>
作用:指定该文件可以识别java语言,内容基于html,编码utf-8 整个jsp页面的编码是utf-8
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
作用:在jsp页面中引入系统类导包
<%@page import="java.util.Scanner"%>
--%>
1.6 关于jsp注释
①html注释 //客户端可见
②jsp注释 <%--html注释--%> //客户端不可见
③jsp脚本注释
// 单行注释
多行注释
<% java代码 %> jsp中编写java代码
在jsp页面中执行的java代码,语法:<%Java代码%>
【案例】
<%
//out属于jsp九大内置对象之一
//向浏览器输出信息
out.print("大家好,欢迎大家学习javaweb");
%>
1.7 jsp声明
在jsp页面中定义变量或者方法,语法:<%!java代码%>
【案例】:
<%!
//声明一个变量
String str= "张三";
//声明一个返回整数的函数,实现两个整数的求和
int add(int x,int y){
return x+y;
}
%>
1.8 jsp表达式
在jsp页面中执行的表达式,语法: <%=表达式%>
注意:表达式不以分号结尾
【案例】:
<%!
//声明一个变量
String str= "张三";
//声明一个返回整数的函数,实现两个整数的求和
int add(int x,int y){
return x+y;
}
%>
//输出
<%=str%>
x+y=<%=add(10,8)%>
【jsp页面生命周期】
编译阶段
初始化阶段
执行阶段
销毁阶段
2.网页的常见响应码
注释(html注释,jsp注释,js注释 java)、声明、小脚本、表达式、指令、静态内容
1.4 jsp指令
page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令。
include指令:将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句(引入其它页面)
taglib指令:使用标签库定义新的自定义标签,在jsp页面中启用定制行为(引入JSTL第三方库(if选择标签,for循环标签))
整个jsp体系中,指令:三大指令
作用:可以设置编码可以引入其它页面可以引入第三方插件标签
1.5 page指令详解
page指令:指定jsp文件的编码以及html标签的编码也可以引入 java中的系统类,该指令必须位于jsp页面的顶部。
①语法:<%@ page 属性1 = "属性值" 属性2 = "属性1,属性2"...属性n = "属性值n"%>
②page指令中常用的三个属性
language:指定jsp页面使用的脚本语言 java
import:通过该属性来引用脚本语言中使用到的类文件 无
contentType:用来指定jsp页面所采用的编码方式 text/html 默认字符集:ISO-885-1----纯英文
<%--
格式: <%@ page import %>
作用:指定该文件可以识别java语言,内容基于html,编码utf-8 整个jsp页面的编码是utf-8
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
作用:在jsp页面中引入系统类导包
<%@page import="java.util.Scanner"%>
--%>
1.6 关于jsp注释
①html注释 //客户端可见
②jsp注释 <%--html注释--%> //客户端不可见
③jsp脚本注释
// 单行注释
多行注释
<% java代码 %> jsp中编写java代码
在jsp页面中执行的java代码,语法:<%Java代码%>
【案例】
<%
//out属于jsp九大内置对象之一
//向浏览器输出信息
out.print("大家好,欢迎大家学习javaweb");
%>
1.7 jsp声明
在jsp页面中定义变量或者方法,语法:<%!java代码%>
【案例】:
<%!
//声明一个变量
String str= "张三";
//声明一个返回整数的函数,实现两个整数的求和
int add(int x,int y){
return x+y;
}
%>
1.8 jsp表达式
在jsp页面中执行的表达式,语法: <%=表达式%>
注意:表达式不以分号结尾
【案例】:
<%!
//声明一个变量
String str= "张三";
//声明一个返回整数的函数,实现两个整数的求和
int add(int x,int y){
return x+y;
}
%>
//输出
<%=str%>
x+y=<%=add(10,8)%>
【jsp页面生命周期】
编译阶段
初始化阶段
执行阶段
销毁阶段
2.网页的常见响应码
page指令:指定jsp文件的编码以及html标签的编码也可以引入 java中的系统类,该指令必须位于jsp页面的顶部。
①语法:<%@ page 属性1 = "属性值" 属性2 = "属性1,属性2"...属性n = "属性值n"%>
②page指令中常用的三个属性
language:指定jsp页面使用的脚本语言 java
import:通过该属性来引用脚本语言中使用到的类文件 无
contentType:用来指定jsp页面所采用的编码方式 text/html 默认字符集:ISO-885-1----纯英文
<%--
格式: <%@ page import %>
作用:指定该文件可以识别java语言,内容基于html,编码utf-8 整个jsp页面的编码是utf-8
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
作用:在jsp页面中引入系统类导包
<%@page import="java.util.Scanner"%>
--%>
1.6 关于jsp注释
①html注释 //客户端可见
②jsp注释 <%--html注释--%> //客户端不可见
③jsp脚本注释
// 单行注释
多行注释
<% java代码 %> jsp中编写java代码
在jsp页面中执行的java代码,语法:<%Java代码%>
【案例】
<%
//out属于jsp九大内置对象之一
//向浏览器输出信息
out.print("大家好,欢迎大家学习javaweb");
%>
1.7 jsp声明
在jsp页面中定义变量或者方法,语法:<%!java代码%>
【案例】:
<%!
//声明一个变量
String str= "张三";
//声明一个返回整数的函数,实现两个整数的求和
int add(int x,int y){
return x+y;
}
%>
1.8 jsp表达式
在jsp页面中执行的表达式,语法: <%=表达式%>
注意:表达式不以分号结尾
【案例】:
<%!
//声明一个变量
String str= "张三";
//声明一个返回整数的函数,实现两个整数的求和
int add(int x,int y){
return x+y;
}
%>
//输出
<%=str%>
x+y=<%=add(10,8)%>
【jsp页面生命周期】
编译阶段
初始化阶段
执行阶段
销毁阶段
2.网页的常见响应码
①html注释 //客户端可见
②jsp注释 <%--html注释--%> //客户端不可见
③jsp脚本注释
// 单行注释
多行注释
<% java代码 %> jsp中编写java代码
在jsp页面中执行的java代码,语法:<%Java代码%>
【案例】
<%
//out属于jsp九大内置对象之一
//向浏览器输出信息
out.print("大家好,欢迎大家学习javaweb");
%>
1.7 jsp声明
在jsp页面中定义变量或者方法,语法:<%!java代码%>
【案例】:
<%!
//声明一个变量
String str= "张三";
//声明一个返回整数的函数,实现两个整数的求和
int add(int x,int y){
return x+y;
}
%>
1.8 jsp表达式
在jsp页面中执行的表达式,语法: <%=表达式%>
注意:表达式不以分号结尾
【案例】:
<%!
//声明一个变量
String str= "张三";
//声明一个返回整数的函数,实现两个整数的求和
int add(int x,int y){
return x+y;
}
%>
//输出
<%=str%>
x+y=<%=add(10,8)%>
【jsp页面生命周期】
编译阶段
初始化阶段
执行阶段
销毁阶段
2.网页的常见响应码
在jsp页面中执行的表达式,语法: <%=表达式%>
注意:表达式不以分号结尾
【案例】:
<%!
//声明一个变量
String str= "张三";
//声明一个返回整数的函数,实现两个整数的求和
int add(int x,int y){
return x+y;
}
%>
//输出
<%=str%>
x+y=<%=add(10,8)%>
【jsp页面生命周期】
编译阶段
初始化阶段
执行阶段
销毁阶段
2.网页的常见响应码
编译阶段
初始化阶段
执行阶段
销毁阶段
2.网页的常见响应码
200:请求成功,浏览器会吧响应体内容(通常是html)显示在浏览器当中 404:请求的资源没有找到,说明客户端错误的请求了不存在的资源(网址) 500:请求的资源找到了,但服务器内部出现了错误
3.jsp内置对象
3.1 jsp内置对象简介
jsp内置对象是web容器创建的一组对象,不使用new关键字就可以使用的内置对象。
【案例】定义一个数组,使用out内置对象遍历输出
<%
int[] value = {60,70.80};
for(int i:value){
out.print(i)
}
%>
3.2 jsp中9大内置对象
--常用
out
request
response
session
application
--不常用
page
pageContext
exception
config
3.3 关于web程序的请求与响应模式
在将jsp内置对象之前,先给大家介绍一下:
web程序的请求响应模式。用户发送请求:request,服务器给用户响应:response
【画图分析】
用户----------http请求--------》web服务器
用户《----------http响应--------web服务器
例子:登录
点击登录想服务器发送请求,在请求对象中封装了用户名和密码。
服务器端接受用户的请求,判断用户名和密码后,给客户端发送响应页面
总结:web应用程序都是基于请求和响应的模式的。
3.4 out对象
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() 关闭输出流
3.5 表单的提交方式
get和post区别:
500:请求的资源找到了,但服务器内部出现了错误
3.jsp内置对象
3.1 jsp内置对象简介
jsp内置对象是web容器创建的一组对象,不使用new关键字就可以使用的内置对象。
【案例】定义一个数组,使用out内置对象遍历输出
<%
int[] value = {60,70.80};
for(int i:value){
out.print(i)
}
%>
3.2 jsp中9大内置对象
--常用
out
request
response
session
application
--不常用
page
pageContext
exception
config
3.3 关于web程序的请求与响应模式
在将jsp内置对象之前,先给大家介绍一下:
web程序的请求响应模式。用户发送请求:request,服务器给用户响应:response
【画图分析】
用户----------http请求--------》web服务器
用户《----------http响应--------web服务器
例子:登录
点击登录想服务器发送请求,在请求对象中封装了用户名和密码。
服务器端接受用户的请求,判断用户名和密码后,给客户端发送响应页面
总结:web应用程序都是基于请求和响应的模式的。
3.4 out对象
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() 关闭输出流
3.5 表单的提交方式
get和post区别:
3.1 jsp内置对象简介
jsp内置对象是web容器创建的一组对象,不使用new关键字就可以使用的内置对象。
【案例】定义一个数组,使用out内置对象遍历输出
<%
int[] value = {60,70.80};
for(int i:value){
out.print(i)
}
%>
3.2 jsp中9大内置对象
--常用
out
request
response
session
application
--不常用
page
pageContext
exception
config
3.3 关于web程序的请求与响应模式
在将jsp内置对象之前,先给大家介绍一下:
web程序的请求响应模式。用户发送请求:request,服务器给用户响应:response
【画图分析】
用户----------http请求--------》web服务器
用户《----------http响应--------web服务器
例子:登录
点击登录想服务器发送请求,在请求对象中封装了用户名和密码。
服务器端接受用户的请求,判断用户名和密码后,给客户端发送响应页面
总结:web应用程序都是基于请求和响应的模式的。
3.4 out对象
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() 关闭输出流
3.5 表单的提交方式
get和post区别:
--常用
out
request
response
session
application
--不常用
page
pageContext
exception
config
3.3 关于web程序的请求与响应模式
在将jsp内置对象之前,先给大家介绍一下:
web程序的请求响应模式。用户发送请求:request,服务器给用户响应:response
【画图分析】
用户----------http请求--------》web服务器
用户《----------http响应--------web服务器
例子:登录
点击登录想服务器发送请求,在请求对象中封装了用户名和密码。
服务器端接受用户的请求,判断用户名和密码后,给客户端发送响应页面
总结:web应用程序都是基于请求和响应的模式的。
3.4 out对象
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() 关闭输出流
3.5 表单的提交方式
get和post区别:
3.4 out对象
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() 关闭输出流
3.5 表单的提交方式
get和post区别:
get和post区别:
表单有两种提交方式:get与post
1.get:以明文的方式通过url提交数据,数据在url中可以看到 提交的数据最多不超过2KB(安全性低,效率高)
安全性较低但是效率比post方式高 适合提交数据量不大 安全性不高的数据 比如:搜索 查询等功能
2.post:将用户提交的信息封装在html header内 适合提交数据量大,安全性高的用户信息 比如 注册 修改 上传等功能(安全性高,效率低)
基本的表单标签形式:
安全性较低但是效率比post方式高 适合提交数据量不大 安全性不高的数据 比如:搜索 查询等功能
2.post:将用户提交的信息封装在html header内 适合提交数据量大,安全性高的用户信息 比如 注册 修改 上传等功能(安全性高,效率低)
基本的表单标签形式:
【例子区别】
--用户登录界面login.jsp dologin.jsp--->登录成功
用户登录
3.6 request对象
request的意思:请求
客户端浏览器向服务器发送一个请求,会将客户端的信息封装到request这个对象中,后续在服务器中得到客户端的消息需要通过request对象的某些方法去获取到,将这些信息
送往数据库中去匹配。
web应用的原理:
客户端-------- >服务器 }}}------- >数据库
|
客户端<----------服务器
---------------------------------------------------------------------------------------------------------------
客户端的请求信息被封装在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(); 返回字符串编码方式
⑩void setCharacterEncoding(); 设置请求的字符编码方式
11.int getContentLength(); 返回请求体的长度(以字节数为单位)
12.String getRemoteAddr(); 返回发送此请求的客户端IP地址
13.String getRealPath(String path); 返回虚拟路径的真实路径
14.String request.getContextPath(); 返回上下文路径
------------------------------
3.7getParameter();和getParameterValues();的使用
样式界面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
zkingzz商城注册页面
使用方法界面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
demo4_make.jsp页面 获取表单数据的页面
<%
request.setCharacterEncoding("utf-8");
//getParameter 获取请求参数 返回类型 String
//实现通过request对象获取表单中输入的值。
//1.获取账号
String username = request.getParameter("username");
out.println("表单输入的值为: "+username);
//2.获取密码
String password = request.getParameter("password");
out.println("
表单输入的值为: "+password);
//getParameterValues 获取一个key对应的多个参数
//获取多个值 复选框可以选中多个值
String[] hobbys = request.getParameterValues("hobby");
out.println("
您选择的爱好如下: ");
if(hobbys!=null){
for(String hb:hobbys){
out.println(hb);
}
}else{
out.println("没有选中爱好");
}
%>
例子:用户注册和request.jsp
通过URL地址参数传递能传递中文吗?---乱码
--使用request.setCharacterEncoding是无法解决问题的
解决方式:配置Tomcat服务器 server.xml
connectionTimeout="20000"
redirectPort="8443" />
加上属性 URIEncoding = "utf-8"
重启服务器即可。
三、深入理解out对象与request对象
1.out对象
out对象是JspWrite类的实例,是向浏览器输出内容常用的对象。
1.1 常用方法
1.2 实例
表单输入的值为: "+password); //getParameterValues 获取一个key对应的多个参数 //获取多个值 复选框可以选中多个值 String[] hobbys = request.getParameterValues("hobby"); out.println("
您选择的爱好如下: "); if(hobbys!=null){ for(String hb:hobbys){ out.println(hb); } }else{ out.println("没有选中爱好"); } %>
例子:用户注册和request.jsp
通过URL地址参数传递能传递中文吗?---乱码
--使用request.setCharacterEncoding是无法解决问题的
解决方式:配置Tomcat服务器 server.xml
connectionTimeout="20000"
redirectPort="8443" />
加上属性 URIEncoding = "utf-8"
重启服务器即可。
三、深入理解out对象与request对象
1.out对象
out对象是JspWrite类的实例,是向浏览器输出内容常用的对象。
1.1 常用方法
1.2 实例
1.out对象
out对象是JspWrite类的实例,是向浏览器输出内容常用的对象。
1.1 常用方法
1.2 实例
1.1 常用方法
1.2 实例
2. request对象
客户端的请求信息被封装在request对象中,通过它才能了解客户的需求,然后做出响应。它是
HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有
效。
1.1 常用方法
HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有
效。
1.1 常用方法
1.2 实例
date.jsp--->doDate.jsp获取数据date.jsp
doDate.jsp获取数据
doDate.jsp获取数据



