zoukankan      html  css  js  c++  java
  • 今日收获

    1

        1. DBUtil:

    复制代码
    package DBUtil;
    
    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 DBUtil {
    
        public static String db_url = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC";
        public static String db_user = "root";
        public static String db_pass = "08301016";
    
        public static Connection getConn () {
            Connection conn = null;
    
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
                conn = DriverManager.getConnection(db_url, db_user, db_pass);
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            return conn;
        }//end getConn
    
        public static void close (Statement state, Connection conn) {
            if (state != null) {
                try {
                    state.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        public static void close (ResultSet rs, Statement state, Connection conn) {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
            if (state != null) {
                try {
                    state.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        public static void main(String[] args) throws SQLException {
            Connection conn = getConn();
            PreparedStatement pstmt = null;
            ResultSet rs = null;
            String sql ="select * from mmm";
            pstmt = conn.prepareStatement(sql);
            rs = pstmt.executeQuery();
            if(rs.next()){
                System.out.println("连接成功");
            }else{
                System.out.println("连接失败");
            }
        }
    }
    复制代码

        这个函数的代码代表与数据库进行连接:

         public static String db_url = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC";

    这行代码中代表数据库的地址,其中test代表数据库的名称
        public static String db_user = "root";
        public static String db_pass = "08301016";

    这两行代码表示用户名及密码(数据库的)
        String sql ="select * from mmm";

    这一行代码为sql语句,其中的 mmm 代表数据库中表的名称
    2.domain类:
    复制代码
    package domain;
    
    public class Course {
    
        private String name;
        private String teacher;
        private String classroom;
         
    
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getTeacher() {
            return teacher;
        }
        public void setTeacher(String teacher) {
            this.teacher = teacher;
        }
        public String getClassroom() {
            return classroom;
        }
        public void setClassroom(String classroom) {
            this.classroom = classroom;
        }
         
        public Course() {}
         
        public Course(String name, String teacher, String classroom) {
            
            this.name = name;
            this.teacher = teacher;
            this.classroom = classroom;
        }
    }
    复制代码

      这个类比较简单,就是关于课程的一些数据成员和方法。

    3.Dao层:

    复制代码
    package Dao;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    
    import DBUtil.DBUtil;
    import domain.Course;
     
    
    public class CourseDao {
         
        /**
         * 添加
         * @param course
         * @return
         */
        public boolean add(Course course) {
            String sql = "insert into mmm(name, teacher, classroom) values('" + course.getName() + "','" + course.getTeacher() + "','" + course.getClassroom() + "')";
            Connection conn = DBUtil.getConn();
            Statement state = null;
            boolean f = false;
            int a = 0;
             
            try {
                state = conn.createStatement();
                state.executeUpdate(sql);
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                DBUtil.close(state, conn);
            }
             
            if (a > 0) {
                f = true;
            }
            return f;
        }
    }
    复制代码

      DAO层一般有接口和该接口的实现类,接口用于规范实现类,实现类一般用于用于操作数据库! 一般操作修改,添加,删除数据库操作的步骤很相似,就写了一个公共类DAO类 ,修改,添加,删除数据库操作时直接调用公共类DAO类。

    4.servlet:

    复制代码
    package servlet;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import Dao.CourseDao;
    import domain.Course;
    
    /**
     * Servlet implementation class AddServlet
     */
    @WebServlet("/addServlet")
    public class AddServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public AddServlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            request.setCharacterEncoding("utf-8");
            String name =request.getParameter("name");
            String teacher = request.getParameter("teacher");
            String classroom =request.getParameter("classroom");
            Course course = new Course(name, teacher, classroom);
            CourseDao cd = new CourseDao(); 
            //添加后消息显示
            if(cd.add(course)) {
                request.getRequestDispatcher("aaa.jsp").forward(request,response);
            } else {
                request.getRequestDispatcher("aaa.jsp").forward(request,response);
            }
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            doGet(request, response);
        }
    
    }
    复制代码

          建立servlet,获取前段传入数据

    5.jsp界面:

    复制代码
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <style>
        .a{
            margin-top: 20px;
        }
        .b{
            font-size: 20px;
             160px;
            color: white;
            background-color: greenyellow;
        }
    </style>
    </head>
    <body>
        <%
             Object message = request.getAttribute("message");
             if(message!=null && !"".equals(message)){
          
        %>
             <script type="text/javascript">
                  alert("<%=request.getAttribute("message")%>");
             </script>
        <%} %>
        <div align="center">
            <h1 style="color: red;">课程信息录入</h1>
            <a href="index.jsp">返回主页</a>
            <form action="${pageContext.request.contextPath }/addServlet" method="post" onsubmit="return check()">
                <div class="a">
                    课程名称<input type="text" id="name" name="name"/>
                </div>
                <div class="a">
                    任课教师<input type="text" id="teacher" name="teacher" />
                </div>
                <div class="a">
                    上课地点<input type="text" id="classroom" name="classroom" />
                </div>
                <div class="a">
                    <button type="submit" class="b">保   存<tton>
                </div>
               <tr>
                    <td>学历:</td>
                    <td>
                        <input type="radio"name="degree"value="专科">专科
                        <input type="radio"name="degree"value="本科"checked>本科
                        <input type="radio"name="degree"value="硕士研究生">硕士研究生
                        <input type="radio"name="degree"value="博士研究生">博士研究生
                        <input type="radio"name="degree"value="其他">其他
                    </td>
                </tr>
            </form>
        </div>
        <script type="text/javascript">
            function check() {
                var name = document.getElementById("name");;
                var teacher = document.getElementById("teacher");
                var classroom = document.getElementById("classroom");
                 
                //非空
                if(name.value == '') {
                    alert('课程名称为空');
                    name.focus();
                    return false;
                }
                if(teacher.value == '') {
                    alert('教师为空');
                    teacher.focus();
                    return false;
                }
                if(classroom.value == '') {
                    alert('上课地点为空');
                    classroom.focus();
                    return false;
                }
                 
                //教师
                if(teacher.value != '王建民' && teacher.value != '王辉' && teacher.value != '刘丹' && teacher.value != '刘立嘉' && teacher.value != '杨子光'){
                    alert('教师名称错误');
                    return false;
                }
                 
                //教室
                if(!/^基教/.test(classroom.value) && !/^一教/.test(classroom.value) && !/^二教/.test(classroom.value) && !/^三教/.test(classroom.value)) {
                    alert('上课地点错误');
                    return false;
                }
            }
                </script type="text/javascript">
    复制代码

      制作前段界面的代码

    2

       对每个函数的使用方法不明白

    3

       明天继续学习Javaweb

  • 相关阅读:
    HDU 5642 King's Order 动态规划
    HDU 5640 King's Cake GCD
    HDU 5641 King's Phone 模拟
    HDU 5299 Circles Game 博弈论 暴力
    HDU 5294 Tricks Device 网络流 最短路
    HDU 5289 Assignment rmq
    HDU 5288 OO’s Sequence 水题
    星际争霸 虚空之遗 人族5BB 操作流程
    Codeforces Beta Round #3 D. Least Cost Bracket Sequence 优先队列
    Codeforces Beta Round #3 C. Tic-tac-toe 模拟题
  • 原文地址:https://www.cnblogs.com/feng747/p/14156929.html
Copyright © 2011-2022 走看看