jsp内置对象



在jsp页面中不需要声明和实例化,可以直接在java程序片和java表达式部分使用。


jsp内置对象
jsp内置对象



jsp内置对象

01


request对象


实现了java.servlet.ServletRequest接口的一个实例化,当用户请求一个jsp页面时,jsp页面所在服务器将用户所发出的请求信息封装在内置对象request中。




1.request对象获得客户提交信息


1)String getParameter(String name) 以字符串形式返回客户端传来某个参数值,参数名由name指定。




获取表单信息


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%@ page import="java.net.*" %><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example4_1.jsp</title></head><body><%--提交给getValue.jsp页面 --%> <form action="getValue.jsp" method="post"> <input type="text" name="userName"/> <input type="submit" value="提交"/> </form> </body></html>//getValue.jsp页面<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>getValue.jsp</title></head><body> <% //获得username的值 String name = request.getParameter("userName"); out.println(name + "<br>"); %> </body></html>



2)String[] getParameterValues(String name) 返回客户端向服务器传递的指定参数名的所有值。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example4_2.jsp</title></head><body> <form action="getValues.jsp"> 选择你去过的城市:<br/> <%--name都相同 --%> <input type="checkbox" name="cities" value="beijing"/>北京 <input type="checkbox" name="cities" value="shanghai"/>上海 <input type="checkbox" name="cities" value="xianggang"/>香港 <input type="submit" value="提交"/> </form> </body></html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>getValues.jsp</title></head><body> 您去过的城市:<br> <% //获得一个数组 String yourCities[] = request.getParameterValues("cities"); //判断非空(如果没有选择) if(yourCities!=null) for(int i = 0; i < yourCities.length; i ++){ out.println(yourCities[i] + "<br>"); } %> </body></html>


中文乱码问题




1)表单提交方式为post出现乱码


request对象提供了方法setCharacterEncoding(String code)设置编码,参数code以字符串形式传入设置的编码格式,
仅对于提交方式是post的表单有效。


在获取表单信息之前设置统一的编码,如


request.setCharacterEncoding(“UTF-8”);




2)jsp页面通过URL传递中文参数时乱码


解决URL传递中文参数乱码的方法是对URL中的中文字符进行编码 如


//传递参数<a href="File.jsp?a=<%=URLEncoder.encode("","utf-8")%>">URL传参</a>//接收参数<% String a=URLDecoder.decode(request.getParameter("a"),"utf-8");%>


jsp内置对象


02


response对象


当用户请求服务器一个页面,会提交一个HTTP请求,服务器收到请求后返回HTTP响应。与request对象对应的对象是response对象,对用户的请求做出动态响应。




1)动态改变contentType属性值


在page指令中只能为contentType属性指定一个值,如果想动态改变contentType属性值,可以让response对象调用setContentType(String s)方法重新设置contentType属性值。


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example4_3.jsp</title></head><body> <%--提交给本页面 --%> <form action="" method="post"> <p>我们在学习使用response动态改变contentType属性值 <p> <input type="submit" value="word" name="submit">  <input type="submit" value="excel" name="submit"> <% String str = request.getParameter("submit"); if ("word".equals(str)) { //response调用setContentType方法设置MIME类型为application/msword response.setContentType("application/msword"); } else if ("excel".equals(str)) { //response调用setContentType方法设置MIME类型为application/ vnd.ms-excel response.setContentType("application/vnd.ms-excel"); }  %> </form> </body></html>

jsp内置对象



2)设置响应表头


response对象可以通过方法setHeader(String name,String value)设置指定名字的HTTP文件头值,以此来操作HTTP头文件。如
response.setHeader(“refresh”,”3″);每秒刷新三次。




response.serHeader(“refresh”,”3;url=another.jsp”);几秒后自动跳转到another.jsp页面。




3)response重定向


需要将用户引导到另一个页面,使用response.sendRedirect(String url); 如


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>login.jsp</title></head><body><form action="validate.jsp" method="post" name=form> <p> 输入密钥: <br> <input type="password" name="pwd"/> <input type="submit" value="提交"></form></body></html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>validate.jsp</title></head><body><% String str = request.getParameter("pwd"); if (!"2020manpinde".equals(str)) { response.sendRedirect("login.jsp"); } else { out.print("2020年是蛮拼的一年!"); }%></body></html>




jsp内置对象

jsp内置对象



实践1


编写三个页面,在一个页面输入用户名和密码,点击“提交”将信息交给另一个页面,如果正确,则提示成功登录,三秒后进入成功登录的页面,否则重定向到登录页面




以下代码仅供参考


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><form action="server.jsp" method="post"><table><tr><td>姓名:</td> <td><input type="text" name="username"></td></tr>
<tr><td>密码:</td> <td><input type="password" name="pwd"></td></tr>
<tr><td><input type="submit" value="提交"></td></tr>
</table></form></body></html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%String str1=request.getParameter("username");String str2=request.getParameter("pwd");//判断提交信息成功则三秒后跳转否则重新登录if("zhangsan".equals(str1)&&"123".equals(str2)){ response.setHeader("refresh", "3;url=loginSuccess.jsp"); out.print("成功登录,3秒后进入loginSuccess页面");}else{ response.sendRedirect("login_1.jsp");}%></body></html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%="欢迎张三登录成功"%></body></html>


jsp内置对象



jsp内置对象

jsp内置对象

jsp内置对象




03


out对象

out对象为一个输出流。


              方法                       功能说明
void clear() 清除缓冲区内容
void clearBuffer() 清除缓冲区当前内容
void flush() 清空流
int getBufferSize() 返回缓冲区字节数,无缓冲区返回零
int getRemaining() 返回缓冲区剩余大小
boolean isAutoFlush() 缓冲区满时,是自动清空还是抛出异常
void close() 关闭输出流
void print() 输出各种数据类型
voidnewLine() 输出一个换行符
jsp内置对象






04


Session对象
浏览器与web服务器之间使用HTTP协议进行通信。客户端向服务器发出请求,服务器返回响应,链接就不存在,在服务器端不保留连接相关信息。因此服务器需采取某种方式来记录每个客户的连接信息。web服务器使用session来存放有关连接信息。




session对象指的是客户端与服务器的一次会话,
从客户端到服务器一个web应用程序开始,直到客户端与服务器断开连接


1)session对象的ID
web服务器会给每一个用户自动创建一个session对象,每个session对象分配一个
唯一表识的String类型的session ID。session对象调用getId()方法就可以获取当前对象ID。如


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example4_6_1.jsp</title></head><body> 年轻人如何养生呢?<br><br> 先看看Web服务器给我分配的session对象的ID: <% String id = session.getId(); %> <br> <%--显示ID--%> <%=id %> <br><br> 点击链接去<a href="example4_6_2.jsp">吃睡篇</a>看看吧?</body></html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example4_6_2.jsp</title></head><body> 欢迎您进入养生之<font size=5>吃睡篇</font><br><br> 先看看Web服务器给我分配的session对象的ID: <% String id = session.getId(); %> <br> <%=id %> <br><br> 吃,不忌嘴,五谷杂粮、蔬菜水果通吃不挑食<br> 睡,早睡早起不熬夜<br><br> 点击链接去<a href="example4_6_3.jsp">运动篇</a>看看吧?</body></html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example4_6_3.jsp</title></head><body> 欢迎您进入养生之<font size=5>运动篇</font><br><br> 先看看Web服务器给我分配的session对象的ID: <% String id = session.getId(); %> <br> <%=id %> <br><br> 动,坚持运动——这一点年轻人很多都做不好,<br>高兴起来就拼命打球,懒起来拼命睡觉,不好!<br> 总之,生活规律化,坚持长期运动<br><br> 点击链接去<a href="../example4_6_1.jsp">首页</a>看看吧?</body></html>

jsp内置对象

jsp内置对象

jsp内置对象

由运行效果图可知,一个用户在
同一个Web服务目录中只有一个session对象,当用户访问相同web服务目录其它页面时,web服务器不会再重新分配session对象。直到用户关闭浏览器或这个session对象达到了他的生存期限,才会重新分配一个新的session对象。




2)session对象存储数据


public void setAttribute(String key,Object obj)
将参数obj指定的对象保存到session对象中,key为所保存的对象指定的一个关键字,若保存的两个关键字相同,
则先保存的对象被清除




public Object getAttribute(String key)
获取session中关键字是key的对象




public void removeAttribute(String key)
删除关键字是key所对应的对象




public Enumeration getAttributeNames()
产生一个枚举对象,该对象可使用nextElements()遍历session对象中各个对象所对应的关键字



<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example4_7_1.jsp</title></head><body> <form action="example4_7_2.jsp" method="post"> 考号: <input type="text" name="id"/> <p> 一、单项选择题(每题2分) <br/><br/> 1.下列哪个方法是获取session中关键字是key的对象( )。 <br /> <%--单选框 --%> <input type="radio" name="one" value="A"/> A.public void setAttribute(String key, Object obj)<br/> <input type="radio" name="one" value="B"/> B.public void removeAttribute(String key)<br/> <input type="radio" name="one" value="C"/> C.public Enumeration getAttributeNames()<br/> <input type="radio" name="one" value="D"/> D.public Object getAttibute(String key)<br/> </p> <p> 二、判断题(每题2分) <br/><br/> 1.同一客户在多个Web服务目录中,所对应的session对象是互不相同的。 <br/> <input type="radio" name="two" value="True"/> True <input type="radio" name="two" value="False"/> False </p><br/> <input type="submit" value="提交" name=submit> <input type="reset" value="重置" name=reset> </form></body></html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example4_8_2.jsp</title></head><body> <form action="example4_7_3.jsp" method="post"> <% //考号 String id = request.getParameter("id"); //把考号id以“id”为关键字存储到session对象中 session.setAttribute("id", id); //单项选择第一题 String first = request.getParameter("one"); //把答案first以“one”为关键字存储到session对象中 session.setAttribute("one", first); //判断第一题 String second = request.getParameter("two"); //把答案second以“two”为关键字存储到session对象中 session.setAttribute("two", second); %> 您的考号:<%=id%><br/> 一、单项选择题(每题2分) <br/> 1.<%=first%> <br /> 二、判断题(每题2分) <br /> 1.<%=second%><br/> <input type="submit" value="确认完毕"/> <a href="example4_7_1.jsp">重新答题</a> </form></body></html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example4_8_3.jsp</title></head><body> <% //获取考号 //获取session中关键字是id的对象(考号) //需要将类型转换 String id = (String) session.getAttribute("id"); //计算成绩 int sum = 0; //如果单项选择第一题选中D选项,得2分。 //获取session中关键字是one的对象(选择答案) String first = (String) session.getAttribute("one"); if ("D".equals(first)) { sum += 2; } //如果判断第一题选中True,得2分。 //获取session中关键字是two的对象(判断答案) String second = (String) session.getAttribute("two"); if ("True".equals(second)) { sum += 2; } %> 您的成绩公布如下: <table border="1"> <tr> <th width="50%"> 考号 </th> <th width="50%"> 成绩 </th> </tr> <tr> <td><%=id%></td> <td align="right"><%=sum%></td> </tr> </table></body></html>


3)session对象生存期限
session对象生存期限取决于三个因素
  • 用户是否关闭浏览器

  • session对象是否调用invalidate()方法

  • session对象是否达到设置的最长“发呆时间”

        方法                                  说明
long getCreationTime() 返回session创建时间
long getLastAccessedTime() 返回session中客户端最近一次请求时间
int getMaxInactiveInterval() 返回两次请求间隔时间(单位是秒)
void invalidate() 使session失效
boolean isNew() 判断客户端是否已加入服务器创建的session
void setMaxInactiveInterval() 设置两次请求间隔时间
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%@ page import="java.util.*"%><%@ page import="java.text.*"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example4_9.jsp</title></head><body><% // session调用setMaxInactiveInterval(int n)方法设置最长“发呆”时间为10秒 session.setMaxInactiveInterval(10); //session调用isNew()方法判断session是不是新创建的 boolean flg = session.isNew(); if (flg) { out.println("欢迎您第一次访问当前Web服务目录。"); out.println("<hr/>"); } out.println("session允许的最长发呆时间为:" +  session.getMaxInactiveInterval()+ "秒。"); //获取session对象被创建的时间 long num = session.getCreationTime(); //将整数转换为Date对象 Date time = new Date(num); //用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat对象 SimpleDateFormat matter = new SimpleDateFormat( "北京时间:yyyy年MM月dd日HH时mm分ss秒E。"); //得到格式化后的字符串 String strTime = matter.format(time); out.println("<br/>session的创建时间为:" + strTime); out.println("<br/>session的id为:" + session.getId() + "。"); %> </body></html>

从此例中可以看出,如果用户长时间不关闭浏览器,session对象也没有调用invalidate()方法,session 也可能消失。例如该例中的jsp页面如果在10秒之内不被访问的话,它先前创建的session 对象就消失了,服务器又重新创建一个session对象,因为session 对象达到了它的最大“发呆”时间。所谓“发呆”状
Web服务目录发出的两次请求之间的间隔时间。

用户对某个 Web 服务目录下的 JSP页面发出请求并得到响应,如果用户不再对该Web 服务目录发出请求,比如不再操作浏览器,那么用户对该Web服务目录进入“发呆”状态,直到用户再次请求web服务目录时,“发呆”状态结束。

实践

用户到便民超市采购商品,购物前需要先登录会员卡号,购物时先将选购的商品放入购物车,最后到柜台清点商品。借助于session对象模拟购物车,并存储客户的会员卡号和购买的商品名称。会员卡号输入后可以修改,购物车中的商品可以查看。编写程序模拟上述过程。loginID.jsp 实现会员卡号输入,shop.jsp 实现商品导购,food. jsp 实现商品购物,count.jsp 实现清点商品。本节实践环节的4个JSP 页面都保存在目录 practice4 中,先运行loginID.jsp

以下代码仅供参考


//登录界面<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>欢迎来到便民超市,请输入你的会员卡号<br><form action="shop.jsp" method="post"><input type="text" name="vipid"> <input type="submit" value="提交"></form></body></html>//导购界面<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%String userid=request.getParameter("vipid");//储存IDsession.setAttribute("id", userid);%><a href="food.jsp">这是调料柜台,欢迎选购你喜欢的调料。</a><br><a href="loginID.jsp">欢迎修改会员号</a></body></html>//购物界面<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>这里是调料柜台,请选择你要购买的调料<%--提交到自身处理 --%><form action="" method="post"><input type="checkbox" name="tiaoliao" value="调和油"/> 调和油<input type="checkbox" name="tiaoliao" value="强化盐"/> 强化盐<input type="checkbox" name="tiaoliao" value="多维醋"/> 多维醋<input type="checkbox" name="tiaoliao" value="绿色调料"/> 绿色调料<br><input type="submit" value="购物"></form>
<%//设置编码格式request.setCharacterEncoding("UTF-8");//获得选取项String goods[] = request.getParameterValues("tiaoliao");if (goods != null && goods.length != 0) { for (int i = 0; i < goods.length; i++) { //保存选择的商品到session session.setAttribute(goods[i], goods[i]); }}
%>
<a href="loginID">欢迎修改会员卡号</a> <a href="count.jsp">欢迎查看购物车</a></body></html>//购物界面<%@page import="java.util.Enumeration"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>这里是结账柜台,请确认以下信息<%String id=(String)session.getAttribute("id");out.println("你的会员卡号"+id);//枚举类型Enumeration goods=session.getAttributeNames();
out.println("<br>购物车商品清单<br>");//遍历枚举项while (goods.hasMoreElements()) { String key = (String) goods.nextElement(); String good = (String) session.getAttribute(key); //除会员卡号外都是商品 if (!(good.equals(id))) { //显示商品 out.println(" " + good + "<br>"); //输出后清除session中的调料 session.removeAttribute(key); }}%><a href="loginID.jsp"> 欢迎修改会员卡号!</a><a href="food.jsp"> 欢迎来到调料柜台!</a></body></html>

效果图

jsp内置对象

jsp内置对象

jsp内置对象

jsp内置对象

jsp内置对象


05


application

application 对象概述

不同用户的 session对象互不相同,但有时用户之间可能需要共享一个对象,Web服务器启动后,就产生了唯一的内置对象application.任何用户在访问同一Web服务目录的各个页面时,共享一个application对象,直到服务器关闭,这个application 对象才被取消。

application 对象存储数据

application 同session对象一样也可以进行数据的存储,处理数据的方法同session对象类似。如

用 application 对象模拟“四字成语接龙”,用户通过example4_9_1.jsp 向example4_9_2.jsp页面提交四字成语,example4_9_2.jsp页面获取成语内容后,用同步方法将该成语内容和以前的成语内容进行连接,然后将这些四字成语内容添加到 application对象中。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example4_9_1.jsp</title></head><body><h2>四字成语接龙</h2><% //取出application中关键字是message的对象(成语内容) StringBuffer s = (StringBuffer)application.getAttribute("message"); if(s!=null){ out.print(s.toString()); } else{ out.print("还没有词语,请您龙头开始!<br>"); }%><form action="example4_9_2.jsp" method="post"> 四字成语输入:<input type="text" name="mes"/><br> <input type="submit" value="提交"/></form></body></html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%@ page import="java.util.*" %><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example4_9_2.jsp</title></head><body> <%! StringBuffer message = new StringBuffer(""); ServletContext application;    //同步方法, synchronized void sendMessage(String s){    //使用父类ServletContext application = getServletContext(); message.append(s + "->") ; //把成语内容message以“message”为关键字存储到application对象中 application.setAttribute("message", message); } %> <% request.setCharacterEncoding("utf-8"); String content = request.getParameter("mes"); sendMessage(content); out.print("您的四字成语已经提交!3秒钟后回到成语页面,继续接龙!"); response.setHeader("refresh", "3;url=example4_9_1.jsp"); %></body></html>

jsp内置对象


来源:码农迪迪,本文观点不代表自营销立场,网址:https://www.zyxiao.com/p/87581

发表评论

电子邮件地址不会被公开。 必填项已用*标注

技术服务
技术服务
关注抖音
关注抖音
侵权联系
返回顶部