国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - 一個處理用戶登陸的servlet簡單實例

一個處理用戶登陸的servlet簡單實例

2019-12-07 15:55shichen2014 JAVA教程

這篇文章主要介紹了一個處理用戶登陸的servlet簡單實例,可通過servlet實現(xiàn)處理用戶登錄的功能,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了一個處理用戶登陸servlet實現(xiàn)方法。分享給大家供大家參考。具體分析如下:

Login.java代碼如下:

 

復制代碼代碼如下:


package com.bai;

 

import javax.servlet.http.*;

import java.io.*;

public class Login extends HttpServlet{
    public void doGet(HttpServletRequest req,HttpServletResponse res){
        try{req.setCharacterEncoding("gb2312");
        res.setContentType("text/html;charset=gb2312");
            PrintWriter pw=res.getWriter();
            pw.println("<html>");
            pw.println("<body>");
            pw.println("<h1>登陸界面</h1>");
            pw.println("<form action=logincl method=post>");
            pw.println("用戶名:<input type=text name=username><br>");
            pw.println("密碼:<input type=password name=passwd><br>");
            pw.println("<input type=submit value=login><br>");
            pw.println("</form>");
            pw.println("</body>");
            pw.println("</html>");
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
    
    public void doPost(HttpServletRequest req,HttpServletResponse res){
        this.doGet(req,res);
    }
}

 

LoginCl.java代碼如下:

 

復制代碼代碼如下:


package com.bai;

 

import javax.servlet.http.*;

import java.io.*;
import java.sql.*;

public class LoginCl extends HttpServlet{
    public void doGet(HttpServletRequest req,HttpServletResponse res){
        
        Connection conn=null;
        Statement stmt=null;
        ResultSet rs=null;
        String sql = "select username,passwd from users where username = ? and passwd = ?";
        try{//req.setCharacterEncoding("gb2312");
            String user=req.getParameter("username");
            String password=req.getParameter("passwd");
            
            Class.forName("com.mysql.jdbc.Driver");
            conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sqdb","root","root");
//            stmt=conn.createStatement();
            PreparedStatement pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, user);
            pstmt.setString(2, password);
            rs = pstmt.executeQuery();
//            rs=stmt.executeQuery("select top 1 * from users where username='"+user
//                +"' and passwd='"+password+"'");
            if(rs.next())
            {
                HttpSession hs=req.getSession(true);
                hs.setMaxInactiveInterval(60);
                hs.setAttribute("name",user);
                res.sendRedirect("welcome?&uname="+user+"&upass="+password);
            }
            else{
                res.sendRedirect("login"); //url
            }
            
        }
        catch(Exception e){
            e.printStackTrace();
        }finally{
            try{
                if(rs!=null){
                rs.close();
                }
                if(stmt!=null){
                    stmt.close();
                }
                if(conn!=null){
                    conn.close();
                }    
            }catch(Exception e){
                e.printStackTrace();
            }        
        }
    }
    
    public void doPost(HttpServletRequest req,HttpServletResponse res){
        this.doGet(req,res);
    }
}

 

其實上面這個處理用戶名密碼帶有明顯注入漏洞,可以根據(jù)用戶名從數(shù)據(jù)庫取密碼,用取出的密碼和用戶輸入的密碼比較

 

復制代碼代碼如下:


sql=select passwd from users where username = ?  limit 1

 

if(rs.next())
{
    String passwd=rs.getString(1);
    if(passwd.equals(password))
            //密碼正確
    else //密碼錯誤
}

 

Welcome.java代碼如下:

 

復制代碼代碼如下:


package com.bai;

 

import javax.servlet.http.*;

import java.io.*;

public class Welcome extends HttpServlet{
    public void doGet(HttpServletRequest req,HttpServletResponse res){
        
        HttpSession hs=req.getSession();
        String val=(String)hs.getAttribute("pass");
        
        if(val==null){
            try{
                System.out.print(1);
                res.sendRedirect("login");
            }catch(Exception e){
                e.printStackTrace();
            }
            
        }        
            
        String u=req.getParameter("uname");
        String p=req.getParameter("upass");
        
        try{//req.setCharacterEncoding("gb2312");
            PrintWriter pw=res.getWriter();
            pw.println("welcome! "+u+"&pass="+p);
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
    
    public void doPost(HttpServletRequest req,HttpServletResponse res){
        this.doGet(req,res);
    }
}

 

希望本文所述對大家的Java程序設(shè)計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一级在线 | 亚洲国产一级 | 国外成人在线视频网站 | 夜夜摸夜夜操 | av色伊人久久综合一区二区 | 欧美久久精品一级黑人c片 成人在线视频免费观看 | 日韩国产一区二区 | 羞羞视频免费 | 中文字幕av在线 | 丝袜美腿一区二区三区 | 欧美大片免费高清观看 | 日日操av| 国产成人精品一区二区三区网站观看 | 成年人毛片视频 | 欧美成视频 | 国产伦乱 | 久久国产精品久久 | 黄色污污视频 | 国产精品二区一区二区aⅴ污介绍 | 午夜电影 | 免费视频二区 | 欧美精品福利视频 | 国产成人精品a视频一区www | 国产精品美女久久久久av麻豆 | 国产中文字幕网 | 91精品国产91久久久久久最新 | 亚洲日本在线观看视频 | 久久精品日产第一区二区三区 | 欧美在线网 | 成人高清视频在线观看 | 久久精品一区二区国产 | 精品成人免费 | 久久综合九九 | 激情五月婷婷基地 | 国产97人人超碰caoprom | 久久精品中文字幕 | 青青草中文字幕 | 国产精品久久99 | 久久精品视频免费观看 | 精品无码久久久久久久动漫 | 国产精品美女久久久久久免费 |