`

JavaWeb快速入门八(后附源码)

阅读更多

优化

 

test2的基础上做修改。

创建util包,在utils包中创建JdbcUtils.java工具类。为项目提供数据库连接和释放资源。内容如下:

JdbcUtils.java

package util;

 

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

 

public class JdbcUtils {

 

    //mysql数据库连接协议;mytest为数据库名称

    private static String url = "jdbc:mysql://localhost:3306/mytest";

    private static String user = "root";//mysql数据库用户名

    private static String password = "root";//mysql的密码

 

    private JdbcUtils() {

    }

 

    // 加载驱动类

    static {

       try {

           Class.forName("com.mysql.jdbc.Driver");

       } catch (ClassNotFoundException e) {

           throw new ExceptionInInitializerError(e);

       }

    }

 

    // 得到连接

    public static  Connection getConnection() throws SQLException {

       return DriverManager.getConnection(url, user, password);

    }

 

    // 释放资源

    public static void free(ResultSet rs, Statement st, Connection conn) {

       try {

           if (rs != null) {

              rs.close();

           }

       } catch (SQLException e) {

           e.printStackTrace();

       } finally {

           try {

              if (st != null) {

                  st.close();

              }

           } catch (SQLException e) {

              e.printStackTrace();

           } finally {

              try {

                  if (conn != null) {

                     conn.close();

                  }

              } catch (SQLException e) {

                  e.printStackTrace();

              }

           }

       }

    }

}

 

前面我们写了一个注册的例子,现在我们在前面基础上写一个登陆的类。创建LoginServlet.java,处理登陆操作。内容如下:

LoginServlet.java

package servlet;

 

import java.io.IOException;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import util.JdbcUtils;

 

public class LoginServlet extends HttpServlet {

 

    public void doGet(HttpServletRequest request, HttpServletResponse response)

           throws ServletException, IOException {

       doPost(request,response);

    }

 

    public void doPost(HttpServletRequest request, HttpServletResponse response)

           throws ServletException, IOException {

       String registerName = request.getParameter("name");

       String registerPassword = request.getParameter("password");

      

       Connection conn = null;

       PreparedStatement ps = null;

       ResultSet rs = null;

       try {

           conn = JdbcUtils.getConnection();

           String sql = "select name,password from user where name=? and password=?";

           ps = conn.prepareStatement(sql);

           ps.setString(1, registerName);

           ps.setString(2, registerPassword);

           rs = ps.executeQuery();

           if(rs.next()){

              String name = rs.getString(1);

              String password = rs.getString(2);

              System.out.println(name+password);

               request.setAttribute("name", name);// 将从数据库获得名字和密码setrequest对象里

              request.setAttribute("password", password);

              request.getRequestDispatcher("/login_success.jsp").forward(request,response);

           }else{

              request.getRequestDispatcher("/login_fail.jsp").forward(request,response);

           }

          

       } catch (SQLException e) {

           e.printStackTrace();

       }finally{

           JdbcUtils.free(rs, ps, conn);

       }

    }

 

}

 

新建三个jsp页面——login.jsp 登陆页面;login_success.jsp登陆成功页面;login_fail.jsp登陆失败页面

 

login.jsp 内容如下:

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

  </head>

  <body>

    <form action="servlet/LoginServlet" method="post">

    Plase write your name and password!<br/>

    name:<input type="text" name="name"/><br/>

    password:<input type="password" name="password"/>

    <input type="submit" value="login"/>

    </form>

  </body>

</html>

 

login_success.jsp 内容如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <body>

    <font color="red">login success!</font><br/>

    <font color="blue">Your name is :</font><%=request.getAttribute("name") %><br/>

    <font color="blue">Your password is :</font><%=request.getAttribute("password") %>

  </body>

</html>

 

login_fail.jsp 内容如下:

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <body>

    <font color="red">login fail!</font><br/>

  </body>

</html>

 

测试地址:http://localhost:8080/test2/login.jsp

 

分享到:
评论

相关推荐

    javaweb从入门到精通教程视频&PPT;&案例源码

    javaweb从入门到精通教程视频&PPT;&案例源码 javaweb从入门到精通教程视频&PPT;&案例源码 javaweb从入门到精通教程视频&PPT;&案例源码

    JavaWeb开发实战源码

    JavaWeb开发实战源码是学习和理解Web应用程序开发的一个重要资源。这个压缩包可能包含了从基础到高级的各种JavaWeb项目实例,涵盖了从搭建环境、创建动态网页、处理HTTP请求到数据库交互等一系列步骤。通过深入研究...

    《javaweb 入门经典》王国辉源码17-19.rar

    《JavaWeb 入门经典》是由王国辉编著的一本针对初学者的JavaWeb开发教程。这本书深入浅出地介绍了如何使用Java语言进行Web应用程序的开发,涵盖了从基础概念到实际应用的诸多方面。源码17-19.rar包含了第17章至第19...

    《javaweb 入门经典》王国辉源码14-16.rar

    《javaweb 入门经典》王国辉的源码14-16.rar是一个压缩包,其中包含了作者王国辉在讲解JavaWeb入门时使用的代码示例。这些章节涵盖了JavaWeb开发的基础到进阶内容,是学习JavaWeb技术的宝贵资源。下面我们将详细探讨...

    《JavaWeb入门经典(附光盘)》(作者王国辉、陈英)第六章源码

    在深入探讨《JavaWeb入门经典(附光盘)》(作者王国辉、陈英)第六章源码之前,我们先来理解一下JavaWeb这个概念。JavaWeb是Java技术在Web开发中的应用,它包括Servlet、JSP(JavaServer Pages)、JSTL(JavaServer...

    《JavaWeb入门经典(附光盘)》(作者王国辉、陈英)第五章源码

    在深入探讨《JavaWeb入门经典(附光盘)》(作者王国辉、陈英)第五章源码之前,我们先来理解一下JavaWeb这个概念。JavaWeb是Java技术在Web开发中的应用,它包括Servlet、JSP(JavaServer Pages)、JSTL(JavaServer...

    基于javaweb开发的餐饮管理系统源码+数据库.zip

    基于javaweb开发的餐饮管理系统源码+数据库.zip基于javaweb开发的餐饮管理系统源码+数据库.zip基于javaweb开发的餐饮管理系统源码+数据库.zip基于javaweb开发的餐饮管理系统源码+数据库.zip基于javaweb开发的餐饮...

    期末大作业项目-基于Javaweb的校园二手交易平台源码.zip

    期末大作业项目-基于Javaweb的校园二手交易平台源码.zip期末大作业项目-基于Javaweb的校园二手交易平台源码.zip期末大作业项目-基于Javaweb的校园二手交易平台源码.zip期末大作业项目-基于Javaweb的校园二手交易平台...

    课程设计-基于JavaWeb的论坛管理系统项目源码.zip

    课程设计-基于JavaWeb的论坛管理系统项目源码.zip课程设计-基于JavaWeb的论坛管理系统项目源码.zip课程设计-基于JavaWeb的论坛管理系统项目源码.zip课程设计-基于JavaWeb的论坛管理系统项目源码.zip课程设计-基于...

    基于JavaWeb开发的合同管理系统源码(可做课设).zip

    基于JavaWeb开发的合同管理系统源码(可做课设).zip基于JavaWeb开发的合同管理系统源码(可做课设).zip基于JavaWeb开发的合同管理系统源码(可做课设).zip基于JavaWeb开发的合同管理系统源码(可做课设).zip基于JavaWeb...

    基于Dao和servlet的Javaweb师生健康码管理系统源码(课程设计).zip

    基于Dao和servlet的Javaweb师生健康码管理系统源码(课程设计).zip基于Dao和servlet的Javaweb师生健康码管理系统源码(课程设计).zip基于Dao和servlet的Javaweb师生健康码管理系统源码(课程设计).zip基于Dao和servlet...

    《javaweb 入门经典》王国辉源码2-13.rar

    《javaweb 入门经典》王国辉源码2-13.rar 是一本关于JavaWeb开发的入门教程的配套源代码资源,由知名作者王国辉编写。这份压缩包包含了书中多个章节的示例代码,旨在帮助初学者通过实践来理解和掌握JavaWeb开发的...

    基于JavaWeb的医院挂号管理系统源码+数据库sql(课程大作业).zip

    基于JavaWeb的医院挂号管理系统源码+数据库sql(课程大作业).zip基于JavaWeb的医院挂号管理系统源码+数据库sql(课程大作业).zip基于JavaWeb的医院挂号管理系统源码+数据库sql(课程大作业).zip基于JavaWeb的医院挂号...

    本科毕设-基于JavaWeb的健康管理系统完整源码含数据库脚本+使用说明.zip

    本科毕设-基于JavaWeb的健康管理系统完整源码含数据库脚本+使用说明.zip 【资源说明】 1、项目源码在上传前,都经过本地成功运行,功能测试无误。请放心下载使用!答辩评审平均分达到97.5分,有问题请及时沟通交流,...

    校园管理系统源码javaweb.zip

    【标题】"校园管理系统源码javaweb.zip"是一个基于JavaWeb技术的校园管理系统的源代码包。这个系统可能包含了处理校园日常事务的各种功能模块,如学生信息管理、课程安排、成绩录入、教师管理等。JavaWeb是Java技术...

    黑马程序员_超全面的JavaWeb教程-视频+源码笔记

    ### 黑马程序员_超全面的JavaWeb教程-视频+源码笔记 #### JavaWeb基础知识概览 在深入了解本教程之前,我们先来简要回顾一下JavaWeb的基础知识。JavaWeb是利用Java语言开发Web应用的技术集合。它主要包括Servlet、...

    基于JavaWeb的在线问卷调查系统源码+设计报告(课程设计).zip

    基于JavaWeb的在线问卷调查系统源码+设计报告(课程设计).zip基于JavaWeb的在线问卷调查系统源码+设计报告(课程设计).zip基于JavaWeb的在线问卷调查系统源码+设计报告(课程设计).zip基于JavaWeb的在线问卷调查系统...

    基于JavaWeb的个人财务管理系统源码(95分课设).zip

    基于JavaWeb的个人财务管理系统源码(95分课设).zip基于JavaWeb的个人财务管理系统源码(95分课设).zip基于JavaWeb的个人财务管理系统源码(95分课设).zip 基于JavaWeb的个人财务管理系统源码(95分课设).zip 基于...

    《JavaWeb入门经典(附光盘)》(作者王国辉、陈英)第三章源码

    在JavaWeb开发领域,第三章通常会涉及到基础的Web应用构建和核心概念。这章的源码可能包括了Servlet、JSP、...通过学习并理解这些源码,初学者可以建立起对JavaWeb开发的基本认知,并逐步掌握构建实际Web应用的能力。

Global site tag (gtag.js) - Google Analytics