:1433; DatabaseName=WebOffice","sa","");
}
catch(Exception e)
{
e.printStackTrace();
}
return conn;
}
}
3.3 模块详细设计
1、登录界面:该界面需要用户输入用户名和密码,并将内容发给对应的Servlet类处理,通过该类调用数据库的记录来实现用户的验证,另外,登录界面还附加了验证码的功能,验证码是一张图片,是由一个Servlet类产生,能够产生随机数字或字母,并生成一定数量的干扰线,增加了系统的安全性,调用时只需在标签
中的src属性中输入Servlet的类名即可,通过在servlet中使用session获取图片的值与收到的用户输入的值做对比达到验证的功能。
登录界面截图:
图3.3.1登录界面
核心代码:
Servlet处理代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
HttpSession session=request.getSession();
String s1=session.getAttribute("randomCode").toString();
String name=request.getParameter("username");
String pwd=request.getParameter("pass
word");
String code=request.getParameter("code");
if(name==null||pwd==null||code==null)
{
}
else
{
if(s1.equals(code))
{
Login login=new Login();
String s=login.login(name, pwd);
if(s.equals("1"))
{
session.setAttribute("sessionname1", name);
response.sendRedirect("Default.html");
}
if(s.equals("2"))
{
session.setAttribute("sessionname1", name);
response.sendRedirect("main.jsp");
}
if(s.equals("3"))
{
response.sendRedirect("index.jsp");
}
}
else
{
response.sendRedirect("index.jsp");
}
}
}
}
登录类中的代码:
public String login(String username,String password)
{
//连接数据库
Connect c=new Connect();
con=c.getcon();
try
{
stmt=con.createStatement();
rs=stmt.executeQuery("select password,competence from users where username='"+username+"'");
if(rs.next())
{
if(rs.getString("password").equals(password))
{
if(rs.getString("competence").equals("1"))
{
s="1";//管理员登录
}
else
{
s="2";//普通用户登录
}
}
}
else
{
s="3";//用户名或密码错误
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
this.close();
}
return s;
}
2、注册界面:新用户可以通过此界面进行添加与注册,用户输入相应的信息个人添加信息之后就会提示注册成功,但是此注册只能注册为普通用户,若想成为管理员,需要有管理员进行权限设置。
注册界面截图:
图3.3.2用户注册
Servlet处理核心代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String name=request.getParameter("username");
String pwd=request.getParameter("password1");
String email=request.getParameter("email");
Login re=new Login();
boolea