失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 信息管理系统的登录注册

信息管理系统的登录注册

时间:2023-08-15 19:39:50

相关推荐

信息管理系统的登录注册

在上一篇的数据库的高级应用中完成了数据库的连接,接下来完成信息管理系统的登录注册。

登录实际上就是查询数据库中是否有页面上的用户输入的用户名与密码。核对完再返回页面,登录成功显示相应页面,失败显示相应的页面。

注册实际上就是利用sql语句向数据库中插入数据,插入成功显示相应页面,失败显示相应页面。

1.首先建立user类。

package cn.edu.hpu.model;public class User {private static int id;private static String username;private static String password;public int getId() {return id;}public void setId(int id) {User.id = id;}public String getUsername() {return username;}public void setUsername(String username) {User.username = username;}public String getPassword() {return password;}public void setPassword(String password) {User.password = password;}}<span style="font-family:KaiTi_GB2312;"></span>

在这里说一个建包规则,一般包最好建成.......这种类型。

2.现在开始写接口类,即从数据库中进行的一系列操作。

首先定义接口。

package cn.edu.hpu.service;import cn.edu.hpu.model.User;public interface UserManager {public boolean RegisteUser(User user);public boolean CheckLogin(String username,String password);}<span style="font-family:KaiTi_GB2312;"></span>

紧接着来写接口的实现类。

package cn.edu.hpu.service;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import com.mysql.jdbc.PreparedStatement;import cn.edu.hpu.model.User;import cn.edu.hpu.util.Util;public class UserManagerImp implements UserManager {@Overridepublic boolean RegisteUser(User user) {boolean flag=false;String sql="insert into haha(username,password) values(?,?)";Connection conn=Util.getConnection();//连接数据库try {PreparedStatement pst = (PreparedStatement) conn.prepareStatement(sql);pst.setString(1,user.getUsername());pst.setString(2,user.getPassword());pst.executeUpdate();flag=true;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} return flag;}@Overridepublic boolean CheckLogin(String username, String password) {boolean flag=false;String sql="select * from haha where username=? and password=?";Connection conn=Util.getConnection();try {PreparedStatement pst=(PreparedStatement) conn.prepareStatement(sql);pst.setString(1,username);pst.setString(2,password);ResultSet rs=pst.executeQuery();//遍历结果集if(rs.next()){flag=true;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return flag;}}<span style="font-family:KaiTi_GB2312;"></span>

至此完成了从数据库进行的一系类操作。

3.现在开始写sevlet。servlet承担与页面的联系,接收转发。很多时候是表单等jsp页面的提交地址。

Servlet: 是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机Servlet生命周期)。

1)首先是登录的servlet

package cn.edu.hpu.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import cn.edu.hpu.service.UserManager;import cn.edu.hpu.service.UserManagerImp;public class CheckLogin extends HttpServlet {/*** */private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);//不管doPost还是doGet,都doPost}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//获得username,passwordString username = request.getParameter("username");//从页面获得username,passwwordString password = request.getParameter("password");UserManager mng = new UserManagerImp();boolean flag=mng.CheckLogin(username, password);//获取用户验证码和系统产生的验证码String checkCode = request.getParameter("checkCode");String piccode = (String)request.getSession().getAttribute("piccode");System.out.println("---"+checkCode+"pic---"+piccode);if(flag==true&&piccode.equalsIgnoreCase(checkCode)){StudentDaoServlet servlet=new StudentDaoServlet();servlet.doPost(request, response);HttpSession session=request.getSession();//获得session对象session.setAttribute("username", username);}else {PrintWriter out = response.getWriter();out.write("Incorrect!");}}}<span style="font-family:KaiTi_GB2312;"></span>

2)其次是注册的servlet。

package cn.edu.hpu.servlet;import java.io.IOException;//import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.edu.hpu.model.User;import cn.edu.hpu.service.UserManager;import cn.edu.hpu.service.UserManagerImp;public class Register extends HttpServlet {/*** */private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request,response);} public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");String Username=request.getParameter("username");String Password=request.getParameter("password");User u=new User();u.setUsername(Username);u.setPassword(Password);UserManager um=new UserManagerImp();boolean flag=um.RegisteUser(u);if(flag){response.sendRedirect("chenggong.jsp");}}}<span style="font-family:KaiTi_GB2312;"></span>

4.最后就是jsp页面

1)登录页面的jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><style type="text/css">.body{background-image:url("1.jpg");width: 1200px;height: 600px;margin-left: 30px;}.hh{padding-top:70px;text-align: center;}input{border-radius:30px;border-color:coral;height:30px;}</style><script type="text/javascript">function reload(){var time = new Date().getTime();document.getElementById("imgId").src="ImageServlet?d="+time;}</script></head><body><div class="body"><div class="hh"><center style="font-family:华文楷体;color:brown;"><h1 >登录页面</h1></center></br></br><center><form action="CheckLogin" method="post" >用户名:<input type="text" name="username" value="请输入用户名" style="height:30px;"></input><p style="padding-top:3px;">密 码:<input type="password" name="password" style="height:30px;"></input></p>验证码:<input type="text" name="checkCode" style="height:30px;"></br></br><img src="ImageServlet" id="imgId"/><a href="javascript:reload()">看不清楚</a><br/></br><p style="padding-top:3px;"><input type="submit" value="登录"></input><a href="zhuce.jsp">注册</a></p></form></center></div></div></body></html>

2)注册页面的jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><style type="text/css">.body{background-image:url("1.jpg");width: 1200px;height: 600px;margin-left: 50px}.hh{padding-top:100px;text-align: center;}input{border-radius:30px;border-color:coral;height:30px;}</style></head><body><div class="body"><div class="hh"><center><h1 style="font-family:华文楷体;">注册页面</h1></br></br><form action="Register" method="post">用户名:<input type="text" name="username" style="height:30px"><p style="padding-top:3px;"> 密码:<input type="password" name="password" style="height:30px" ></p></br><input type="submit" value="提交"><input type="reset" value="重置"></br></form></center><a href="javascript:history.go(-1)">返回</a></body></html>

在jsp页面中的form表单中有关于action的设置,即表单的提交地址(提交给哪个servlet来接受处理),还有method的设置(get,post),还有input中name的设置即交给servlet的东西。

5.以上的1 2 3 4 步是从底部向上进行的。现在让我们从页面开始的数据传输来传到底部吧。

当我们在页面上的表单中填入数据的时候,servlet来接收,得到相应的字符串,从然后创建姐口德对象,传入参数username,password后调用相应的方法进行接口的实现,实现完接口后根据返回值判断整个过程进行的正确与否,然后根据正确与否跳转到相应的页面。其实整个过程就是从页面传到数据库底部,在从数据库底部返回到页面。最主要就是通过接口和servlet来实现的。注册也是同样的原理。

至此完成了信息管理系统的登录注册。

如果觉得《信息管理系统的登录注册》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。