0%

中期练习总结

2017年9月12日 下午5:26

JSP页面实现批量删除数据 - 饮冰室人的博客 - CSDN博客

概述

  • 前面的笔记是针对于入门知识点的,而这篇笔记针对于功能
  • 同时,这篇是希望以后忘了之后,看这篇文章能快速找到一个写servlet+jsp项目的正确的思路
  • 中期项目名字是MVCDemo

常用几个小功能的总结

(我这里没有听,我觉得自己看看也就会了,需要使用这个功能的时候去对应的项目去找源代码就行了)

ajax注意点

  1. get 中文乱码,出现中文的时候使用post来解决
  2. Post 可以设置请求头 和 请求体
    ajax.txt

    下载

  3. 下载时文件名容易出现中文乱码,关于这个问题有统一的解决方案
    下载.txt
    下载 1.txt

中期练习(最后有总结)


效果图1

效果图2

我先说说我在拼凑整个基础项目过程中遇到的问题,这里有已经解决的,还有没有解决的问题。其次,我在把各个功能简单的介绍一下,方便以后回忆。

在拼凑功能时遇到的问题

  1. 添加分页功能时(包括ajax)
    1. 首先我上来就抄,没有思考一下
      1. 这个功能是否依赖于jar?
        1. 依赖于那些架包?
      2. 依赖于那些实体类、servlet等.java文件?
      3. 他使用的视图jsp文件是那个?
    2. 我直接就是看见那个就粘贴复制那个,造成了很多没见过的异常,其实总结来说一句话“少东西”。在这个过程中不断的增长补补,一次次的启动服务器,很是浪费时间。
    3. 总结:抄,也要讲究思路,不要认为简单,自己也要认真的分析一次。
  2. 使用ajax来实现每页显示条数
    1. 使用ajax造成的问题
    2. 我的确通过ajax实现了将数据的取回并动态刷新了中的数据
    3. 但是此时的分页条处理我们手选的那个每页显示,分页条中的其他内容其实是没有变的。这就是数据和分页条数据显示不同步
    4. 我现在没时间解决他了,先写下来,以后有时间了整体重新写一下
      1. 我试过方法将include指令写在ajax中,但是会报错,因为这里使用了jsp指令,这个指令是不会等你js的function触发了之后才执行,他在jsp页面在jvm处理的时候就执行了,这时候还没有给了用户。
      2. 由于这里变成了一个递归所以就会不停地报错,shit。
      3. /* str+=“<div align=‘center’><jsp:include page=‘/page.jsp’></jsp:include></div>" */
    5. 出现这个问题的根本原因是:没有考虑ajax异步刷新会造成数据不同步,造成在设计的时候没有考虑,最后完成后才发现,想改都不知道去哪下手,还不如重新。
  3. 当在一个查询页面加入批量删除,ajax,分页,模糊查询时,这些功能一定会相互影响,我这里就举例说了。因为,这些问题造成的原因还是我没有进过系统的分析,就急急忙忙的想完成任务。最后自己看的都恶心。

从分页(page)中学习到的编程思路

  1. 封装实体对象page.java,让对象作为传递的信息的信使,解决了信息传递不方便的情况,不用一个个传了
  2. 其中这个page对象与视图中的分页栏可以理解成是同一个东西。分页栏就是去除了page对象的内容而已。
  3. 封装page对象可以使得业务分层。当我们知道分页栏其实就是page对象时,我们在编码的时候就不用考虑视图层的内容了,只需考虑“我们的数据源有哪些(视图层传入),这些数据源如处理,并将处理的数据给了page实体对象然他保存,最后通过要返回的数据是page对象和借助page对象让sql查询出的数据集。”
  4. 这个思维的核心就是掌握了我有哪些数据,我要输出哪些数据
  5. 当然这也是写servlet的一个主要思维,page实体对象在这个过程中可以理解成一个小小的技巧吧。

中期练习总结:

  1. 写项目时一定要经过严密的思考,尽可能的想清楚们一点。
    1. 思考的时间一定要超过编码时间。
  2. 写Servlet的主要思维
    1. 掌握了我有哪些数据,我要输出哪些数据
    2. 我(servlet)是老大,我下面是有人的,可不能自己干活,我指挥指挥就行了