12.26-Jsp学习之内置对象(request,response;转发与重定向)
2017-12-27 14:29
681 查看
今天学习的内置对象主要有:
输出对象: out
请求对象: request
响应对象:response
Out 用法:
a. out.print();
b.
out.println();
Request用法
1.读取表单的值:request.getParameter
; 如果是多个值(如:复选框)用 request.getParameterValues;
2.转发request.getRequestDispatcher("").forward(request,
response);可以与request.setAttribute()
一起使用。Response用法
1.重定向response.sendRedirect()可与session.setAttribute()一起使用。
转发与重定向的区别
转发:服务器内部处理,可以携带参数,一次请求(不可以跳转到第二个项目),地址不会改变。(如“查询”)
重定向:(客户端)可以携带参数(基本不使用),二次请求,地址会发生改变(跳转到第二个项目)(如:增删改成功后要跳转的页面)
举例
/*
index .jsp*/
<body>
<formaction="welcome.jsp"method="post">
用户名:<inputtype="text"name="name">
密码:<inputtype="password"name="pwd">
<inputtype="checkbox"name="hobby"value="basketball">篮球
<inputtype="checkbox"name="hobby"value="football">足球
<inputtype="checkbox"name="hobby"value="pingpang">乒乓球
<inputtype="submit"value="提交">
<inputtype="reset"value="重置">
</form>
</body>
/*
welcome.jsp*/
<body>
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
%>
<%
String
username=request.getParameter("name");
String
pwd=request.getParameter("pwd");
String[]
hobbys=request.getParameterValues("hobby");
out.println("用户名:"+username+"</br>");
out.println("密码:"
+pwd+"</br>");
for(String
str:hobbys){
out.print(str+"</br>");
}
request.setAttribute("name",
username);
request.setAttribute("pwd",
pwd);
//*转发到
login.jsp 页面,带参数。*
request.getRequestDispatcher("login.jsp").forward(request,
response);
%>
/*
login.jsp */
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
String
name=(String)request.getAttribute("name");
String
pwd=(String)request.getAttribute("pwd");
out.print(name+"\n"+pwd);
%>
运行结果:
地址不变:http://localhost:8080/webtest/welcome.jsp
显示:nn
123
//重定向
/* welcome.jsp*/
<body>
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
%>
<%
String username=request.getParameter("name");
String pwd=request.getParameter("pwd");
String[] hobbys=request.getParameterValues("hobby");
out.println("用户名:"+username+"</br>");
out.println("密码:" +pwd+"</br>");
for(String str:hobbys){
out.print(str+"</br>");
}
if(username.equals("admin")&& pwd.equals("123456")){
//重定向:如果用户名,密码正确跳转到登录成功页面(新页面)
session.setAttribute("name", username);
response.sendRedirect("MyJsp.jsp");
}else{
//转发:如果错误,返回登录页面(自己页面)
request.getRequestDispatcher("index.jsp").forward(request, response);
}
/* Myjsp.jsp*/
<body>
<%
String str=(String)session.getAttribute("name");
out.print(str);
%>
</br>
登录成功!
</body>
输出对象: out
请求对象: request
响应对象:response
Out 用法:
a. out.print();
b.
out.println();
Request用法
1.读取表单的值:request.getParameter
; 如果是多个值(如:复选框)用 request.getParameterValues;
2.转发request.getRequestDispatcher("").forward(request,
response);可以与request.setAttribute()
一起使用。Response用法
1.重定向response.sendRedirect()可与session.setAttribute()一起使用。
转发与重定向的区别
转发:服务器内部处理,可以携带参数,一次请求(不可以跳转到第二个项目),地址不会改变。(如“查询”)
重定向:(客户端)可以携带参数(基本不使用),二次请求,地址会发生改变(跳转到第二个项目)(如:增删改成功后要跳转的页面)
举例
/*
index .jsp*/
<body>
<formaction="welcome.jsp"method="post">
用户名:<inputtype="text"name="name">
密码:<inputtype="password"name="pwd">
<inputtype="checkbox"name="hobby"value="basketball">篮球
<inputtype="checkbox"name="hobby"value="football">足球
<inputtype="checkbox"name="hobby"value="pingpang">乒乓球
<inputtype="submit"value="提交">
<inputtype="reset"value="重置">
</form>
</body>
/*
welcome.jsp*/
<body>
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
%>
<%
String
username=request.getParameter("name");
String
pwd=request.getParameter("pwd");
String[]
hobbys=request.getParameterValues("hobby");
out.println("用户名:"+username+"</br>");
out.println("密码:"
+pwd+"</br>");
for(String
str:hobbys){
out.print(str+"</br>");
}
request.setAttribute("name",
username);
request.setAttribute("pwd",
pwd);
//*转发到
login.jsp 页面,带参数。*
request.getRequestDispatcher("login.jsp").forward(request,
response);
%>
/*
login.jsp */
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
String
name=(String)request.getAttribute("name");
String
pwd=(String)request.getAttribute("pwd");
out.print(name+"\n"+pwd);
%>
运行结果:
地址不变:http://localhost:8080/webtest/welcome.jsp
显示:nn
123
//重定向
/* welcome.jsp*/
<body>
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
%>
<%
String username=request.getParameter("name");
String pwd=request.getParameter("pwd");
String[] hobbys=request.getParameterValues("hobby");
out.println("用户名:"+username+"</br>");
out.println("密码:" +pwd+"</br>");
for(String str:hobbys){
out.print(str+"</br>");
}
if(username.equals("admin")&& pwd.equals("123456")){
//重定向:如果用户名,密码正确跳转到登录成功页面(新页面)
session.setAttribute("name", username);
response.sendRedirect("MyJsp.jsp");
}else{
//转发:如果错误,返回登录页面(自己页面)
request.getRequestDispatcher("index.jsp").forward(request, response);
}
/* Myjsp.jsp*/
<body>
<%
String str=(String)session.getAttribute("name");
out.print(str);
%>
</br>
登录成功!
</body>
相关文章推荐
- JavaWeb——JSP内置对象request,response,重定向与转发 学习总结
- JSP —— 内置对象 Request 与 Response 与重定向
- struts2 中jsp的9个内置对象、四种作用域、转发和重定向及在Action中获取session
- 浪潮优派培训笔记:JSP的9大内置对象之(二).与Input/Output有关的内置对象:out、request、response
- JSP内置对象--pageContent,request,response,session,application,config,out,page,exception
- jsp的内置对象request和response
- 第五天(JSP内置对象转发和重定向)
- JSP内置对象——请求转发与请求重定向的区别
- JSP九大内置对象之request和response
- 【JSP笔记】内置对象(一)request,response
- jsp 内置对象response,request,session 以及 cookie 对象的综合例子 和 include指令
- Jsp重定向(response.sendRedirect())和转发(request.getRequestDispatcher().forward(request,r)的区别
- jsp内置对象out、request、response、session、application五大常用对象以及Page、pageContext、exception、config
- JSP内置对象的使用 request,response,session(一)
- JSP九大内置对象_重定向转发_Cookie_Session
- JSP九大内置对象(Request,Response,Out,Session,Application,Cookie,Config,Page,Exception)
- JSP内置对象之out request response
- JSP内置对象之request对象【学习笔记】
- JSP九大内置对象---Request,Response,Out,Session,Application,Cookie,Config,Page,Exception
- 关于JSP中request,response,session三个内置对象的常用方法