JSP+Bean+Servlet模式实现最简单登陆界面

/*
    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>密&nbsp;&nbsp;码:</td>
                    <td><input type="text"name="upass"></td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                    <td>
                        <input type="submit"name="submit"value="登陆"/>&nbsp;
                        <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。详情见代码,如果有错误和不当之处请回帖。欢迎您的意见)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值