您的位置:首页 > 产品设计 > UI/UE

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

2017-09-07 19:03 489 查看
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=reques
bd29
t.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.重定向是通过浏览器重写请求地址,在地址栏中可以显示转向后的地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐