二阶段项目总结

在做项目的这段时间里,发现遇见了好多之前没有预料到的问题,有的时候,因为一个小问题,纠结了好久好久。

一、项目期间出现的问题:

1、数据库的分析,建立,这个问题就出现了好几个问题,首先表与表的关系、表中各项的数据类型,整理的并不是很好。

2、后端的代码,总是出现各种错误,无论是DAO层还是Severlet层,这里面写的时候,并没有用多长时间,但是写完之后的调用,出现了之前始料未及的各种bug,找起来特别的麻烦

3、DAO层的构建,都是每次需要一个方法的时候,现去添加一个新的方法,导致后期整合的时候,出现了代码冗余 。 好几次,改了前段的代码之后,DAO层里的个别方法,用不上,还不敢去删,因为不知道哪里会不会调用的到。

4、再说说前端、模板里面的功能其实很多很多,但是我们真正实现的,缺很少很少,导致整个项目显得有点空。

5、整合的时候,出现了好多的bug,不是这里出了问题,就是那里出了问题,最后调试的时候浪费了太多的时间。

6、js代码几乎没怎么用,因为都忘得差不多了,每次写出来,总是出现一系列的问题,最后干脆直接就没怎么写。

7、过滤器,乱码过滤,直接复制的原来的代码,如果要重新手写的话,可能还是写不出来,地址过滤的时候,出现了一个小插曲,卡了我一晚上,也没找到原因,地址是过滤了,但是样式表和JS代码,怎么样都是不执行,最后加了点东西   (虽然不是很明白怎么回事,但是知道是哪里的代码实现的)

package com.filter;

import java.io.IOException;
import java.util.*;


import javax.servlet.*;
import javax.servlet.http.*;


public class DiZhiGuoLv implements Filter {

     ArrayList<String> list=new ArrayList<String>();
    @Override
    public void destroy() {
        // TODO 自动生成的方法存根

    }

    @Override
    public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
            throws IOException, ServletException {
        
        HttpServletRequest request=(HttpServletRequest)arg0;
        HttpServletResponse response=(HttpServletResponse)arg1; 
        
        String s1=request.getRequestURI();
        String s2=request.getContextPath();
        String s3=s1.substring(s2.length()); 
        
         if(s1.contains(".css") || s1.contains(".min.js") ||     s1.contains(".png")|| s1.contains(".jpg")){      //这个判断就是过滤css样式表的
               
            arg2.doFilter(request, response);
          }
         else{

                if(list.contains(s3)){
                     arg2.doFilter(request, response); 
                }
                else{
                    HttpSession session=request.getSession();
                    
                    if(session.getAttribute("adminuser")==null){
                        
                        response.sendRedirect("login.jsp");
                         
                    }else{
                        
                        arg2.doFilter(request, response); 
                    }
                }
         }

        
        
        
        

    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {
        // TODO 自动生成的方法存根
        String values=arg0.getInitParameter("fangwen"); 
          String[] str=values.split(","); 
          list.addAll(Arrays.asList(str));
         
        
        

    }

}
    

二、项目期间的收获:

1、从一开始敲代码的速度到最后整合起来的速度比 ,  前期敲代码的速度简直是龟速,找错能力明显提升了很多,好多时候自己能找到一些明显的错误了,知道该怎么去处理错误了。

2、业务流程实现的不怎么好,但是后台代码和前段页面的结合 ,多少有些感悟了,至少比以前了解页面如何与后端实现交互的了。

3、整合代码时出现的页面的小bug,可以将核心代码复制出来,其他一样的代码复制过来,确定一下哪里的代码出现的问题。

4、用了一次ajax,虽然实现的功能很简单,但是对其理解更多了些。

5、和之前静态页面一样,小组项目之所以叫小组项目,是因为,一个项目并不是由一个人独立完成的,需要的是大家相互之间的沟通,沟通好了,或许你卡住的地方正是别人熟知的地方,可以省去很多时间。

6、有事找百度,不管是遇见了不懂的单词,或者是不懂的技术,很多时候都可以查得到(虽然偶尔有些搜出来的结果跟我们需要的东西并不是很一致,但是多找找总会有所收获)

三、项目总结:

1、还有很多不足的地方,需要巩固,无论是前端,还是后端,经常需要一边查资料一边写。如果可以的话,尽量摆脱这些束缚,真正可以 自己写出来。

2、需要查资料的时候,一定要确定自己要找的是什么,抓住核心,不然找到的东西,很多都是用不到的,很浪费时间(学会高效的查询资料)。

3、写代码的时候,一定要认真,很多时候就是因为代码敲错了,或者漏写了或者拼写错误,废了好大劲才找到原因。

4、变量命名方式需要改一改,有的时候自己都不知道自己写的代码执行的是什么。

5、注释要多一些,写了之后自己才能知道某块代码执行的是什么

6、需要再多整理一些以后可能会需要的东西,以后真正需要用的时候,才能找得到。

原文地址:https://www.cnblogs.com/zhaotiancheng/p/6481456.html