关于以Thinking in Java为课本的Java教与学的方法
在目前的关于java自学的讨论中,最经常看到的就是钻研《Thinking in java》(TIJ)的经验,但是,尽管使用TIJ作为教学材料的教学行为也很多,我却尚未发现有从教师关于如何将TIJ用于教学的论述。为此,我权作抛砖引玉。
首先,为什么要学习java?按照Eckel的话说,因为它是一个具有某种革命性意义的语言,即第一个“以提高开发人员的编程体验为主要目标的编程语言”,它的垃圾回收特性、可扩展性、跨平台特性等都为程序员们所称道,也为Sun公司赢得了声誉。在2002年左右的调查中,发现在北美已经有44%的程序员使用java作为主要编程语言,而且java程序员们的年薪比使用其他编程语言程序员们的年薪高(其实程序设计应被视为一门艺术,不可以用钱来衡量)。直至现在,不论在服务器/客户端(服务器/浏览器)架构的管理信息系统、复杂交互式网站,还是在将会流行的3G移动开发方面,java应用都有很好的前景。
其次,在学生已有基本的C/C++基础的情况下,应当如何教学java?
1、使用经典教材。最笨的方法其实是最聪明的方法,经典教材的学习不能速成,但其实是更快的路(http://blog.youxu.info/2009/08/06/my-undergraduate-year/)。TIJ是面向java培训的教材,在写作上较多考虑到了教学的需要。当然,有些文化上的因素需要适应中国学生,比如18页“An object provides services”一节实际上想用“服务”这个词来引导读者到“协作性”的概念,或许西方思维中确实如此,但在我们的教学中,这样讲反而会令学生产生陌生感。还有一些基础知识介绍的欠缺,比如需要补充详细的实验步骤指导。但是,除了这些缺点以外,这本书在知识点的循序渐进上还是处理得非常恰当的。而且,这本书考虑到了在讲授基本语言特性的过程中培养学生的良好编程习惯,比如它在第二章刚开始讲完第一个程序,就立即介绍文档的重要性以及如何自动生成文档等。把培养良好编程习惯纳为一个教材设计目标,这是很值得称道的。最后,这本书内涵了面向对象设计思想和编程行业的文化,这种表现很多,比如前几章开头的那些文化论述,具体的再如在介绍文档的时候,把文档自动抽取的意义定位为一个支持协作的java基础设施。我所理解的,是这些特性使得这本书成为一本国外声誉斐然,值得为之开发教学设计的英文经典教材。
&
相关文档:
这里只能从显示数据的jsp页面上导出当前页面的数据,这些数据可以从数据库读出,显示到jsp页面,然后加一段话就可把当前页面数据保存到excel里面!
如从后台过来数据显示到 showUser.jsp
然后加链接到 showExcel.jsp就可以了,在这个页面只多了几行字,其他的都不会显示包括页面!但这个页面上的数据跟showUser.js ......
一、Java源文件
1、一个Java应用包含一个或多个Java源文件,每个Java源文件只能包含下列内容(空格和注释除外)
l 零个或一个包声明语句
l 零个或多个包引入语句
l 零个或多个类声明语句
l 零个或多个接口声明
2、每个Java源文件可包含多个类或接口的定义,但是至多只有一个类或者接口是public的,而且Java源文件必须以 ......
filter元素和filter-mapping元素
<filter>过滤器元素将一个名字和实现javax.servlet.Filter的接口的类相关联。
1 新建一个类 Encoding Filter
package cn.bupt.duming.util;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.se ......
关于Java生成背景透明的png图片
最近用到Java动态生成背景透明的图片功能,从gif和png中选择了png格式,个中缘由就不说了,于是动手到网上搜索有用的代码。现把搜索结果总结如下:
1. 生成png图片
int width = 400;
int height = 300;
// 创建BufferedImage对象
BufferedImage&nb ......
package script;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
public class Change {
public static void main(String[] args) throws Exception {
Change c = new Change();
c.utf8toLocaleCode();
&n ......