JAVA Web入门之JSP内置对象的解析及使用(超详细必看)

创作不易 觉得有帮助请点赞关注收藏~~

概述:由于JSP使用java作为脚本语言 所以JSP具有强大的对象处理能力 并且可以动态创建web页面内容 但java语言在使用一个对象前  需要先实例化这个对象 为了简化开发 JSP提供了一些内置对象 用来实现JSP应用 在使用JSP内置对象时  不需要提前定义这些对象  直接使用即可

1:request

request对象封装了由客户端生成的HTTP请求的所有细节 主要包括HTTP头信息 系统信息 请求方式和请求参数等等 通过request对象提供的相应方法可以处理客户端浏览器提交的http请求中的各项参数

通过request对象的getParmeter()方法获取传递的参数值

语法如下

<%
request.getParmeter("id");
%>

实例如下 创建index.jsp文件 在该文件中添加一个连接到deal.jsp页面的超链接 并传递两个参数

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>

<html>
<head>
<meta  http-equiv="Content-Type"  content="text/html;charset=utf-8">
<title>使用request对象获取请求参数值</title>
</head>
<body>
<a href="deal.jsp? id=1&user">处理页</a>
</body>
</html>

创建deal.jsp文件 

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%
String id=request.getParameter("id");
String user=request.getParmeter("user");
String pwd=request.getParmeter("pwd");

%>
<html>
<head>
<meta http-equiv="Content-Type"  content="text/html;charset=utf-8">
<title>处理页</title>
</head>
<body>
id参数的值为:<%=id %><br>
user参数的值为:<%=user %><br>
pwd参数的值为:<%=pwd %> 

</body>
</html>

1.2:在作用域中管理属性

使用setAttribute()方法将数据保存到request范围内的变量中

使用getAttribute()方法可以读取request范围内的变量

实例如下

index1.jsp文件如下

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>

<html>
<head>
<meta  http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
try{
	int money=100;
	int number=0;
	request.setAttribute("result",money/number);
	
	
	
	
}
catch(Exception e){
	request.setAttribute("result","很抱歉 页面产生错误");
	
}


%>
<jsp:forward page="deal1.jsp"/>
</body>
</html>

deal1.jsp文件如下

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta  http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>结果页</title>
</head>
<body>
<%String message=request.getAttribute("result").toString(); %>
<%=message %>
</body>
</html>

1.3:解决中文乱码

所有的request请求对象都是  iso-8859-1的 在此页面中采用的是utf-8的编码方式 只要将获取到的数据通过String的构造方法使用指定的编码类型重新构造一个string对象 就可以解决此问题

关键代码如下

<body>
name参数的值为<%=new String(request.getParmeter("name").getBytes("ISO-8859-1"),"UTF-8")%>
sex参数的值为<%=request.getPatmeter("sex")%>
</body>

1.4:获取客户端信息

通过request对象可以获取客户端的相关信息

部分方法实例如下

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta  http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<br>客户提交信息的方式<%=request.getMethod() %>
<br> 使用的协议<%=request.getProtocol() %>
<br> 获取发出请求字符串的客户端地址<%=request.getRequestURL() %>
<br> 获取提交数据的客户端IP地址<%=request.getRemoteAddr() %>
<br> 服务器端口号<%=request.getServerport() %>
<br> 获取服务器的名称<%=request.getServerName() %>
<br> 获取客户端所请求的脚本文件的文件路径<%=request.getServletPath() %>
<br> 获得HTTP协议定义的文件头信息host的值<%=request.getHeader("host") %>
</body>
</html>

2:response

response对象用于响应客户请求 向客户端输出信息 它封装了JSP产生的响应 并发送到客户端以响应客户端的请求 请求数据可以是各种数据类型 甚至是文件。

2.1:重定向网页 

使用response对象提供的sendRedirect()对象可以将网页重定向到另一个页面 重定向操作支持将地址重定向到不同的主机上  这一点与转发不同 在客户端浏览器上将会得到跳转的地址 并重新发送请求链接 用户可以从浏览器的地址栏中看到跳转后的地址  进行重定向地址后 request中的属性全部失效  并且开始一个新的request对象 语法如下

response.sendRedirect(String path);

2.2:处理http文件头

禁用缓存 

在默认的情况 浏览器会对显示的内容内容进行缓存 这样 当用户再次访问相关网页时,浏览器会判断网页是否有变化  如果没有变化则直接显示缓存中的内容 这样可以提高网页的显示速度 对于一些安全性较高网站 通常需要禁用缓存 语法如下

<%
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
%>

2.3:设置页面页面自动刷新

通过设置HTTP头还可以实现页面的自动刷新 语法如下

<%
response.setHeader("refresh","10");
%>

2.4:定时跳转网页

通过设置HTTP头还可以实现定时跳转网页的功能 语法如下

<%
response.setHeader("refresh","5; URL=login.jsp");
%>

2.5:设置输出缓冲

通常情况下 服务器要输出到客户端的内容不会直接写到客户端 而是写到一个输出缓冲区  语法如下

response.setBufferSize(32);

3: session

session在网络中被称为会话 由于HTTP协议是一种无状态协议 服务器并不保存相关的信息 所以session可以在应用程序的web页面进行跳转 保存用户的状态  使整个用户会话一直存在下去 部分方法语法如下

session.setAttribute(String name,Object obj)
session.getAttribute(String name)

3.1:从会话中移动指定的绑定对象

对于存储在session会话中的对象 如果想删除 可以使用session对象的removeAttribute方法

removeAttribute(String name)

3.2:销毁session

session.invalidate()

4:application

application对象用于保存所有应用程序中的公有数据 它在服务器启动时自动创建 在服务器停止时销毁 有点类似于系统的全局变量

应用getAttribute方法获取web.xml中定义的全部应用程序初始化参数名 并通过循环输出 代码如下

<%@ page import="java.util.*"%>
<%
Enumeration enema=application.getInitParameterNames();
while(enema.hasMoreElements()){
String name=(String)enema.nextElement();
String value=application.getInitParameter(name);
out.printIn(name+"");
out.printIn(value);
}
%>



5:out

out对象一个最基本的应用就是想客户端浏览器输出信息 out对象可以输出各种数据类型的数据.,还可以对缓冲区进行管理

分别有print方法和printIn()方法 都可以用于输出数据 区别不大

out.print()
out.printIn()

6:获取会话范围的pageContext对象

pageContext可以获取页面上下文

7:读取web.xml配置信息的config对象

config对象主要用于取得服务器的配置信息

8:应答或请求的page对象

page对象代表JSP本身 只有在JSP页面内才是合法的 page对象本质上是包含当前Servlet接口引用的变量 可以看作是this关键字的别名  效果如下

 代码如下

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta  http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>page 对象各方法的引用</title>
</head>
<body>
<%! Object object;%>
<ul>
<li>getClass()方法的返回值<%=page.getClass()%></li>
<li>hashCode方法的返回值<%=page.hashCode() %></li>
<li>toString方法的返回值<%=page.toString() %></li>
<li>与object对象比较的返回值<%=page.equals(object) %></li>
<li>与this对象比较的返回值<%=page.equals(this) %></li>
</ul>



</body>
</html>

9:获取异常信息的exception

exception对象用来处理JSP文件执行时发生的所有错误和异常  只有在page指令中设置isErrorPage属性值为true的页面中才可以被使用 

实例如下 使用exception对象获取异常信息

index4.jsp文件如下

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8" errorPage="error.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta  http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>使用exception对象获取异常信息</title>
</head>
<body>
<%
request.setAttribute("price","12.5元");
float price=Float.parseFloat(request.getAttribute("price").toString());


%>
</body>
</html>

error.jsp文件如下

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8" isErrorPage="true"%>
<!DOCTYPE html>
<html>
<head>
<meta  http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>错误提示页</title>
</head>
<body>
错误提示为:<%=exception.getMessage() %>
</body>
</html>

创作不易 觉得有帮助请点赞关注收藏~~

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
JSP程序设计从入门到精通》电子书   第1篇 入门篇 7   第1章 Jsp概述 技术分析 7    1.1 Jsp简介与历史背景 7    1.1.1 日新月异的Web技术 7    1.1.2 什么是JSP 8    1.1.3 JSP技术有以下几个显著的优点 9    1.1.4 JSP和其他类似或相关技术的一个简单比较 10    1.2 JSP环境安装配置 12    1.2.1Tomcat下JSP环境的配置 12    1.2.1建立自己的Jsp工作目录 13    1.3 JSP语法介绍 14    1.3.1 JSP页面中的元素 14    1.3.2 JSP语法概要 15    1.3.3关于模板文本(静态HTML) 16    1.4 运行第一个Jsp程序 16    1. 5本章小结 20   第2章Jsp 基础学习 20    2.1 JSP基本语法 20    2.1.1 JSP 语法之声明 21    2.1.2 JSP 语法之表达式 21    2.1.3 JSP 语法之Scriptlet 21    2.2 JSP的指令 22    2.2.1 page指令(Directive) 22    2.2.2 include指令(Directive) 24    2.3 JSP的动作 25    2.3.1 jsp:include动作 25    2.3.2 jsp:useBean动作 27    2.3.3 jsp:setProperty动作 29    2.3.4 jsp:getProperty动作 30    2.3.5 jsp: forward动作 31    2.3.6 jsp: plugin动作 31    2.3.7注释 31    2.4 JSP 9种基本内置组件 31    2.5 JSP中Session的使用 34    2.6 JSP中forward的使用 36    2.7 JSP运行时错误处理与应该注意的六个常见问题 37    2.8 JSP小实例 38    2.8.1实例1(在JSP中定义函数) 38    2.8.2实例2(获取各种CGI环境变量) 39    2.8.3实例3(JSP里request变量列表) 42    2. 9本章小结 44   第3章JavaBean组件 44    3.1 什么是JavaBeans 45    3.1.1 JavaBeans 简介 45    3.1.2 JavaBeans 属性 45    3.1.3 JavaBeans 的事件 50    3.2 在Jsp使用JavaBeans 55    3.3 JavaBeans的scope属性 57    3.4 JavaBeans应用实例 59    3.4.1 实例1(HelloWord.java) 59    3.4.2 实例2(People.java) 60    3.4.3实例子3数组应用 (Example2_3.java) 60    3.4.4实例子4运算符、表达式应用 (Example3_1.java) 61    3.5 本章小结 62   第4章JspServlet 62    4.1 什么是Servlets 63    4.1.1 JavaServlet的解释 63    4.1.2 什么是Jsp 65    4.1.3 得到一个Servlets和JSP的运行环境 66    4.1.4 实现第一个JSP和SERVELT 67    4.2 Servlet规范定义的Servlet 生命周期 70    4.3 JSP/Servlet的重定向技术综述 72    4.3.1 RequestDispatcher.forward() 72    4.3.2 response.sendRedirect() 73    4.4 理解会话 74    4.4.1 会话状态跟踪API 75    4.4.2 在会话对象中保存数据 76    4.4.3实例:显示会话信息 76    4.5 用Java Servlets代替CGI 78    4.6 JSP/Servlet 中的汉字编码问题 80    4.7 图解Eclipse+Tomcat集成开发Servlet 84    4.8 Servlets/JSP开发技术问答 93    4.9 Servlet小实例 97    4.5.1实例1(输出) 98    4.5.2实例2(获取表单参数) 99    4.5.3实例3(获取jsp各种参数) 101    4.1
Java Web开发教程: 入门与提高篇(JSP Servlet)PDF》是一本针对Java Web开发的教程,旨在帮助读者从入门到提高掌握JSPServlet使用。 这本教程包括两个主要部分:JSPServletJSPJava Server Pages)是一种动态网页开发技术,它允许开发人员在HTML网页上嵌入Java代码。Servlet是一种运行在服务器端的Java程序,用于处理客户端请求和生成响应。 在入门部分,教程首先介绍了Java Web开发的基础知识,包括HTML和CSS的基本语法、HTTP协议的工作原理等。然后,它详细介绍了JSP的语法和标签,包括如何在JSP页面中嵌入Java代码,如何使用JSTL(JSP标准标签库)等。同时,它还介绍了如何使用Eclipse等常用的开发工具来编写和调试JSP页面。 在提高部分,教程进一步深入讲解了Servlet使用。它介绍了Servlet的生命周期、请求处理过程和Servlet API的常用类和方法。此外,教程还介绍了如何使用Cookie和Session来实现用户认证和数据共享,以及如何使用过滤器和监听器来实现请求过滤和监听事件。 该教程的特点是通俗易懂,结合实例和练习,帮助读者进行实践。此外,教程还提供了一些实际项目案例,帮助读者理解和应用所学知识。 总之,《Java Web开发教程: 入门与提高篇(JSP Servlet)PDF》是一本适合Java Web开发初学者和有一定基础的开发人员学习的教材,通过学习该教程,读者可以全面掌握JSPServlet使用,为自己的Web开发之路做好铺垫。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

showswoller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值