国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Servlet編寫(xiě)注冊(cè)登錄頁(yè)面

hellowoody / 3074人閱讀

摘要:新建一個(gè)項(xiàng)目選擇自己的文件勾選項(xiàng)目構(gòu)造如下設(shè)置項(xiàng)目配置快捷鍵選擇配置紅色框選擇時(shí),運(yùn)行成功會(huì)會(huì)自動(dòng)運(yùn)行下方的鏈接測(cè)試運(yùn)行出現(xiàn)如下便創(chuàng)建成功編寫(xiě)第一個(gè)代碼,測(cè)試環(huán)境是否設(shè)置成功第一個(gè)設(shè)置響應(yīng)內(nèi)容類型實(shí)際的邏輯是

新建一個(gè)servlet項(xiàng)目

Flies --> new --> project-->ProjectSDK選擇自己的JDK文件-->勾選Web Appliction -->Next

項(xiàng)目構(gòu)造如下:

設(shè)置項(xiàng)目配置

File --> Project Structure (快捷鍵:Ctrl + Shift + Alt + S) --> 選擇Module :

配置Tomcat


紅色框選擇時(shí),運(yùn)行成功會(huì)會(huì)自動(dòng)運(yùn)行下方的URL鏈接

測(cè)試運(yùn)行


出現(xiàn)如下便創(chuàng)建成功

編寫(xiě)第一個(gè)Servlet代碼,測(cè)試環(huán)境是否設(shè)置成功
@WebServlet("/firstServlet")
public class test extends HttpServlet {

    private String message;

    @Override
    public void init() throws ServletException {
        message = "第一個(gè)servlet";
    }

    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
            throws ServletException, IOException
    {
        // 設(shè)置響應(yīng)內(nèi)容類型
//        response.setContentType("text/html");
        response.setHeader("Content-type","text/html;charset=UTF-8");

        // 實(shí)際的邏輯是在這里
        PrintWriter out = response.getWriter();
        out.println("

" + message + "

"); } public void destroy() { // 什么也不做 } }

注解@WebServlet是設(shè)置該類的URL,也可以在web.xml里設(shè)置,如下:


    test//設(shè)置該servlet的名字,可以隨便定義
    test.test//對(duì)應(yīng)的java的文件(包名.類名)



    test//上面定義的名字
    /HelloWorld//自己定義URL

運(yùn)行Tomcat,打開(kāi)瀏覽器輸入http://localhost:8080/firstServlet或者h(yuǎn)ttp://localhost:8080/HelloWorld結(jié)果:

開(kāi)始編寫(xiě)登陸注冊(cè)模板 首先要先配置JDBC,編寫(xiě)連接數(shù)據(jù)庫(kù)工具類

資源:mysql-connector-java-5.1.39-bin.jar
鏈接:http://note.youdao.com/notesh...

public class connectionUtil {
    private static String  driver;
    private static String  url;
    private static String  username;
    private static String password;

    static {
        try {

            //獲取配置文件的信息
            driver = "com.mysql.jdbc.Driver";
            url = "jdbc:mysql://localhost:3306/test";
            username = "root";
//            password = "admin";
            password = "touwen";

            //加載驅(qū)動(dòng)類
            Class.forName(driver);

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

    }

    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(url,username,password);
    }

    public static void release(Connection connection, Statement statement, ResultSet resultSet) {

        if (resultSet != null) {
            try {
                resultSet.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (statement != null) {
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (connection != null) {
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
編寫(xiě)注冊(cè)登錄邏輯

注冊(cè)邏輯

@WebServlet("/registered")
public class registered extends HttpServlet {


    public registered(){
        super();
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        String username = new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8");
        String password1 = request.getParameter("password1");
        String password2 = request.getParameter("password2");
        if(password1 == null || password2 == null){
            System.out.println("請(qǐng)輸入密碼");
        }
        if(password1.equals(password2)){
            Connection conn = null;
            ResultSet rs = null;
            PreparedStatement ptst = null;
            try{
                conn = connectionUtil.getConnection();
                String sql = "SELECT username FROM user";
                ptst = conn.prepareStatement(sql);
                rs = ptst.executeQuery();
                while (rs.next()) {
                    if(username.equals(rs.getString("username"))){
                        System.out.println("用戶名已存在");
                        return;
                    }
                }
                String ins = "insert into user(username,password) values (?,?)";
                ptst = conn.prepareStatement(ins);
                ptst.setString(1,username);
                ptst.setString(2,password1);
                int i = ptst.executeUpdate();
                if(i==1) {
                    System.out.println("注冊(cè)成功");
                }else {
                    System.out.println("注冊(cè)失敗");
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }finally {
                connectionUtil.release(conn,ptst,rs);
            }
        }else {
            System.out.println("兩次密碼不一致");
        }

    }

    // 處理 POST 方法請(qǐng)求的方法
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

登錄邏輯

@WebServlet("/login")
public class login extends HttpServlet {

    public login(){
        super();
    }

    @Override
    // 處理 POST 方法請(qǐng)求的方法
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
        Connection conn = null;
        PreparedStatement ptst = null;
        ResultSet rs = null;

        String username = new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8");
        String password = request.getParameter("password");
        if(username == null || password == null){
            System.out.println("請(qǐng)輸入賬號(hào)或者密碼");
        }
        try {
            conn = connectionUtil.getConnection();
            String sql = "SELECT * FROM user where username = ?";
            ptst = conn.prepareStatement(sql);
            ptst.setString(1,username);
            rs = ptst.executeQuery();
            while (rs.next()){
                if(password.equals(rs.getString("password"))){
                    System.out.println("登陸成功");
                }else {
                    System.out.println("賬號(hào)密碼不正確");
                }
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            connectionUtil.release(conn,ptst,rs);
        }
    }
}

如果一直連接不上數(shù)據(jù)庫(kù)時(shí),需要在java的運(yùn)行環(huán)境外部也需要導(dǎo)入JDBC的包,路徑是安裝的java文件夾下的jrelibext

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/75222.html

相關(guān)文章

  • 詳談 Filter 過(guò)濾器

    摘要:元素用于指定過(guò)濾器的完整的限定類名。除此之外,過(guò)濾器不會(huì)被調(diào)用。參數(shù)用于訪問(wèn)后續(xù)過(guò)濾器。還可以為指定目標(biāo)資源為某個(gè),例如當(dāng)用戶訪問(wèn)時(shí),會(huì)執(zhí)行名字為的,這時(shí)會(huì)執(zhí)行過(guò)濾器。防止中文亂碼過(guò)濾器項(xiàng)目使用框架時(shí)。 文章首發(fā)在CSDN博客,轉(zhuǎn)載請(qǐng)務(wù)必注明以下所有鏈接,否則考慮法律追究責(zé)任。 CSDN地址:http://blog.csdn.net/tzs_1041218129/article/det...

    wind5o 評(píng)論0 收藏0
  • 慕課網(wǎng)_《Java實(shí)現(xiàn)SSO單點(diǎn)登錄》學(xué)習(xí)總結(jié)

    摘要:時(shí)間年月日星期三說(shuō)明本文部分內(nèi)容均來(lái)自慕課網(wǎng)。慕課網(wǎng)教學(xué)示例源碼無(wú)個(gè)人學(xué)習(xí)源碼第一章概述課程介紹及介紹課程目標(biāo)認(rèn)識(shí)并理解及其應(yīng)用,并能根據(jù)其實(shí)現(xiàn)原理自行實(shí)現(xiàn)。 時(shí)間:2017年3月22日星期三說(shuō)明:本文部分內(nèi)容均來(lái)自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)示例源碼:無(wú)個(gè)人學(xué)習(xí)源碼:https://github.com/zccodere/s... 第一章:概述 1-...

    flyer_dev 評(píng)論0 收藏0
  • Spring Boot Admin排坑指南

    摘要:其簡(jiǎn)陋的頁(yè)面讓人不忍直視,但更新到系列后,像脫胎換骨一般好用這篇博客記錄我個(gè)人在使用過(guò)程中遇到過(guò)的坑,每個(gè)坑位都會(huì)附上詳細(xì)的填坑辦法環(huán)境參數(shù)服務(wù)直接注冊(cè)失敗常見(jiàn)的注冊(cè)失敗問(wèn)題可以分為以下兩種服務(wù)端與客戶端不在同一臺(tái)服務(wù)器上提示安全校驗(yàn)不通過(guò) Spring Boot Admin 1.x其簡(jiǎn)陋的頁(yè)面讓人不忍直視,但更新到2.x系列后,像脫胎換骨一般好用 這篇博客記錄我個(gè)人在使用Spring...

    CocoaChina 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<