自己第一次用servlet开发的一个网站管理系统。虽然很简漏,但是基本的增删查改都实现了。另外还加上了计数器,和session技术用来防止非法访问页面及每30秒得发呆时间过后,自动退出,跳转到登陆界面。另外增加了cookies技术,可以将用户的登陆信息保存两周,免去用户重复登陆。另外采用了mv模式使代码更易于维护和阅读。
现附上主要界面和主要代码,希望能对有需要的人些许帮助!
共十个文件,一千行代码
1.Welcome.java
package com.sina;
import javax.servlet.http.*;
import java.io.*;
import javax.servlet.*;
import java.sql.*;
import java.util.*;
public class Welcome extends HttpServlet{
public void doPost(HttpServletRequest req,HttpServletResponse res){
Connection ct = null;
PreparedStatement ps = null;
ResultSet rs = null;
int pageSize = 10;
int pageNow = 1;
res.setContentType("text/html;charset=gbk");
String spageNow = req.getParameter("pageNowok");
if(spageNow!=null){
pageNow = Integer.parseInt(spageNow);
}
UserBeanCl ubc = new UserBeanCl();
ArrayList al = ubc.getResultByPage(pageNow,pageSize);
HttpSession hs = req.getSession(true);
String myName =(String) hs.getAttribute("uname");
String name = "";
String passwd = "";
if(myName==null){
try {
Cookie[] allcookies = req.getCookies();
int i = 0;
if(allcookies!=null){
for(i=0;i<allcookies.length;i++){
Cookie temp = allcookies[i];
if(temp.getName().equals("myName")){
name = temp.getValue();
}else if(temp.getName().equals("myPass")){
passwd = temp.getValue();
}
}
if(!name.equals("")&&!passwd.equals("")){
res.sendRedirect("loginp?username="+name+"&passwd="+passwd+"&info=error1");
return ;
}
}
res.sendRedirect("login?info=error1");
}catch (Exception ex) {
ex.printStackTrace();
}
}
try {
PrintWriter pw = res.getWriter();
pw.println("<html>");
pw.println("<body background=image/bj.jpg ><center>");
pw.println("<h1>管理用户</h1>");
pw.println("欢迎您:"+myName+"!");
pw.println("<img src =image/come.gif height = 30 width = 30>");
pw.println("<a href=main>返回主界面</a>");
pw.println("<table border=1 align=center>");
pw.println("<tr bgcolor=green><th>用户编号</th><th>用户姓名</th><th>用户密码</th><th>用户等级</th><th>用户邮箱</th><th>修改用户</th><th>删除用户</th></tr>");
String mycol[] ={"pink","silver","red"};
for(int i=0;i<al.size();i++){
UserBean ub = (UserBean)al.get(i);
pw.println("<tr bgcolor="+mycol[i%3]+">");
pw.println("<td>"+ub.getUserId()+"</td>");
pw.println("<td>"+ub.getUserName()+"</td>");
pw.println("<td>"+ub.getPasswd()+"</td>");
pw.println("<td>"+ub.getGrade()+"</td>");
pw.println("<td>"+ub.getEmail()+"</td>");
pw.println("<td><a href=update?uId="+ub.getUserId()+"&uName="+ub.getUserName()+"&uPass="+ub.getPasswd()+"&uGrade="+ub.getGrade()+"&uMail="+ub.getEmail()+">修改用户</a</td>");
pw.println("<td><a href = delusercl?userid="+ub.getUserId()+" οnclick=\"return window.confirm('您确定删除该用户吗?')\">删除用户</a></td>");
pw.println("</tr>");
}
pw.println("</table>");
int pageCount = ubc.getPageCount();
pw.println("<a href =welcome?pageNowok="+1+">首页</a>");
if(pageNow!=1){
pw.println("<a href =welcome?pageNowok="+(pageNow-1)+">上一页</a>");
}
for(int i=pageNow;i<=pageNow+4;i++){
if(i<=pageCount){
pw.println("<a href =welcome?pageNowok="+i+"><"+i+"></a>");
}
}
if(pageNow!=pageCount){
pw.println("<a href =welcome?pageNowok="+(pageNow+1)+">下一页</a>");
}
pw.println("<a href =welcome?pageNowok="+pageCount+">末页</a>");
pw.println("<form action = welcome>");
pw.println("跳转到<input type = text size='6' maxlength='6' name = pageNowok>");
pw.println("<input type = submit value = Go>");
pw.println("</form>");
pw.println("</center></body>");
pw.println("</html>");
}catch (Exception ex) {
ex.printStackTrace();
}finally{
try {
if(rs!=null){
rs.close();
}
if(ps!=null){
ps.close();
}
if(ct!=null){
ct.close();
}
}catch (Exception ex) {
ex.printStackTrace();
}
}
}
public void doGet(HttpServletRequest req,HttpServletResponse res){
this.doPost(req,res);
}
}
2.SearchUser.java
package com.sina;
import javax.servlet.http.*;
import java.io.*;
import javax.servlet.*;
import java.util.*;
public class SearchUser extends HttpServlet {
public void doPost(HttpServletRequest req,HttpServletResponse res){
try {
res.setContentType("text/html;charset=gbk");
PrintWriter pw = res.getWriter();
HttpSession hs = req.getSession(true);
String myName =(String) hs.getAttribute("uname");
String name = "";
String passwd = "";
if(myName==null){
try {
Cookie[] allcookies = req.getCookies();
int i = 0;
if(allcookies!=null){
for(i=0;i<allcookies.length;i++){
Cookie temp = allcookies[i];
if(temp.getName().equals("myName")){
name = temp.getValue();
}else if(temp.getName().equals("myPass")){
passwd = temp.getValue();
}
}
if(!name.equals("")&&!passwd.equals("")){
res.sendRedirect("loginp?username="+name+"&passwd="+passwd+"&info=error1");
}
}
res.sendRedirect("login?info=error1");
}catch (Exception ex) {
ex.printStackTrace();
}
}
pw.println("<html>");
pw.println("<body background=image/bj.jpg><center>");
pw.println("<h1>查找用户界面</h1>");
pw.println("欢迎您:"+myName+"!");
pw.println("<img src =image/come.gif height = 30 width = 30>");
pw.println("<a href = main>返回主界面 </a>");
pw.println("<form action=searchuser>");
pw.println("请输入用户名:<input type=text name=sname maxlength='8' size='15'>");
pw.println("<input type=submit value=搜><br>");
pw.println("<input type=radio name=stype value=mo checked>模糊查询");
pw.println("<input type=radio name=stype value=zhui >精确查询<hr>");
pw.println("</form>");
String sname = new String(req.getParameter("sname").getBytes("ISO8859-1"),"GB2312");
String stype = req.getParameter("stype");
UserBeanCl ubc = new UserBeanCl();
if(sname!=null){
ArrayList al =ubc.searchUser(sname,stype);
if(al.size()>0){
pw.println("<table border=1 align=center>");
pw.println("<tr bgcolor=green><th>用户编号</th><th>用户姓名</th><th>用户密码</th><th>用户等级</th><th>用户邮箱</th></tr>");
String mycol[] ={"pink","silver","red"};
for(int i=0;i<al.size();i++){
UserBean ub = (UserBean)al.get(i);
pw.println("<tr bgcolor="+mycol[i%3]+">");
pw.println("<td>"+ub.getUserId()+"</td>");
pw.println("<td>"+ub.getUserName()+"</td>");
pw.println("<td>"+ub.getPasswd()+"</td>");
pw.println("<td>"+ub.getGrade()+"</td>");
pw.println("<td>"+ub.getEmail()+"</td>");
pw.println("</tr>");
}
}else{
res.sendRedirect("err");
}
}
pw.println("</center></body>");
pw.println("</html>");
}catch (Exception ex) {
ex.printStackTrace();
}
}
public void doGet(HttpServletRequest req,HttpServletResponse res){
this.doPost(req,res);
}
}