(五)JSP教程——response对象

response对象主要用于动态响应客户端请求(request),然后将JSP处理后的结果返回给客户端浏览器。JSP容器根据客户端的请求建立一个默认的response对象,然后使用response对象动态地创建Web页面、改变HTTP标头、返回服务器端地状态码等信息。

request对象用于得到用户提交的信息,而response对象与request对象作用正好相反,是向用户发送信息。例如,客户端用户通过表单向服务器提交信息,request对象获取用户信息,然后接收信息并进行处理,并将结果用response对象返回给用户的浏览器。但是,response对象在JSP代码中使用较少。

下面通过具体的实例来说明response对象如何使用,使读者加深理解并做到触类旁通。首先,我们使用response对象来设置HTTP的一个重要头信息:刷新,实例功能是每隔一秒对当前页面进行一次刷新,实现时钟的作用,其代码如下。

创建一个Web应用后,创建一个refresh.jsp页面。

<%@ page import="java.util.Date" %>

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

<html>

<head>

<title>刷新</title>

</head>

<body>

<%

response.setHeader("refresh", "1");

out.print(new Date().toLocaleString());

%>

</body>

</html>

启动应用后,在浏览器地址栏中输入URL:http://localhost:8080/s001/refresh.jsp

界面显示如下图所示

当我们要向客户端login.jsp文件中输入用户名和密码时,输入正确则跳转到wel.jsp页面,否则重新转到login.jsp页面。这种情况下,response对象也是一个很好的工具。

首先创建一个login.jsp页面,页面的代码内容如下。

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

<html>

<head>

<title>Refresh实例</title>

</head>

<body bgcolor="pink">

<center>

<form action="loginCL.jsp" method="post">

用户名: <input type="text" name="username"/> <br> <br>

密 码: <input type="password" name="password"/> <br> <br>

<input type="submit" value="提交"/>

</form>

</center>

</body>

</html>

接着创建欢迎页面,欢迎页面的代码如下:

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

<html>

<head>

<title>欢迎界面</title>

</head>

<body>

恭喜您登录成功!<br>

<a href="login.jsp">返回登录</a>

</body>

</html>

然后创建loginCL.jsp处理页面,代码如下

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

<html>

<head>

<title>response</title>

</head>

<body>

<%

//接收用户名和密码,完成对用户的验证

String u=request.getParameter("username");

String p=request.getParameter("password");

//简单验证用户名称和密码是否正确

if(u.equals("Jerry")&&p.equals("123")){

//合法,跳转到wel.jsp

response.sendRedirect("wel.jsp");

}

else{

//不合法,跳转到login.jsp页面

response.sendRedirect("login.jsp");

}

%>

</body>

</html>

完成上述代码后启动该应用,在地址栏中输入地址:http://localhost:8080/s001/login.jsp

打开后的界面如下图所示

在用户名输入框中输入Jerry,密码中输入123后点击提交按钮,界面显示如下图所示

然后输入错误的用户名和密码,则界面显示如下图所示

相关推荐
专注仿真3 分钟前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
霸道流氓气质22 分钟前
智能客服组件:分层意图识别、RAG Advisor 与人工转接状态机的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
jimy143 分钟前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++
captain3761 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
呆呆虫121 小时前
用 orjson 加速 SerpBase 响应解析:基准对比与注意事项
开发语言·php
心中有你02141 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
心疼你的一切2 小时前
Python自动发邮件实战定时发报表
大数据·开发语言·python
步行cgn2 小时前
Spring MVC + Thymeleaf 模板解析失败:从 500 错误到页面正常显示
java·spring·mvc
IT_陈寒2 小时前
Java序列化踩坑记:对象循环引用让我加班两小时
前端·人工智能·后端
lgcgkCQ2 小时前
【AI 转型实战 1】SpringAI 入门:搭建基础大模型对话能力
java·ai·agent·rag·spring ai·mcp·langchain4j