JSP基础知识(request和response以及页面转发和重定向)

1.request
request对象常用方法
方法说明
String getParameter(String name)根据页面表单租金名称获取页面提交数据
String[] getPatameterValues(String name)获取一个页面表单组件对应多个值时的用户的请求数据
void setCharacterEncoding(String charset)指定每个请求的编码,在调用getParameter()之前进行设定,可以解决中文乱码问题
String getRemoterAddr()返回提交请求的客户经理的IP地址

<body>
<%
//设置请求编码格式
request.setCharacterEncoding("UTF-8");
//getParameter获取请求传递的参数
//1.form表单传参
//2.页面url直接传参(跟form表单的get请求方式一样)
//(get请求传参,?开始后边跟着就是参数列表,属性=属性值的方式 用&连接多个属性)
//3.密文形式传参(跟form表单的post请求方式一样)
String username=request.getParameter("username");
String pwd=request.getParameter("pwd");
//getParameterValues获取请求传递的一组name相同的value值
String[] likes=request.getParameterValues("like");
//获取ip地址
String ip=request.getRemoteAddr();
%>
用户名:<%=username %><br>
密码:<%=pwd %>
爱好:
<%
for(int i=0;i<likes.length;i++){
%>
<%=likes[i] %>
<%
}
%>
ip地址:<%=ip %>
</body>

用a链接和request传递信息

<a href="调整的页面?属性1=属性值&属性2=属性值&....."></a>
<%
String 属性1=request.getParameter("属性1");
String 属性2=request.getParameter("属性2");
String 属性3=request.getParameter("属性3");
%>

例子:
<body>
<%
List<News> list=new ArrayList<>();
for(int i=0;i<20;i++) {
list.add(new News(i+1,"今天发生了"+(i+1)+"件重大新闻","欲知详情,请稍后关注"+(i+1)));
}
%>
<ul>
<%
for(int i=0;i<list.size();i++) {
News news=list.get(i);
%>
<li>
<a href="ch0206.jsp?id=<%=news.getId()%>&title=<%=news.getTitle()%>&content=<%=news.getContent()%>"><%=news.getTitle() %></a>
</li>
<%
}
%>
</ul>
</body>
Ch0206.jsp:
<body>
<%
String id=request.getParameter("id");
String title=request.getParameter("title");
String content=request.getParameter("content");
%>
<h1><%=title %></h1>
<p><%=content %></p>

</body>

2.response
response对象用于响应客户请求并向客户端输出信息
response对象常用方法
void sendRedirect(String location):将请求重新定位到一个不同的URL,即页面重定向

<%
//业务处理界面
String uname=request.getParameter("uname");
String pwd=request.getParameter("pwd");
if("admin".equals(uname)&&"123456".equals(pwd)) {
//登录成功,跳转到成功界面
//重定向:跳转到一个新的页面
//不会传递上一次请求参数
response.sendRedirect("ch0203.jsp");
} else {
//登录失败,跳转到失败界面
response.sendRedirect("ch0201.jsp");
}
%>
3.页面转发
转发的作用:在多个页面交互过程中实现请求数据的共享
转发的实现:
RequestDispatcher对象
forward()方法
<%
RequestDispatcher rd=request.getRequestDispatcher(path);
rd.forward(request, response);
%>
转发和重定向的比较
1.转发是在服务器端发挥作用,通过forward方法将信息在多个页面间进行传递
2.转发是在服务器内部控制权的转移,客户端浏览器的地址栏不会显示转向后的地址
3.重定向是在客户端发挥作用,通过请求新的地址实现页面跳转
4.重定向是通过浏览器重写请求地址,在地址栏中可以显示转向后的地址

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值