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) ...
随机推荐
- 设计模式:门面模式(Facade)
前面介绍的适配器模式讲的是如何将一个接口转换成客户所需要的另一个接口,它的目的在于 解决接口的不兼容性问题.现在这里有这样一个模式,它的目的在于如何简化接口,它可以将多个类的复杂的一切隐藏在背后, ...
- Thinkphp6框架学习:($this->error()undefined)Call to undefined method app\index\controller\Admin::error()
最近在使用Thinkphp6框架的时候,想做一个初始化来验证登录状态. 当没有Session::get(‘adminUid’)的时候就应该跳转到admin\adminLogin的方法中,和以前Tp5的 ...
- 如何在LinuxKernel中操作file(set_fs與get_fs)
在Kernel 中,照理說能存取至 0 ~ 4GB.但是實作層面卻是只能讓我們使用到3GB ~ 4GB 這會導致我們無法使用open(),write()這些在user space下的function. ...
- Java Web开发技术教程入门-Model1和Model2
今天我们聊聊JSP开发中的Model1和Model2. Model1采用了JSP+JavaBean技术开发Web应用.其中,JSP实现页面显示,业务逻辑和流程控制,数据处理由JavaBean完成.在J ...
- Docker 构建私有镜像仓库
在使用Docker一段时间后,往往会发现手头积累了大量的自定义镜像文件,这些文件通过公有仓库进行管理并不方便,另外有时候只是希望在内部用户之间进行分享,不希望暴露出去.这种情况下,就有必要搭建一个本地 ...
- 2016 计蒜之道 初赛 第一场 D 青云的机房组网方案 (虚树)
大意: 给定树, 点$i$的点权为$a_i$, 求$\sum\limits_{a_i \perp a_j}dis(i,j)$ 中等难度可以枚举每条边的贡献, 维护子树内每个数出现次数$a$, 转化为求 ...
- 树莓派USB存储设备自动挂载并通过脚本实现自动拷贝,自动播放视频,脚本自动升级等功能
需求:首先需要树莓派自动挂载USB设备,然后扫描USB指定目录下文件,将相关文件拷贝至树莓派指定目录,然后通过omxplayer循环播放新拷贝文件视频 1. 树莓派实现USB存储设备自动挂载 树莓派U ...
- ASP.NET CORE CACHE的使用(含MemoryCache,Redis)
原文:ASP.NET CORE CACHE的使用(含MemoryCache,Redis) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接 ...
- 为什么单线程的Redis却能支撑高并发
Redis的高并发和快速原因 redis是基于内存的,内存的读写速度非常快: 核心是基于非阻塞的IO多路复用机制: redis是单线程的,反而省去了很多上下文切换线程的时间: 为什么Redis是单线程 ...
- spark精华面试题
1.driver的功能是什么? 1)一个Spark作业运行时包括一个Driver进程,也是作业的主进程,具有main函数,并且有SparkContext的实例,是程序的人口点: 2)功能:负责向集群申 ...