(1) 表单(隐藏表单)
//发送端
public void doGet(HttpServletRequest req,HttpServletResponse res){
res.setContentType("text/html;charset=UTF-8");//中文乱码
String s="MAN";
try {
PrintWriter pw = res.getWriter();
pw.println("<html>");
pw.println("<body>");
pw.println("<h1>登陆界面</h1>");
pw.println("<form action=loginCl mothod=post>");//使用url
pw.println("用户名:<input type=text name=username> <br>");
pw.println("密码:<input type=password name=passwd> <br>");
//隐藏表单传递数据
pw.println("<input type=hidden name=sex value=" + s +"><br>")
pw.println("<input type=submit value=login><br>"); //login要跳转的url(xml里配置的)
pw.println("</body>");
pw.println("</html>");
} catch (IOException e) { }
}
//接收端
public void doGet(HttpServletRequest req,HttpServletResponse res){
//接收用户名和密码
try {
String u = req.getParameter("username");
String p = req.getParameter("passwd");
String s = req.getParameter("sex");//接收隐藏表单数据
}catch (IOException e) {}
}
(2)sendRedirect转向
//发送端
public void doGet(HttpServletRequest req,HttpServletResponse res){
//接收用户名和密码
try {
// sendRedirect()转向 使不同页面共享数据
res.sendRedirect("wel?uname="+u +"&pass="+p);//写上要跳转的url(xml里配置的)
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//接收端
public void doGet(HttpServletRequest req,HttpServletResponse res){
//通过sendRedirect从logincl中知得到用户名密码
String u = req.getParameter("uname");
String p = req.getParameter("pass");
}
(3)Session
//创建Session
public void doGet(HttpServletRequest req,HttpServletResponse res){
//接收用户名和密码
try {
String u = req.getParameter("username");
String p = req.getParameter("passwd");
if(u.equals("aaa")&&p.equals("123")){
//将用户名放入session中
HttpSession hs=req.getSession(true);//得到session
hs.setMaxInactiveInterval(30);//修改session存在的时间(秒)
hs.setAttribute("uname", u);//添加session
res.sendRedirect("wel");
}else{
res.sendRedirect("login");
}
}catch (IOException e) {}
}
//得到Session元素
public void doGet(HttpServletRequest req,HttpServletResponse res){
HttpSession hs = req.getSession(true);//得到session
String sessionId = hs.getId();//得到session Id
//从session获取登陆属性
String myname = (String)hs.getAttribute("uname");
if(myname == null){ //非法登录(直接联接wel)
try {
res.sendRedirect("login");
} catch (IOException e) { e.printStackTrace();}
}
//hs.removeAttribute("uname"); // 清除session中的pass属性
//hs.setMaxInactiveInterval(0); //清除session所有内容
PrintWriter pw;
try {
pw = res.getWriter();
pw.println("welcome " + myname);
pw.println("session ID " + sessionId);
} catch (IOException e) { e.printStackTrace();}
}
(4)Cookie
//创建Cookie
public void doGet(HttpServletRequest req,HttpServletResponse res){
//接收用户名和密码
try {
String u = req.getParameter("username");
String p = req.getParameter("passwd");
String keep = req.getParameter("keep");
if(u.equals("aaa")&&p.equals("123")){
if(keep != null){
Cookie name = new Cookie("myname",u);//创建Cookie
Cookie pass = new Cookie("mypasswd",p);//创建Cookie
name.setMaxAge(10);//设置Cookie时间(秒)
pass.setMaxAge(10);//不设置时生存期到关闭浏览器为止
res.addCookie(name);//回写到客户端
res.addCookie(pass);//回写到客户端
}
res.sendRedirect("wel");//写上要跳转的url(xml里配置的)
}else{
res.sendRedirect("login");
}
}catch (IOException e) {e.printStackTrace();}
}
//获取Cookie
public void doGet(HttpServletRequest req,HttpServletResponse res){
try {
Cookie [] allCookies=req.getCookies();//得到所有Cookie信息
int i=0;
String name = "";
String passwd = "";
if(allCookies != null){
for(i=0;i<allCookies.length;i++){
Cookie temp = allCookies[i];//依次取出cookie
if(temp.getName().equals("myname")){
name = temp.getValue();
}else if(temp.getName().equals("mypasswd")){
passwd = temp.getValue();
}
}
}
// if(!name.equals("")&&!passwd.equals("")){//到loginCl去验证一下
// res.sendRedirect("loginCl?user="+name +"&pwd="+passwd);
// return;
// }
PrintWriter pw = res.getWriter();
pw.println("welcome!" + name);
} catch (IOException e) {e.printStackTrace();}
}