• 千锤百炼软工11.20-11.27


    首先这么长时间来,不止这个礼拜,我看了很多很多书,JAVAweb已经看完了,但是我还是不满足,我又看了很多其他的书,

    而这个礼拜我主要看了JAVAscript这本书,这本书讲的内容让我耳目一新,很多JSP中的操作都是需要javascript

    而且在这本书中我第一次接触到了CSS,也就是javaweb前端页面的开发,接触到这个之后我感到非常的新奇,于是也赶快记下了笔记,

    下面是我的笔记:

     建民在这周发了一个大作业,让我们做了一个石家庄铁道大学的选课管理系统,因为我作为一个初学者,除了练习熟练度,

    最主要的还是学习一下框架,怎么熟练地运用MVC,所以我首先就是自己写了一个这个项目的大纲,如下:

     值得一提的是,以前我用Dao连接数据库的时候,是一个过那个能写一个class,但是这次我进行了改进,我把他们每一个功能,包括打开,关闭数据库等

    全部都封装在了一个函数内。而且我的包除了servlet和Dao又多了一个service层,因为我优化了我的Dao层代码,革除里面的sql语句,我将sql语句放到了service

    里面,这样可以实现一个函数的多次使用,比如一个函数就可以实现增删改三个功能:

    public static Connection getCon() throws SQLException, ClassNotFoundException {
         Class.forName(DBDRIVER);
         Connection con = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
         return con;
    }
    /*  close sql
    *****
    ******
    *******/
    public static void close(Connection con,PreparedStatement ps,ResultSet rs,Statement stat) {
        if(rs!= null) {
            try {
                rs.close();
            }catch(SQLException e) {
                e.printStackTrace();
            }
        }
        if(stat!= null) {
            try {
                stat.close();
            }catch(SQLException e) {
                e.printStackTrace();
            }
        }
        if(ps!= null) {
            try {
                ps.close();
            }catch(SQLException e) {
                e.printStackTrace();
            }
        }
        if(con!= null) {
            try {
                con.close();
            }catch(SQLException e) {
                e.printStackTrace();
            }
        }
    }
    /* add update delete
    *****
    ******
    *******/
    public static boolean addUpdateDelete(String sql,String[] arr) {
        Connection con = null;
        PreparedStatement ps = null;
        Statement stat =null;
        ResultSet rs = null;
        try {
            con = getCon();
            ps = con.prepareStatement(sql);
            if(arr!=null&& arr.length!=0) {
                for(int i=0;i<arr.length;i++) {
                    ps.setString(i+1, arr[i]);
                }
            }
            int count = ps.executeUpdate();
            if(count>0) {
                return true;
            }else {
                return false;
            }
        }catch(ClassNotFoundException e) {
            e.printStackTrace();
        }catch(SQLException e) {
            e.printStackTrace();
        }
        close(con,ps,rs,stat);
        return false;
    }

    然后service里面:

    public class service {
        /*  add a teacher or student
         * 
         */
        public boolean addCrew(String arr[],String name){
            String sql = "insert into "+name+"(account,password,id,name,sex,college,insti) values(?,?,?,?,?,?,?)";
            boolean res = Dao.addUpdateDelete(sql, arr);
            return res;
        }
        /* add a class
         * 
         */
        public boolean addClass(String arr[]) {
            String sql = "insert into class(id,name,number,teacher) values(?,?,?,?)";
            boolean res = Dao.addUpdateDelete(sql, arr);
            return res;
        }
    /*  update messages
         * 
         */
        public boolean update(String ID,String[]arr,String ele) {
            String sql = "update teacher set "+ele+" = ? where id = ? ";
            boolean res = false;
            res = Dao.addUpdateDelete(sql, arr);
            return res;
        }

    这样就实现了一个Dao函数实现三个功能:

    然后就是学到了通过CSS编写ul>li>ul>li 这种嵌套的格式,

    以及嵌套在里面的ul>li 的显示和隐藏,并通过JAVAscript代码实现单机后显隐的控制:

    <style type="text/css">
    body{
    background-color:#eed00e0;
    }
    #navigation{
    200px;
    font-family:Arial;
    }
    #navigation > ul> li{
    border-bottom:1px solid #AD9F9;
    }
    #navigation > ul> li > a{
    display:block;
    padding:5px 5px 5px 0.5em;
    text-decoration:none;
    border-left:12px solid #7111111;
    }
    #navigation > ul> li > a:link, #navigation > ul > li > a:visited{
     background-color :#cllll36;
     color:#880020;
    }
    #navigation > ul > li > a:hover{
    background-color:#880020;
    color:#ff0000;
    }
    h1{
    color:red;
    background-color:#49ff01;
    text-align:center;
    padding:20px;
    }
    img{
    float:left;
    border:2px #F00 solid;
    margin:5px;
    }
    #navigation ul li ul{
     margin:0px;
     padding:0px 0px 0px 0px;
     display:none;
    }
    #navigation ul lu ul li{
    border-top:1px solid #ED9F9F;
    }
    #navigation ul li ul li a{
    display:block;
    padding:3px 3px 3px 0.5em;
    text-decoration:none;
    border-left:28px solid #a71f1f;
    border-right:1px solid #711515;
    }
    #navigation ul li ul li a:link, #navigation ul li ul li  a:visited{
    background-color:#c2425d;
    color:#ffff00;
    }
    #navigation ul li ul.myShow{
    display:none;
    }
    #navigation ul li ul.myHide{
    display:block;
    }
    </style>

    这是css代码

    下面是通过点击控制显隐性:

    function change(){
        var secondDiv = this.parentNode.getElementsByTagName("ul")[0];
        if(secondDiv.className=="myHide")
            secondDiv.className = "myShow";
        else
            secondDiv.className = "myHide";
    }
    window.onload = function(){
        
        var Ul = document.getElementById("listUL");
        var aLi = Ul.childNodes;
        var A;
        for(var i=0;i<aLi.length;i++){
            if(aLi[i].tagName=="LI" && aLi[i].getElementsByTagName("ul").length){
                A = aLi[i].firstChild;
                A.onclick = change;
            }
        }
    }

    这是一次非常成功的web小项目,其中很让我头疼的就是库内很多很多表的来回调用和计算,很费脑子。

    好在经过长时间的思考还是让我想出来了。

  • 相关阅读:
    VS2005 Web安装程序 创建程序菜单组
    文件夹 文件 加入/去除 Everyone全控
    [转]asp.net 部署数据库、开始菜单、桌面快捷方式实例
    身边的贵人
    AppCode下的cs类 取得相关路径
    遭遇“windows已经阻止此软件因为无法验证发行者”
    成功不是忽悠
    关于 软件注册授权 防止被大面积免费扩散 的设想
    [转]获取机器的硬件信息(CPU ID序列号, 主板信息,硬盘序列号,系统信息)
    递交辞呈之后
  • 原文地址:https://www.cnblogs.com/chaogehahaha/p/14149612.html
Copyright © 2020-2023  润新知