4.JSP内置对象
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Index</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"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Deal</title>
</head>
<body>
<%
String id = request.getParameter("id");
String user = request.getParameter("user");
String pwd = request.getParameter("pwd");
%>
id值为:<%=id %> <br>
user值为:<%=user %> <br>
pwd值为:<%=pwd %>
</body>
</html>
结果:
2.在作用域中管理属性
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Index</title>
</head>
<body>
<%
try{
int money = 100;
int number = 0;
request.setAttribute("result",money/number);
}catch(Exception e){
request.setAttribute("result", "页面产生错误!");
}
%>
<jsp:forward page="deal.jsp"/>
</body>
</html>
deal.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Deal</title>
</head>
<body>
<%String message = request.getAttribute("result").toString();%>
<%=message %>
</body>
</html>
<%@page import="java.net.URLDecoder"%>
<%@page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Index</title>
</head>
<body>
<%
Cookie[] cookies = request.getCookies();
String user = "";
String date = "";
if (cookies != null) {
for (int i = 0; i < cookies.length; i++)
if (cookies[i].getName().equals("myCookie")){
String url = cookies[i].getValue().split("#")[0];
user = URLDecoder.decode(url,"UTF-8");
date = cookies[i].getValue().split("#")[1];
}
}
if ("".equals(user) && "".equals(date)) {
%>
欢迎光临!
<form action="deal.jsp" method="post">
输入姓名:<input name="user" type="text" value="">
<input type="submit" value="确定">
</form>
<%
}else{
%>
欢迎<strong><%=user %></strong>,注册时间为:<%=date %>
<%
}
%>
</body>
</html>
deal.jsp
<%@page import="java.util.Date"%>
<%@page import="java.net.URLEncoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Deal</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String user = URLEncoder.encode(request.getParameter("user"), "UTF-8");
//这里URLEncoder会出现解析错误,重写为java.net.URLEncoder.encode()后错误消失
String s = user+'#'+new java.util.Date().toLocaleString();
Cookie cookie = new Cookie("myCookie",s.trim().replaceAll(" ",""));
cookie.setMaxAge(60*60*24*30);
response.addCookie(cookie);
//出现错误java.lang.IllegalArgumentException: An invalid character [32] was present in the Cookie value
//根本问题cookie中不接受非法字符,非法字符,如堆栈中所述,[32],可以查询32对应的ASCII码,如此处是:空格。
//解决方法如上17行代码所示,去掉空格
%>
<script type="text/javascript">window.location.href="index.jsp"</script> </body>
</html>
4.获取客户端信息
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Index</title>
</head>
<body>
获取客户端信息
<!-- getHeader(String)获得HTTP协议定义的文件头信息 -->
<br>获得Http协议定义的 文件头信息Host的值:<%=request.getHeader("host") %>
<br>获得Http协议定义的 文件头信息User-Agent的值:<%=request.getHeader("user-agent") %>
<br>获得Http协议定义的 文件头信息accept-language的值:<%=request.getHeader("accept-language") %> <!-- getHeaders(String)返回指定名字的request Header的所有值,其结果是一个枚举类型 -->
<!-- getHeadersNames()返回所有request Header的名字,结果也是一个枚举实例 --> <!-- getMethod()获得客户端向服务器传送数据的方法 -->
<br>客户提交信息的方式:<%=request.getMethod() %> <!-- getProtocol()获得客户端向服务器端传送数据所依据的协议名称 -->
<br>使用的协议:<%=request.getProtocol() %> <!-- getRequestURI()获得发出请求字符串的客户端的地址,不包括请求的参数 -->
<br>获取发出请求字符串的客户端地址:<%=request.getRequestURI() %>
<!-- getRequestURL()获得发出请求字符串的客户端的地址 -->
<br>获取发出请求字符串的客户端地址:<%=request.getRequestURL() %> <!-- getRealPath()返回当前请求文件的绝对路径 (过时了)-->
<br>获得请求文件的绝对路径:<%=request.getRealPath("index.jsp") %> <!-- getRemoteAddr()获取客户端的IP地址 -->
<br>获取提交数据的客户端的IP地址:<%=request.getRemoteAddr() %> <!-- getRemoteHost()获取客户端的主机名 -->
<br>获取客户端的主机名:<%=request.getRemoteHost() %> <!-- getServerName()获取服务器的名字 -->
<br>获取服务器的名称:<%=request.getServerName() %> <!-- getServerPort()获取服务器的端口号 -->
<br>获取服务器的端口号:<%=request.getServerPort() %> <!-- getServletPath()获取客户端所请求的脚本文件的文件路径 -->
<br>获取客户端所请求的脚本文件的文件路径:<%=request.getServletPath() %>
</body>
</html>
结果显示:
<%
java.util.Locale locale=request.getLocale();
String str="";
if (locale.equals(java.util.Locale.US))
str="Welcome to my web!";
if (locale.equals(java.util.Locale.CHINA))
str="欢迎访问我的网站!";
%>
<%=str %>
<%
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
%>
<%
response.setHeader("refresh","10")//秒
%>
<%
response.setHeader("refresh","5;URL=login.jsp");
%>
4.JSP内置对象的更多相关文章
- jsp内置对象浅谈
jsp内置对象浅谈 | 浏览:1184 | 更新:2013-12-11 16:01 JSP内置对象:我们在使用JSP进行页面编程时可以直接使用而不需自己创建的一些Web容器已为用户创建好的JSP内置对 ...
- JSP内置对象-request
JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍 ...
- JavaWeb学习----JSP内置对象详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Jsp内置对象及EL表达式的使用
一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse ses ...
- Java遇见HTML——JSP篇之JSP内置对象(上)
一.JSP内置对象简介 1.1.内置对象简介 JSP内置对象是WEB容器中创建的一组对象,可以直接使用不需要new,如截图中的out 对象. JSP有九大内置对象: 五大常用对象: out.reque ...
- JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础
JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次 ...
- JSP内置对象详解
jsp中内置对象:request.response.session.applecation.out.pagecontesx.config.page.exception.cookie 1.request ...
- JSP内置对象(上)
在JSP中为了简化页面的开发提供了一些内置的对象.这些对象不需要由JSP的编写者通过new关键字实例化,他们都由容器实现和管理,在所有的JSP页面中都可以使用内置对象. JSP中共有9大内置对象: o ...
- JSP内置对象(下)
JSP中共有9大内置对象: out对象 requset对象 response对象 session对象 pageContext对象 application对象 config对象 page对象 excep ...
- jsp内置对象的方法
JSP内置对象的方法:out:out.print();request:request对象主要用于出列客户端请求. 常用方法: String getParameter(String name) ...
随机推荐
- ASP.NET Core中使用EasyCaching作为缓存抽象层
⒈是什么? 和CacheManager差不多,两者的定位和功能都差不多. EasyCaching主要提供了下面的几个功能 统一的抽象缓存接口 多种常用的缓存Provider(InMemory,Redi ...
- const和static const的区别(未整理)
对于C/C++语言来讲,const就是只读的意思,只在声明中使用;static一般有2个作用,规定作用域和存储方式.对于局部变量,static规定其为静态存储方式,每次调用的初始值为上一次调用的值,调 ...
- (转)MQTT 入门介绍
原文链接:https://blog.csdn.net/qq_2887... MQTT 入门介绍 一.简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测 ...
- Hadoop单节点启动分布式伪集群
emm~ 写这篇博客只是手痒,因为开发环境用单节点就够了,生产环境肯定是真实集群,所以这个伪分布式纯属娱乐而已. 配置HDFS1. 安装好一台hadoop,可以参考这篇博客.2. 在hadoop目录下 ...
- 最小生成树之Prim Kruskal算法(转)
最小生成树 首先,生成树是建立在无向图中的,对于有向图,则没有生成树的概念,所以接下来讨论的图均默认为无向图.对于一个有n个点的图,最少需要n-1条边使得这n个点联通,由这n-1条边组成的子图则称为原 ...
- 基于IdentityServer4的声明的授权
## 概述 基于Asp.net Core 1.1 ,使用IdentityServer4认证与授权. ## 参考资料 [微软教程](https://docs.microsoft.com/zh-cn/as ...
- 转载:mysql数据库连接自动断开
转自:https://www.cnblogs.com/ay-a/p/10520425.html MySql连接空闲8小时自动断开引起的问题 一.问题描述 最近遇到了一个奇怪的MySql数据库问 ...
- Centos7下安装ZooKeeper
1.下载源码 zookeeper 需要jdk的支持,需要先安装jdk 官网下载地址: http://mirrors.hust.edu.cn/apache/zookeeper/ 选择最新的版本进行下载 ...
- 使用 java 创建你的第一个区块链(第一部分)
本系列教程的目的是帮助您了解如何开发区块链技术. 在本教程中,我们将: 创建你的第一个(非常)基本的“区块链”. 实施简单的工作证明(采矿)系统. 惊叹于可能性. (我假设您对面向对象编程有基本的了解 ...
- 9、linux权限-ACL权限
来自为知笔记(Wiz)