zoukankan      html  css  js  c++  java
  • java web实践

    • 语言:java、javascript
    • 软件:eclipse、mysql

      环境配置:下载jdk;配置jdk环境变量。相关教程:https://jingyan.baidu.com/article/db55b609fa946e4ba20a2f56.html

      配置Tomcat、以及mysql的安装,jdbc的下载。

      编写一个网页完成课程的增删改查,要求连接数据库并且实现增删改查。

      首先创建一个java web项目File->new->Other->Dynamic Web Project

    创建名称->点击next

    点击next,将选项打上对号:

    点击完成:

    jdbc的链接:下载jdbc。在项目文件位置创建lib文件夹将下载jdbc中的粘贴到lib文件夹下。

    在项目上点击右键选择最后一个Properties(属性)选项。

     

    选择java build path中的Libraries

    点击右侧的ARR JARs...选择刚才粘贴的文件。最后点击Apply and Close

    出现Referenced Libraries证明添加成功。

    在WebContent上点击右键new->jsp文件:创建多个jsp文件实现网页的实现。在java Resources中创建java项目链接编写数据库的代码并封装成类。

     源代码:

    Shujuku.java:

    package Class;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class Shujuku {
        public String[][] Getinformation() {
             Connection con;
            //驱动程序名
            String driver = "com.mysql.jdbc.Driver";
            //URL指向要访问的数据库名mydata
            String url = "jdbc:mysql://localhost:3306/class?serverTimezone=UTC";
            //MySQL配置时的用户名
            String user = "root";
            //MySQL配置时的密码
            String password = "1234567";
            //遍历查询结果集
            String [][] st;
            st=new String [20][3];
            int i=0;
            try {
                //加载驱动程序
                Class.forName(driver);
                //1.getConnection()方法,连接MySQL数据库!!
                con = DriverManager.getConnection(url,user,password);
                //2.创建statement类对象,用来执行SQL语句!!
                Statement statement = con.createStatement();
                //要执行的SQL语句
                String sql = "select * from class";
                //3.ResultSet类,用来存放获取的结果集!!
                ResultSet rs = statement.executeQuery(sql);
               while(rs.next()){
                   st[i][0] = rs.getString("课程名称");
                   st[i][1] = rs.getString("任课教师");
                   st[i][2] = rs.getString("任课地点");
                   i++;
                   if(i==19)break;
                }
                rs.close();
                con.close();
            } catch(ClassNotFoundException e) {   
                System.out.println("Sorry,can`t find the Driver!");   
                e.printStackTrace();   
                } catch(SQLException e) {
                //数据库连接失败异常处理
                e.printStackTrace();  
                }catch (Exception e) {
               // TODO: handle exception
                e.printStackTrace();
               }
           return st;
        }
        public void add(String id,String newname,String newpwd) {
             Connection con;
            //驱动程序名
            String driver = "com.mysql.jdbc.Driver";
            //URL指向要访问的数据库名mydata
            String url = "jdbc:mysql://localhost:3306/class?serverTimezone=UTC";
            //MySQL配置时的用户名
            String user = "root";
            //MySQL配置时的密码
            String password = "1234567";
            //遍历查询结果集
            try {
                //加载驱动程序
                Class.forName(driver);
                //1.getConnection()方法,连接MySQL数据库!!
                con = DriverManager.getConnection(url,user,password);
                //3.ResultSet类,用来存放获取的结果集!!
                PreparedStatement psql;
                //预处理添加数据,其中有两个参数--“?”
                psql = con.prepareStatement("insert into class (课程名称,任课教师,任课地点) "
                        + "values(?,?,?)");
                psql.setString(1, id);              //设置参数1,创建id为3212的数据
                psql.setString(2, newname);      //设置参数2,name 为王刚
                psql.setString(3, newpwd);
                psql.executeUpdate();           //执行更新
                con.close();
            } catch(ClassNotFoundException e) {   
                System.out.println("Sorry,can`t find the Driver!");   
                e.printStackTrace();   
                } catch(SQLException e) {
                //数据库连接失败异常处理
                e.printStackTrace();  
                }catch (Exception e) {
               // TODO: handle exception
                e.printStackTrace();
               }
        }
        public void update(String id,String newname,String newteachername,String newclassadd) {
            Connection con;
           //驱动程序名
           String driver = "com.mysql.jdbc.Driver";
           //URL指向要访问的数据库名mydata
           String url = "jdbc:mysql://localhost:3306/class?serverTimezone=UTC";
           //MySQL配置时的用户名
           String user = "root";
           //MySQL配置时的密码
           String password = "1234567";
           //遍历查询结果集
           try {
               //加载驱动程序
               Class.forName(driver);
               //1.getConnection()方法,连接MySQL数据库!!
               con = DriverManager.getConnection(url,user,password); 
               PreparedStatement psql;
             //预处理更新(修改)数据,将王刚的sal改为5000.0
             psql = con.prepareStatement("update class set 课程名称 = ? , 任课教师=?, 任课地点=?  where 课程名称 = ?");
             psql.setString(1,newname);
             psql.setString(2,newteachername); 
             psql.setString(3,newclassadd); 
             psql.setString(4,id);             
             psql.executeUpdate();
             con.close();
           } catch(ClassNotFoundException e) {   
               System.out.println("Sorry,can`t find the Driver!");   
               e.printStackTrace();   
               } catch(SQLException e) {
               //数据库连接失败异常处理
               e.printStackTrace();  
               }catch (Exception e) {
              // TODO: handle exception
               e.printStackTrace();
               }
        }
        public void delte(String id) {
            Connection con;
           //驱动程序名
           String driver = "com.mysql.jdbc.Driver";
           //URL指向要访问的数据库名mydata
           String url = "jdbc:mysql://localhost:3306/class?serverTimezone=UTC";
           //MySQL配置时的用户名
           String user = "root";
           //MySQL配置时的密码
           String password = "1234567";
           //遍历查询结果集
           try {
               //加载驱动程序
               Class.forName(driver);
               //1.getConnection()方法,连接MySQL数据库!!
               con = DriverManager.getConnection(url,user,password);
               //3.ResultSet类,用来存放获取的结果集!!
               PreparedStatement psql;
             //预处理删除数据
             psql = con.prepareStatement("delete from class where 课程名称 =?");
             psql.setString(1, id);
             psql.executeUpdate();
             psql.close();
             con.close();
           } catch(ClassNotFoundException e) {   
               System.out.println("Sorry,can`t find the Driver!");   
               e.printStackTrace();   
               } catch(SQLException e) {
               //数据库连接失败异常处理
               e.printStackTrace();  
               }catch (Exception e) {
              // TODO: handle exception
               e.printStackTrace();
               }
        }
    }

    xuanke.jsp:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>选课网站</title>
    <style>
    nav{ width:100%; height:20px; background:#DCDCDC ; text-align:center;}
    a {    text-decoation:none;}
    </style>
    </head>
    <body>
    <nav>
    <p align="center">石家庄铁道大学课程管理系统</p>
    </nav>
    <div id=Layer1 style="position:absolute; ;z-index:1;left: 0px;top:50px;">
    <table border="1"  >
    <tr bgcolor="#DCDCDC"><td></td></tr>
    <tr><td align="center" bgcolor=Aqua>课程管理</td></tr>
    <tr><td align="center"> <a href="Addclass.jsp">添加课程</a></td></tr>
    <tr><td align="center"> <a href="Showclass.jsp">查看课程信息</a></td></tr>
    <tr><td align="center"> <a href="Searchclass.jsp">查询课程信息</a></td></tr>
    </table></div>
    </body>
    </html>

     addClass.jsp:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>添加课程</title>
    </head>
    <body>
    <nav>
    <p align="center">石家庄铁道大学课程管理系统</p>
    </nav>
    <form action="Add.jsp" method="post">
    <div>
    <table style="margin:0 auto">
        <tr><td style="120px"align="right">课程名称:</td>
        <td> <input  style="80px;height:17px;" type="text" name="classname"id="classname"/></td></tr>
        <tr><td style="120px"align="right">任课教师:</td>
        <td> <input  style="80px;height:17px;" type="text" name="teachername"id="teachername"/></td>
        <td style="120px"align="left"><small>从王建民、刘立嘉、刘丹、杨子光、王辉中选择。:</small></td></tr>
        <tr><td style="120px"align="right">任课地点:</td>
        <td> <input  style="80px;height:17px;" type="text" name="classadd"id="classadd"/></td></tr>
        <tr><td><button id="anniu"  style="100px;height:30px;margin:0 auto" type="submit" >确认</button></td>
        <td><button id="anniu"  style="100px;height:30px;margin:0 auto" type="button" onclick="javascript:back();">取消</button></td></tr>
    </table>
    </div>
    </form>
    <script type="text/javascript">
    function back(){
        window.location.href="Xuanke.jsp?act=Xuanke"
    }
    </script>
    </body>
    </html>

     add,jsp:

    <%@ page import="javax.swing.*" %>
    <%@page import="Class.Shujuku"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>添加课程</title>
    <style>
    nav{ width:100%; height:20px; background:#DCDCDC ; text-align:center;}
    a {    text-decoation:none;}
    </style>
    </head>
    <body>
    <nav>
    <p align="center">石家庄铁道大学课程管理系统</p>
    </nav>
    <%
    request.setCharacterEncoding("UTF-8");
    Shujuku shu=new Shujuku();
    String newname=request.getParameter("classname");
    String newpassword=request.getParameter("teachername");
    String classaddname=request.getParameter("classadd");
    String st[][];
    st=shu.Getinformation();
    int i=0;
    boolean m=true,n=false,q=true;
    for(;st[i][0]!=null;i++){
        if(newname.equals(st[i][0])){m=false;break;}
    }
    if(newpassword.equals("王建民")||newpassword.equals("刘丹")||newpassword.equals("刘立嘉")||newpassword.equals("王辉")||newpassword.equals("杨子光"))n=true;
    if((classaddname.indexOf("基教")==-1)&&(classaddname.indexOf("一教")==-1)&&(classaddname.indexOf("二教")==-1)&&(classaddname.indexOf("三教")==-1))q=false;
    if(m==true&&n==true&&q==true){
        shu.add(newname, newpassword, classaddname);
    %>
    <script type="text/javascript">
    alert("添加成功");
    window.location.href="Xuanke.jsp?act=Xuanke"
    </script>
    <%}else{if(m==false){ %>
    <script type="text/javascript">
    alert("该课程已存在");
    window.location.href="Xuanke.jsp?act=Xuanke"
    </script>
    <%} %>
    <script type="text/javascript">
    alert("输入格式不正确");
    window.location.href="Addclass.jsp?act=Addclass"
    </script>
    <%} %>
    </body>
    </html>

    ChangeClass.jsp:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>修改课程信息</title>
    <style>
    nav{ width:100%; height:20px; background:#DCDCDC ; text-align:center;}
    </style>
    <script>
    function back(){
        window.location.href="Change.jsp?act=Change"
    }
    </script>
    </head>
    <body>
    <nav>
    <p align="center">石家庄铁道大学课程管理系统</p>
    </nav>
    <form action="Change.jsp">
    <div>
    <table align="center">
    <tr><td style="200px"align="right">请输入课程名称:</td>
        <td> <input  style="100px;height:20px;" type="text" name="classname"id="classname"/></td>
    </tr>
    <tr>
        <td style="200px"align="right">请输入新的课程名称:</td>
        <td> <input  style="100px;height:20px;" type="text" name="newclassname"id="newclassname"/></td>
    </tr>
    <tr>
        <td style="200px"align="right">请输入新的任课教师:</td>
        <td> <input  style="100px;height:20px;" type="text" name="newteachername"id="newteachername"/></td>
    </tr>
    <tr>
        <td style="200px"align="right">请输入新的任课地点:</td>
        <td> <input  style="100px;height:20px;" type="text" name="newclassaddname"id="newclassaddname"/></td>
    </tr>
    <tr>
        <td><button id="anniu"  style="100px;height:30px;margin:0 auto" type="submit" >确认</button></td>
        <td><button id="anniu2"  style="100px;height:30px;margin:0 auto" type="submit" onclick="jscripet:back();">取消</button></td>
    </tr>
    </table>
    </div>
    </form>
    </body>
    </html>

    Change.jsp:

    <%@ page import="javax.swing.*" %>
    <%@page import="Class.Shujuku"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>修改课程信息</title>
    <style>
    nav{ width:100%; height:20px; background:#DCDCDC ; text-align:center;}
    </style>
    </head>
    <body>
    <nav>
    <p align="center">石家庄铁道大学课程管理系统</p>
    </nav>
    <% 
        request.setCharacterEncoding("UTF-8");
        Shujuku shu=new Shujuku();
        String classname=request.getParameter("classname");
        String newclassname=request.getParameter("newclassname");
        String teachername=request.getParameter("newteachername");
        String classaddname=request.getParameter("newclassaddname");
        String st[][];
        st=shu.Getinformation();
        int i=0;
        boolean m=true,n=false,q=true;
        for(;st[i][0]!=null;i++){
            if(!(classname.equals(st[i][0]))&&newclassname.equals(st[i][0])){m=false;break;}
        }
        if(teachername.equals("王建民")||teachername.equals("刘丹")||teachername.equals("刘立嘉")||teachername.equals("王辉")||teachername.equals("杨子光"))n=true;
        if((classaddname.indexOf("基教")==-1)&&(classaddname.indexOf("一教")==-1)&&(classaddname.indexOf("二教")==-1)&&(classaddname.indexOf("三教")==-1))q=false;
        if(m==true&&n==true&&q==true){
        shu.update(classname, newclassname,teachername,classaddname);
    %>
    <script type="text/javascript">
        alert("修改成功");
        window.location.href="Showclass.jsp?act=Showclass"
    </script>
    <%}else{if(m==false){ %>
    <script type="text/javascript">
    alert("该课程已存在");
    window.location.href="Changeclass.jsp?act=Changeclass"
    </script>
    <%} %>
    <script type="text/javascript">
    alert("输入格式不正确");
    window.location.href="Changeclass.jsp?act=Changeclass"
    </script>
    <%} %>
    </body>
    </html>

    DelteClass.jsp:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>删除课程信息</title>
    <style>
    nav{ width:100%; height:20px; background:#DCDCDC ; text-align:center;}
    </style>
    <script>
    function back(){
        window.location.href="Change.jsp?act=Change"
    }
    </script>
    </head>
    <body>
    <nav>
    <p align="center">石家庄铁道大学课程管理系统</p>
    </nav>
    <form action="Delte.jsp">
    <div>
    <table align="center">
    <tr><td style="200px"align="right">请输入要删除的课程名称:</td>
        <td> <input  style="100px;height:20px;" type="text" name="classname"id="classname"/></td>
    </tr>
    <tr>
        <td><button id="anniu"  style="100px;height:30px;margin:0 auto" type="submit" >确认</button></td>
        <td><button id="anniu2"  style="100px;height:30px;margin:0 auto" type="submit" onclick="jscripet:back();">取消</button></td>
    </tr>
    </table>
    </div>
    </form>
    </body>
    </html>

    Delte.jsp:

    <%@ page import="javax.swing.*" %>
    <%@page import="Class.Shujuku"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>修改课程信息</title>
    <style>
    nav{ width:100%; height:20px; background:#DCDCDC ; text-align:center;}
    </style>
    </head>
    <body>
    <nav>
    <p align="center">石家庄铁道大学课程管理系统</p>
    </nav>
    <% 
        request.setCharacterEncoding("UTF-8");
        Shujuku shu=new Shujuku();
        String classname=request.getParameter("classname");
        shu.delte(classname);
    %>
    <script type="text/javascript">
        alert("删除成功");
        window.location.href="Showclass.jsp?act=Showclass"
    </script>
    </body>
    </html>

    Searchclass.jsp:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>查询课程</title>
    <style>
    nav{ width:100%; height:20px; background:#DCDCDC ; text-align:center;}
    a {    text-decoation:none;}
    </style>
    </head>
    <body>
    <nav>
    <p align="center">石家庄铁道大学课程管理系统</p>
    </nav>
    <div>
        <form action="Sharch.jsp">
            <table border="1" align="center">
            <tr><td style="120px"align="right">要查询的内容:</td>
            <td> <input  style="80px;height:17px;" type="text" name="name" id="name"/></td></tr>
            <tr><td align="center"><button id="anniu"  style="100px;height:30px;margin:0 auto" type="submit" >确认</button></td>
            <td align="center"><button id="anniu"  style="100px;height:30px;margin:0 auto" type="button" onclick="javascript:back();">取消</button></td></tr>
            </table>
        </form>
    </div>
    <script>
    function back(){
        window.location.href="Xuanke.jsp?act=Xuanke"    
    }
    </script>
    </body>
    </html>

    Seacher.jsp:

    <%@ page import="javax.swing.*" %>
    <%@page import="Class.Shujuku"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>查询课程</title>
    <style>
    nav{ width:100%; height:20px; background:#DCDCDC ; text-align:center;}
    a {    text-decoation:none;}
    </style>
    </head>
    <body>
    <nav>
    <p align="center">石家庄铁道大学课程管理系统</p>
    </nav>
    <%
    request.setCharacterEncoding("UTF-8");
    Shujuku shu=new Shujuku();
    String newname=request.getParameter("name");
    String [] []st;
    st=shu.Getinformation();
    String [][]str;
    str=new String [20][3];
    for(int i=0,j=0;st[i][0]!=null;i++){
        if(st[i][0].indexOf(newname)!=-1){str[j]=st[i];j++;continue;}
        if(st[i][1].indexOf(newname)!=-1){str[j]=st[i];j++;continue;}
        if(st[i][2].indexOf(newname)!=-1){str[j]=st[i];j++;continue;}
    }
    %>
    <div>
    <table border="1" align="center">
    <thead>
        <tr>
            <th align="center">课程名称</th>
            <th align="center">任课教师</th>
            <th align="center">任课地点</th>
        </tr>
    </thead>
    
        <%int i=0;
        while(str[i][0]!=null){%>
        <tr>
            <td align="center"><%out.print(str[i][0]); %></td>
            <td align="center"><%out.print(str[i][1]); %></td>
            <td align="center"><%out.print(str[i][2]); %></td>
    </tr>
    <%i++;} %>
        <tr align="center"><td></td>
        <td><input id="anniu"  style="100px;height:30px;margin:0 auto" type="button" onclick="javascript:back();"value="确认"></td>
        <td></td></tr>
    </table>
    </div>
    <script>
    function back(){
        window.location.href="Xuanke.jsp?act=Xuanke"    
    }
    </script>
    </body>
    </html>

    ShowClass.jsp:

    <%@ page import="javax.swing.*" %>
    <%@page import="Class.Shujuku"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>课程信息</title>
    <%
        request.setCharacterEncoding("UTF-8");
        Shujuku shu=new Shujuku();
        String [][] st;
        int i=0;
        st=shu.Getinformation();
    %>
    <script type="text/javascript">
    function change(){
        window.location.href="Changeclass.jsp?act=Change"
    }
    function delte(){
        window.location.href="Delteclass.jsp?act=Delte"
    }
    </script>
    <style>
    nav{ width:100%; height:20px; background:#DCDCDC ; text-align:center;}
    body{text-align:center} 
    </style>
    </head>
    <body>
    <nav>
    <p align="center">石家庄铁道大学课程管理系统</p>
    </nav>
    <div>
    <table border="1" align="center">
    <thead>
        <tr>
            <th align="center">课程名称</th>
            <th align="center">任课教师</th>
            <th align="center">任课地点</th>
        </tr>
    </thead>
    
        <%while(st[i][0]!=null){%>
        <tr>
            <td align="center"><%out.print(st[i][0]); %></td>
            <td align="center"><%out.print(st[i][1]); %></td>
            <td align="center"><%out.print(st[i][2]); %></td>
            <td><input id="anniu[<%=i%>]"  style="100px;height:30px;margin:0 auto" type="button" onclick="javascript:change();"value="修改"></td>
            <td><input id="anniu[<%=i%>]"  style="100px;height:30px;margin:0 auto" type="button" onclick="javascript:delte();"value="删除"></td>
    
    </tr>
    <%i++;}%>
    
    </table>
    </div>
    </body>
    </html>
  • 相关阅读:
    数据库——生成数据字典
    某物抓数据出现验证码的解析思路
    codeforces 1579G Codeforces Round #744 (Div. 3)
    10.12JDBC之DAO及其实现类
    10.06JavaWeb之PreparedStatement进行数据表CRUD练习
    10.09JavaWeb之JDBC后程
    10.06JavaWeb之PreparedStatement向表中插入Blob类型数据
    9.29JavaWeb之JDBC之查询操作流程
    9.30JavaWeb之PreparedStatement获取任意一个对象的属性值
    9.24JavaWeb之PreparedStatement
  • 原文地址:https://www.cnblogs.com/huan-ch/p/10090598.html
Copyright © 2011-2022 走看看