JSP数据交互(一)
学员注册页面:
解决中文乱码问题:
页面顶部加:
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
内容页面:
request.setCharacterEncoding(“utf-8”);
爱好:<input type=“checkbox” name="hobby"value=“下棋”>下棋
首页
index.jsp:
<%
request.setCharacterEncoding(“utf-8”);
String Username=request.getParameter(“username”);
String pwd=request.getParameter(“pwd”);
String hobby[]=request.getParameterValues(“hobby”);
out.print(Username+"
");
out.print(pwd+"
");
if(hobby!=null){
for (int i=0;i<hobby.length;i++){
out.print(hobby[i]+" ");
}
if(Username.equals(“张三”)){
// response.sendRedirect(“huanying.jsp”);
request.getRequestDispatcher(“huanying.jsp”).forward(request,response);
}
}
%>
跳转页面
huanying.jsp:
<%
request.setCharacterEncoding(“utf-8”);
String Username=request.getParameter(“username”);
%>
欢迎<%=Username%>
登录页面
注册
姓名:密码:
爱好:
输出方式:
1)out.print(Username+"
");
2)if(hobby!=null){
for (int i=0;i<hobby.length;i++){
out.print(hobby[i]+" ");
}
request对象常用方法:
1.String getParameter(String name)
例如:
String Username=request.getParameter(“username”);
跳转页面:
Username=request.getParameter(“username”);
你好<%=Username%>
2.String [ ] getParameterValues(String name)
String hobby[]=request.getParameterValues(“hobby”);
3.void setCharacterEncoding(String charset)
4.RequestDispatcher getRequestDispatcher(String path)
if(Username.equals(“lucky”)||pwd.equals(“123456”)){
//
request.getRequestDispatcher(“huanying.jsp”).forward(request,response);
}else {
response.sendRedirect(“reg.jsp”);
}
返回一个RequestDispatcher 对象的forward()方法用于转发请求
重定向:response.sendRedirect(“huanying.jsp”);
session对象常用方法:
1.String getid()
2.void setMaxInactiveInterval(int interval)
3.int getMaxInactiveInterval()
4.void invalidate()设置对象失效
5.void setAttribute(String key,Object value)
6.Object getAttribute(String key)
7.void removeAttribute(String key)
web\index.jsp:
<%
String name=(String) session.getAttribute(“username”);
if (name != null){
out.print(“欢迎”+name+“光临”);
}else {
out.print(“欢迎光临”);
}
%>
web\index.jsp:
<%@include file=“admin/check.jsp”%>
只需要一次登录验证,避免代码冗余。
1、转发在服务器端完成的;重定向是在客户端完成的。
2、转发的速度快;重定向速度慢。
3、转发的是同一次请求;重定向是两次不同请求。
4、转发不会执行转发后的代码;重定向会执行重定向之后的代码 。
5、转发地址栏没有变化;重定向地址栏有变化 。
6、转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成。