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) ...
随机推荐
- 【转帖】SQL Server 各版本发布时间和开发代号
SQL Server 各版本发布时间和开发代号 2019年01月23日 11:07:44 努力挣钱娶媳妇的苗同学 阅读数 278 https://blog.csdn.net/weixin_446098 ...
- Python学习【day02】- 运算符与基本类型
Python语言支持以下类型的运算符: 算术运算符 操作符 描述 示例(a=10.b=21) + 加法 相加运算两侧的值 a + b = 31 - 减法 操作符右侧数减去左侧操作数 a – b = - ...
- response.getWriter().wirte和out.print()的区别
1.首先介绍write()和print()方法的区别: (1).write():仅支持输出字符类型数据,字符.字符数组.字符串等 (2).print():可以将各种类型(包括Object)的数据通 ...
- 数据绑定-集合List绑定
users.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...
- Vue中,过滤器的使用方法!
Vue.js允许自定义过滤器,可被用于一些常见的文本格式化.过滤器可以用在两个地方:双花括号插值和v-bind表达式.过滤器应该被添加在JavaScript表达式的尾部,由“管道”符号指示:(借官方的 ...
- jQuery效果--隐藏和显示
jQuery hide() 和 show() 通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素: $("#hide").click( ...
- 关于gitlab+jenkins自动部署代码的实现
本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...
- LINUX任意精度计算器BC用法
[用途说明] Bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下.手册页上说bc是An arbitrary precision cal ...
- 关于this关键字
首先看一下这篇博客介绍:http://blog.csdn.net/ccpat/article/details/44515335 下面贴段代码 package com.xujingyang.test; ...
- gitlab和jenkins的安装及使用
gitlab 准备: 最少4G内存 先安装docker软件包然后使用docker search gitlab 查找镜像然后使用docker pull 镜像名:标签名 下载镜像启动容器: docker ...