Java Web学习总结

本文回顾了一个多月的JSP课程学习经历,介绍了Web应用程序的三层体系结构,并探讨了HTML、JavaBean、Servlet等核心概念和技术。强调了基础的重要性及编程思维的培养。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(这是一次向学校提交的总结,创作时间为2007年10月)

我们的JSP课程终于结束。掐指算来,用一个多月的时间。 这次的课程和以往的课程有一些不同。一是,需要理解的概念、专业术语很多。比如,Java Web里引入了Web体系结构、MVC设计模式等的概念,出现了Servlet、JavaBean、Scriptlet、JSTL等无法替代的术语;二是,这次学习的内容和Internet接轨,十分实用。比如,第四章讲解了JavaMail,这是一个用来发送接收邮件的组件。学完JSP,既复习了Java的知识,又具备了做网站的能力。
回想一下这个阶段的过程。
第一章是对Web应用程序的概述。我从中了解到Web应用程序的三层体系结构:表示层、业务层、数据存取层。从而想到了学数据库设计时的数据库设计三大范式,它们同是叙述在编写代码时应做的规划和应遵循的规则,这种规划在以后的学习中时有出现,说明编程并不是一味地进行循环判断、死记硬背,而需要在技术上有所加强、在效率上有所提高。做任何事都是如此,事先必须有目标、有计划,有统筹,这样执行时才不会盲目,才不会事倍功半。学习编程对综合能力都是一种培养。
接下来学的是JSP知识。要学JSP,就必须会HTML,如果HTML学不通,这对以后的学习都是一个瓶颈。这点我有所体会。因为我对HTML掌握得比较好,在这方面没有遇到什么困难。但如果没掌握好这些知识,加上要学新知识,就会在旧难题的基础上增加新难题,两头招架,实有些吃不消。所以,基础是很重要的,基础一定要打扎实,吃透,否则上层建筑的建起就不会很顺利甚至没法起步。
然后是JavaBean。以下是个人对JavaBean的一点学习体会。JavaBean里有set()和get()方法,用这些方法能很容易地传值,逻辑上更标准,代码看起来也更规范。但set()和get()方法只是用来对属性进行操作的,所以如果是进行复杂的逻辑或对数据库进行操作等,那么就不要写成set()和get()方法,只用一个有返回值的方法就足以。这样直观方便,且符合规范。总之,set()和get()方法不要没有效率地滥定义。
接着是Servlet。一上手,我第一个感觉是,很专业、很难懂。书上介绍了一大堆接口、类、和重写的方法,一时觉得晕头转向。后来用得多、看得多了,Servlet的基本格式也记得差不多,其实也没什么难的。只要记住Servlet是一个用Java编写的应用程序,在服务器上运行,用来处理请求和响应,也可以单独做为一个Web页面,就足够了。
在EL表达式这章,我遇到了一些困难。课后作业题完成得不顺利。但通过后面的学习,我了解到,EL表达式最大的作用是在各种标签里使用。标签以外对变量的引用,用其他方法,比如JSP表达式就能够达到目的。
然后讲的是标签,包括自定义标签和JSP标准标签库。这两章的内容不太常用。因为用一般的Java代码都几乎能实现它们的功能。它们的好处是提高了代码的重用性。标准标签库里有几个比较有用的标签,比如forTokens和setBundle,这两个标签的作用是一般代码实现不了的。
最后一章是MVC设计模式。所谓MVC,就是Model(JavaBean)、View(JSP)、Controller(Servlet),和第一章讲的Web应用程序三层体系结构相呼应。结合起来,可以这样理解。Model是数据存取层,View是表示层,Controller是业务层。用这样的规则编写网站,能做到逻辑分明,代码重用度高,便于维护等。
以上就是对这阶段学习的回顾。
通过学习JSP,我了解了更多的编程概念和理念,更增强了信心,只要有克服困难的勇气和决心,就没有什么难关无法克服。我会抱着十足的勇气和决心向下一个阶段挑战。
从一期学到现在,我对Java有了一个比较具体的认识。
Java的特点是:面向对象、跨平台、可移植。面向对象的涵义是,这种语言可以形象地模拟现实生活中的实物。在面向对象的语言中,“类”是对一组实物的共同特征描述,“对象”是类的实例,同一个类的一些对象具有类所定义的共同特点。面向对象的三大特点是“封装”、“继承”和“多态”。封装的表现有三,一是它把数据成员zǔzhīzà(因为这里被屏蔽,所以用拼音)在一起,形成一个整体;二是它可以隐藏细节,简化操作,比如,声明一个JTextField类的对象,你可以实现这个API中所有的功能,但看不到这个类的代码;你可以直接调用它的setText()、getText()等方法,而不用考虑它具体是怎么实现的。三是它可以保护数据,比如,一个类里有private int age的属性,产生一个setAge(int ageTemp)的方法,在这个方法里对传入的参数进行检验,如果不符合要求,就不对age赋值。
下面,对C语言和Java作一下比较。
C语言是一个面向过程的语言,Java是一个面向对象的语言。在C语言里,行为称为函数;在Java里,行为称为方法。在C语言里,只有变量和函数;在Java里,一切逻辑由类封装,即 “万物皆对象”。C语言的struct和Java的类相似,但struct里只能有属性,而类里可以有属性和方法。所以,C语言的分工不清晰,主控程序几乎承担了全部的职责;而Java可以把方法放在类里,对象的职能很多,这些职能可以使用方法封装。举个老师讲过的例子。老师想布置作业,他把作业亲自告诉给每个学生,这样就承担了布置作业和传达作业两项任务,很累——类似于C语言;而他把作业写在一张纸上,贴出来,让学生自己去看,这样,老师只用完成布置作业的任务,而作业具体传达到每个人的任务则由学生自己完成,这样分工明晰,层次分明——类似于Java。这充分体现了面向对象的优点。
下面给大家介绍一下我的学习方法。
学习编程没别的,就是勤记忆,勤练习,勤思考。需要记忆很多,这必须要死记,没有偷懒的办法,但记的时候可以找一些规律,比如把类似的东西归在一起记忆。在练习方面,我认为,我们的教程编写得很好,例题和习题很典型,只要把书上的例子吃透,课后的习题都会做,这样就能达到掌握知识的目的,当然在后续的学习中要不时地复习前面的知识,并和新的知识对比,这样才能熟练掌握。在勤思考方面,主要的是在敲出代码的基础上debug,debug的时候,不要太急于问老师问同学,先试着自己去解决。用得最多的测试语句就是在控制台上输出想查看的变量值,比如,出现了NullPointerException的异常,就可以用System.out.println()查找是哪里出现了空值(这个方法并不能概括全部的查找NullPointerException错因的方法,只是举一个例子)。还有一点很重要,要学会理解错误提示。要做到这点,就须适当地提高英语水平。  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值