/* Document : UserLogin Created on : 2010-10-9, 21:03:15 Author : guzhihao Faction :一个具体实现注册方法的Bean */ package Servlet1; import java.sql.*; public class UserLogin { public boolean login(User user){ Connection conn=null; PreparedStatement ps=null; try{ Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/cars","root","1232323"); String sql= "insert into user(uname,upass)values(?,?)"; ps=conn.prepareStatement(sql); ps.setString(1,user.getUname()); ps.setString(2,user.getUpass()); int mun=ps.executeUpdate(); }catch(Exception e){ e.printStackTrace(); }finally{ try{ ps.close(); conn.close(); }catch(SQLException e){ e.printStackTrace(); } } return true; } }
/* Document : UserServlet Created on : 2010-10-9, 21:03:15 Author : guzhihao Faction :用于实现后台调用分配的Servlet */ package Servlet1; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class UserServlet extends HttpServlet { private UserLand Land=new UserLand(); private UserLogin login=new UserLogin(); public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ request.setCharacterEncoding("gb2312"); String submit=request.getParameter("submit"); if(submit!=null&&submit.equals("登陆")){ String uname=request.getParameter("uname"); String upass=request.getParameter("upass"); User user=new User(); user.setUname(uname); user.setUpass(upass); if(Land.login(user)){ HttpSession session=request.getSession(true); session.setAttribute("user",user); request.getRequestDispatcher("index.jsp").forward(request,response); }else{ HttpSession session=request.getSession(true); session.setAttribute("user",user); request.getRequestDispatcher("index3.jsp").forward(request,response); } } if(submit!=null&&submit.equals("注册")){ String uname=request.getParameter("uname"); String upass=request.getParameter("upass"); User user=new User(); user.setUname(uname); user.setUpass(upass); if(Land.login(user)){ HttpSession session=request.getSession(true); session.setAttribute("user",user); request.getRequestDispatcher("index1.jsp").forward(request,response); }else if(login.login(user)){ HttpSession session=request.getSession(true); session.setAttribute("user",user); request.getRequestDispatcher("index2.jsp").forward(request,response); } } } }
<%-- Document : Login Created on : 2010-10-9, 21:03:15 Author : guzhihao Faction :实现前台登陆的页面的实现 --%> <%@page language="java"contentType="text/html;charset=gb2312"%> <html> <head> <title>Login.jsp</title> </head> <body style="text-align: center"> <form action="UserServlet"method="post"> <table> <tr> <h5>提示:</h5> </tr> <tr> <h5>如果有已注册请直接登录</h5> </tr> <tr> <h5>如果没有注册请直接注册</h5> </tr> <tr> <td>用户名</td> <td><input type="text"name="uname"/></td> </tr> <tr> <td>密 码:</td> <td><input type="text"name="upass"></td> </tr> <tr> <td> </td> <td> <input type="submit"name="submit"value="登陆"/> <input type="submit"name="submit"value="注册"/> </td> </tr> </table> </form> </body> </html>
<%-- Document : index Created on : 2010-10-8, 21:03:15 Author : guzhihao Faction :用于实现登陆成功的显示信息的JSP页面 --%> <%@page language="java"import="Servlet1.*"contentType="text/html;charset=gb2312"%> <html> <head> <title>index.jsp</title> </head> <body style="text-align: center"> ${sessionScope.user.uname},欢迎您 </body> </html>
/* Document : User Created on : 2010-10-9, 21:03:15 Author : guzhihao */ package Servlet1; public class User { //private Integer uid; private String uname; private String upass; public String getUname(){ return uname; } public void setUname(String uname){ this.uname=uname; } public String getUpass(){ return upass; } public void setUpass(String upass){ this.upass=upass; } }
/* Document : UserLand Created on : 2010-10-9, 21:03:15 Author : guzhihao Faction :一个实现登陆具体步骤的bean页面 */ package Servlet1; import java.sql.*; public class UserLand { public boolean login(User user){ Connection conn=null; PreparedStatement ps=null; ResultSet rs=null; try{ Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection( "jdbc:mysql://localhost:3306/cars","root","1232323"); String sql="Select uname,upass from user"; ps=conn.prepareStatement(sql); rs=ps.executeQuery(); while(rs.next()){ if(user.getUname().equals(rs.getString("uname"))&&user.getUpass().equals(rs.getString("upass"))){ return true; } } //return false; }catch(Exception e){ e.printStackTrace(); }finally{ try{ rs.close(); ps.close(); conn.close(); }catch(SQLException e){ e.printStackTrace(); } } return false; } }
这里index.JSP只写了一个1,2,3大同小异,这里就不写了。这里用到了MYSQL,实现需要配置好服务器,和web.xml。我的web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>UserServlet</servlet-name> <servlet-class>Servlet1.UserServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>UserServlet</servlet-name> <url-pattern>/UserServlet/*</url-pattern> </servlet-mapping> </web-app>
大致说一下实现的过程,1.了解架构,JSP负责前台页面;bean用来具体实现功能语言:sql语言的完成和算法等;servlet在后台进行调用分配等。
此代码,登陆和注册页面都在一个页面,代码可以看得出,是最基本的登陆页面。
(此贴为JavaWeb新手参见,希望能帮到新手们,因为当初自己也是找了很久没找到比较完善的。具体有5个JSP,一个java,两个Bean,一个Servlet。详情见代码,如果有错误和不当之处请回帖。欢迎您的意见)