JSP+SERVLET+MVC登录和注册的例子
2015-06-15 20:21
691 查看
登录和注册其实是简单的模块,但是有些地方如果需要深入的话也是蛮难的,现在只是初学者只能做最简单的事情了。
设计模块用的mvc模式。
用到的地方有model servlet jsp。
model:UserBean.java UserBeanBO.java
servlet: addpeople.java LoginCl.java
操作数据库:ConnDB.java
jsp页面:login.jsp register.jsp
登录模块
login.jsp:部分代码
点击登录进行servlet控制器处理
LoginCl.java
看到上面if中调用了一个UserBeanBO中的方法,所以下面就开始写这个了
UserBeanBO.java部分代码
下面贴出UserBean.java代码
接下到到了注册页面
register.jsp部分主要代码
然后是addpeople.java控制器
然后还是UserBeanBO.java
最后把ConnDB.java贴出来
以上就是简单的登录和注册例子,本文仅供it初学者,大神勿喷。
下一篇我将把根据用户名查询一条记录的一个字段判断如何登录
设计模块用的mvc模式。
用到的地方有model servlet jsp。
model:UserBean.java UserBeanBO.java
servlet: addpeople.java LoginCl.java
操作数据库:ConnDB.java
jsp页面:login.jsp register.jsp
登录模块
login.jsp:部分代码
<form action="LoginCl" method="post"> <div class="input-u cf"> <span class="input-name">邮箱/用户名</span> <input type="text" id="uersname" name="username" placeholder="邮箱/用户名/手机号" class="input-username input-one"/> </div> <br> <div class="input-p cf"> <span class="input-name">密码</span> <input type="password" id="password" name="password" placeholder="密码" class="input-password input-one"/> </div> <div class="input-b"> <input class="greenbtn" type="submit" value="登录"> </div> </form>
点击登录进行servlet控制器处理
LoginCl.java
/** *LoginCl中doGet的核心代码,其他就不拿出了 */ String username = request.getParameter("username"); String password = request.getParameter("password"); UserBeanBO ubb = new UersBeanBO(); if(ubb.checkUser) { request.getRequestDispatcher("checkout.jsp").forward(request, response); } else{ request.getRequestDispatcher("login.jsp").forward(request, response); }
看到上面if中调用了一个UserBeanBO中的方法,所以下面就开始写这个了
UserBeanBO.java部分代码
/* *核心代码 */ public boolean checkUser(String u, String p) { boolean b = false; try{ Connection ct = ConnDB.getConn(); PreparedStatement ps=ct.prepareStatement("select password from users where username=?"); ps.setString(1,u); ResultSet rs = ps.executeQuery(); //得到数据库中的密码 if(rs.next){ String dbPassword = rs.getString(1); if(dbPassword.equals(p)) { b = true; } } }catch (Exception e){ e.printStackTrace(); } finally{ //关闭资源 this.close();//close方法要自己写 } return b; } //以上代码纯手打,可能出现出错。
下面贴出UserBean.java代码
public class UserBean { private long userid ; private String username; private String truename; private String password; private String email; private String phone ; private String address; private String postcode; private int grade; public long getUserid() { return userid; } public void setUserid(long userid) { this.userid = userid; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getTruename() { return truename; } public void setTruename(String truename) { this.truename = truename; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getPostcode() { return postcode; } public void setPostcode(String postcode) { this.postcode = postcode; } public int getGrade() { return grade; } public void setGrade(int grade) { this.grade = grade; } }
接下到到了注册页面
register.jsp部分主要代码
<form action="addpeople" method="post"> <div class="input-u cf"> <span class="input-name">用户名</span> <input type="text" id="username" name="username" placeholder="用户名" class="input-one"/> </div> <br> <div class="input-u cf"> <span class="input-name">真实姓名</span> <input type="text" id="truename" name="truename" placeholder="真实姓名" class="input-one"/> </div> <br> <div class="input-p cf"> <span class="input-name">密码</span> <input type="password" id="password" name="password" placeholder="密码" class="input-one"/> </div> <br> <div class="input-u cf"> <span class="input-name">电子邮箱</span> <input type="text" id="email" name="email" placeholder="电子邮箱" class="input-one"/> </div> <br> <div class="input-u cf"> <span class="input-name">手机</span> <input type="text" id="phone" name="phone" placeholder="手机" class="input-one"/> </div> <br> <div class="input-u cf"> <span class="input-name">地址</span> <input type="text" id="address" name="address" placeholder="地址" class="input-one"/> </div> <br> <div class="input-u cf"> <span class="input-name">邮编</span> <input type="text" id="postcode" name="postcode" placeholder="邮编" class="input-one"/> </div> <br> <div class="input-b"> <input class="greenbtn" type="submit" value="注册"> </div> </form>
然后是addpeople.java控制器
String username = request.getParameter("username"); String truename = request.getParameter("truename"); String password = request.getParameter("password"); String email = request.getParameter("email"); String phone = request.getParameter("phone"); String address = request.getParameter("address"); String postcode = request.getParameter("postcode"); UserBeanBO ubb = new UserBeanBO(); UserBean user = new UserBean(); user.setUsername(username); user.setTruename(truename); user.setPassword(password); user.setEmail(email); user.setPhone(phone); user.setAddress(address); user.setPostcode(postcode); user = ubb.savaUser(user); if(user!=null) { request.getRequestDispatcher("login.jsp").forward(request, response); }else{ request.getRequestDispatcher("register.jsp").forward(request, response); }
然后还是UserBeanBO.java
public UserBean savaUser(UserBean user) { Connection ct = ConnDB.getConn(); String sql = "INSERT INTO users(username,truename,password,email,phone,address,postcode) values(?,?,?,?,?,?,?)"; try { PreparedStatement ps=ct.prepareStatement(sql); ps.setString(1, user.getUsername()); ps.setString(2, user.getTruename()); ps.setString(3, user.getPassword()); ps.setString(4, user.getEmail()); ps.setString(5, user.getPhone()); ps.setString(6, user.getAddress()); ps.setString(7, user.getPostcode()); ps.executeUpdate(); ps.close(); } catch (Exception e) { e.printStackTrace(); }finally{ //关闭资源 this.close(); } return user; }
最后把ConnDB.java贴出来
public class ConnDB { public static Connection getConn(){ Connection ct=null; try { Class.forName("com.mysql.jdbc.Driver"); ct=DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名称","数据库账号","密码"); } catch (Exception e) { e.printStackTrace(); // TODO: handle exception } return ct; } } 我用的是mysql数据库
以上就是简单的登录和注册例子,本文仅供it初学者,大神勿喷。
下一篇我将把根据用户名查询一条记录的一个字段判断如何登录
相关文章推荐
- JSP/PHP基于Ajax的分页功能实现
- 开发阶段Jetty运行Jsp报错且响应空白
- 架构纵横谈之二 ---- 架构的模式与要点
- 一步一步跟我学易语言之第二个易程序菜单设计
- PostgreSQL教程(二):模式Schema详解
- 代理区独立模式的说明
- Apache Web让JSP“动”起来
- C#中的递归APS和CPS模式详解
- C#迭代器模式(Iterator Pattern)实例教程
- 基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
- C#观察者模式(Observer Pattern)实例教程
- C#单例模式(Singleton Pattern)实例教程
- C#中设计、使用Fluent API
- Erlang中的模块与模式匹配介绍
- C#装饰器模式(Decorator Pattern)实例教程
- 基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
- 动态代理的5模式使用示例和Mixin模式
- C#命令模式(Command Pattern)实例教程