package zxl;
//用户验证
import javax.servlet.http.*;
import java.util.*;
import java.io.*;
import java.sql.*;
public class Welcome extends HttpServlet{
//处理get请求
//req:用于获得客户端(浏览器)的信息
//res:用于向客户端(浏览器)返回信息
public void doGet(HttpServletRequest req,HttpServletResponse res){
/*Session的用处:1、网上商城的购物车;2、保存登录用户的信息;
* 3、将某些数据加入到Session中,供同一用户不同页面使用;
* 4、防止用户非法登录到某一页面。Session放在服务器端*/
//中文乱码
res.setContentType("text/html;charset=gbk");
//得到Session
HttpSession hs=req.getSession(true);
String myName=(String)hs.getAttribute("name");
String myPasswd=(String)hs.getAttribute("password");
String name="";
String passwd="";
//判断
if(myName==null){
try{
//如果Session中没有用户信息,再看看有没有Cookie信息
//从客户端得到所有Cookie信息
Cookie[] allCookies=req.getCookies();
int i=0;
if(allCookies!=null){
//从中取出Cookie
for(i=0;i<allCookies.length;i++){
Cookie temp=allCookies[i];
if(temp.getName().equals("myName")){
//得到Cookie的值
name=temp.getValue();
}else if(temp.getName().equals("myPasswd")){
passwd=temp.getValue();
}
}
if(!name.equals("")&&!passwd.equals("")){
//到Logincl验证
res.sendRedirect("logincl?u="+name+"&p="+passwd);
return;
}
}
//返回登陆界面
//防止非法登录
res.sendRedirect("login?info=error1");
return;
}catch(Exception e){
}
}
Connection ct=null;
PreparedStatement ps=null;
ResultSet rs=null;
//得到从LoginCl传递的uname
//String u=req.getParameter("name");
//得到LoginCl的密码
//String p=(String)hs.getAttribute("password");
//处理业务逻辑
try{
PrintWriter pw=res.getWriter();
pw.println("<body bgcolor=#CED3FF><center>");
//超链接返回
pw.println("</br><a href=login>返回重新登录</a></br>");
pw.println("<h1>管理用户</h1><br>");
pw.println("您的用户名是:"+myName+";您的密码是:"+myPasswd+"</br>");
pw.println("<img src=imgs/桂兰.jpg width=100 height=50 >欢迎您:"+myName+"<img src=imgs/桂兰.jpg ><hr>");
//===========分页功能========
int pageSize=15;//一页显示3条记录
int pageNow=1;//希望显示第几页
//动态的接收pageNow
String spageNow=req.getParameter("pageNowok");
if(spageNow==null){
//用户第一次进入welcome
}else{
pageNow=Integer.parseInt(spageNow);
}
//调用UserBeanCl
UserBeanCl ubc=new UserBeanCl();
ArrayList al=ubc.getResultByPage(pageNow, pageSize);
pw.println("<table border='1'>");
pw.println("<tr bgcolor=pink><th>编号</th><th>用户名</th><th>密码</th><th>邮箱</th><th>年级</th><th>修改用户</th><th>删除用户</th></tr>");
//定义一个颜色数组
String[] myCol={"pink","silver"};
for(int i=0;i<al.size();i++){
UserBean ub=(UserBean)al.get(i);
pw.println("<tr bgcolor="+myCol[i%2]+">");
pw.println("<td>"+ub.getUserId()+"</td>");
pw.println("<td>"+ub.getUserName()+"</td>");
pw.println("<td>"+ub.getPassword()+"</td>");
pw.println("<td>"+ub.getMail()+"</td>");
pw.println("<td>"+ub.getGrade()+"</td>");
pw.println("<td><a href=update?uId="+ub.getUserId()+"&uName="+ub.getUserName()+
"&uPasswd="+ub.getPassword()+"&uMail="+ub.getMail()+"&uGrade="+ub.getGrade()+">修改用户</a></td>");
pw.println("<td><a href=DelUserCl?userid="+ub.getUserId()+" οnclick=return window.confirm('您确认要删除用户吗?')>删除用户</a></td>");
pw.println("</tr>");
}
pw.println("</table>");
//显示上一页
if(pageNow!=1)
pw.println("<a href=welcome?pageNowok="+(pageNow-1)+">上一页</a>");
//显示超链接
for(int i=pageNow;i<pageNow+4;i++){
pw.println("<a href=welcome?pageNowok="+i+">"+i+"</a>");
}
int pageCount=ubc.getPageCount();
//显示下一页
if(pageNow!=pageCount)
pw.println("<a href=welcome?pageNowok="+(pageNow+1)+">下一页</a>");
//pw.println("pageCount="+pageCount);
//System.out.println(rowCount);
//指定跳转到某一页
//需要考虑的问题:输入的页数过大、输入的不是数字
pw.println("<form action=welcome>");
pw.println("跳转到:<input type=text name=pageNowok>");
pw.println("<input type=submit value=go>");
pw.println("</form>");
//添加网页访问计数功能
pw.println("该网页被访问了"+this.getServletContext().getAttribute("visitime").toString()+"数</br>");
pw.println("您的IP是:"+req.getRemoteAddr()+"</br>");
pw.println("您的主机名是:"+req.getRemoteHost()+"</br>");
pw.println("</center><hr><img src=imgs/桂兰.jpg width=100 height=50 ></body>");
}catch(Exception e){
e.printStackTrace();
}
}
//处理post请求
//req:用于获得客户端(浏览器)的信息
//res:用于向客户端(浏览器)返回信息
public void doPost(HttpServletRequest req,HttpServletResponse res){
this.doGet(req, res);
}
}