第一篇:java学习心得笔记
j2ee学习笔记
注:框架可以用word菜单中的 “视图/文档结构图” 看到
j2ee模式
value object(值对象)用于把数据从某个对象/层传递到其他对象/层的任意java对象。
通常不包含任何业务方法。
也许设计有公共属性,或者提供可以获取属性值的get方法。
jsp
1.jsp的基础知识
__
_____ |directive(指令)
| |-- scripting (脚本)
jsp -------| |__ action(动作)
|
|_____template data :除jsp语法外,jsp引擎不能解读的东西
1)在jsp中使用的directive(指令)主要有三个:
a) page指令
b) include指令
c) taglib指令
在jsp的任何地方,以任何顺序,一个页面可以包含任意数量的page指令
2)scripting(脚本)包括三种类型
a) <%!declaraction%>;
b) <%scriptlet %>;
c) <%= expression%>;
3)action(动作)
标准的动作类型有:
a)<jsp:usebean>;
b)<jsp:setproperty>;
d) <jsp:getproperty>;
e) <jsp:param>;
f) <jsp:include>;
g) <jsp:forward>;
h) <jsp:plugin>;
1. 注释: <% -----jsp comment-------%>;
<! -----html comment-------%>;
2. <%@ page session = “true”import =”java.util.*” %>;
session可以不赋值,默认为true,如果session=”false”,则在jsp页面中,隐含的变量session就不能使用。
3. 请求控制器结构(request controller)
也被称之为jsp model 2 architecture
这种途径涉及到使用一个servlet或一个jsp作为一个应用程序或一组页面的入口点。
为创建可维护的jsp系统,request controller是最有用的方式之一。
不是jsp,而是java类才是放置控制逻辑的正确的地方。
请求控制器的命名模式为: xxxcontroller.jsp
请求控制器类的命名模式为: xxxrequestcontroller
2.jsp中的javabean
jsp三种bean的类型
1) 页面bean
2) 会话bean
3) 应用bean
大多数的系统会使用一个会话bean来保持状态,而对每一个页面使用一个页面bean 来对复杂的数据进行表示。
页面bean是一个模型,而jsp是一个视图。
3.custom tag
bean是信息的携带者,
而tag更适用于处理信息。
标记库包含一个标记库描述符(tld)和用于实现custom tag的java类
在翻译阶段,jsp容器将使用tld来验证页面中的所有的tag是否都被正确的使用。
标记处理程序只是一个简单的适配器,而真正的逻辑是在另一个类中实现的,标记处理程序只是提供了一个供其他的可复用的类的jsp接口
servlet
1.servletconfig
 一个servletconfig对象是servlet container在servlet initialization的时候传递给servlet的。
servletconfig包涵 servletcontext 和 一些 name/value pair (来自于deployment descriptor)
 servletcontext接口封装了web应用程序的上下文概念。
2.会话跟踪
1) session
 当一个client请求多个servlets时,一个session可以被多个servlet共享。
 通常情况下,如果server detect到browser支持cookie,那么url就不会重写。
2) cookie
 在java servlet中,如果你光cookie cookie = new cookie(name,value)
那么当用户退出browser时,cookie会被删除掉,而不会被存储在客户端的硬盘上。
如果要存储 cookie,需加一句cookie.setmaxage(200)
 cookie是跟某一个server相关的,运行在同一个server上的servlet共享一个cookie.
3) url rewriting
在使用url rewriting来维护session id的时候,每一次http请求都需要encodeurl()
典型的用在两个地方
1) out.print(“form action=” ”);
out.print(response.encodeurl(“sessionexample”));
out.print(“form action=” ”);
out.print(“method = get>;”);
2) out.print(“<p>;<a href=” ”);
out.prin ……此处隐藏21313个字……态)
a) 封装(private):主要是set方法与get方法合作应用
b) 继承(extends):注意访问权限,看看是否能继承!
c) 多态:父类引用或者接口的引用指向了自己的子类对象,
eg(动物——1.食草动物2.食肉动物——老虎,狮子,狗);
11. 抽象类与接口
a) 抽象类(abstract)特点:1.不能new2.可以由抽象方法(但
是非抽象类不能有抽象方法)
b) 接口(interface声明)
i. 接口使用(implements):一个类可以实现一个或多个
接口,用逗号隔开。
ii. 接口强调的是功能:has——a的问题!
12. 多线程(thread类与runable接口)
a) 主要方法:
i.
start()启动线程
ii.
iii.
iv. run()程序运行的方法,功能实现区域 sleep()休眠,使程序处于休眠状态 interrupt()吵醒:吵醒处于休眠状态的程序,使进入正
常状态;
b) 线程同步(synchronized锁)关键在于this与object的区别,
各自使用的范围与坏境。
13. 流(input/output)
a) 分类:主要是字节流与字符流,还有缓冲流,数据流,对
象流……
b) 方法都差不多:主要是writer()与read()还有各自对应的数
组应用!
c) 出现乱码时注意你用的流是否合适以及你使用的编码格式
以否可以支持
14. 套接字(socket)
a) 主要功能就是通信(安全的)(利用port进行连接)
b) 利用流连接进行通信,数据传送
15.……还有好多,自己慢慢研究吧!java博大精深!
三、 我们在学习中的那些难题?
1. 总是遇到难以理解的东西?
2. 总是以为自己回了,但是又写不出来?
3. 总是觉得问题很难,但是经过别人的指点就会觉得好简
单?
第五篇:学习java的心得体会
我是今年3月份接触java的,其实上大学以前就买过java的书,但没进去,因为那个时候我在学习vb,对于java代码类c的编写方式不是很习惯,所以就没有认真的看。为什么最后好是学习java了呢。是因为我看到用java构建的web应用程序很不错,实现的功能也很多,在现在的网络社会里,肯定会有一番作为,而且我已经忍受不了m$的代码封锁,所以转投java了。
学习java已经8个月了,在这里跟大家说下心得,我刚开始是看<<thinking in java>> 第三版,因为学校没开java课,所以几乎全是自学,用了将近二个月的时间把这本大书啃完,感觉这书不错,但也有很多人说这书不好,的确这书不是按常规的顺序讲的,内容跳跃性强,但讲的很深入,比较适合有cc++基础的人看,这书看完,你就算基本掌握 java的基础了,也就j2se部分。
现在java分三大部分基础,从大到小排列:j2ee, j2se, j2me!
j2ee:这个就是现在最流行,也很java技术用的最多的地方,java企业应用,要学好它,首先就要有java的基础,这是最基本的,然后学习servlet,jsp,javabean以及基本的mvc结构,当然还有其他辅助知识,比如js,html还有一个对数据库的操作,这些都需要时间来学习,学完这些后基本就可以做些简单的web应用程序了,比如模拟一个小的网上银行等等,但做出来后肯定不易维护,因为刚才说的都是技术的性的东西,还需要学些思想性的东西,那就是设计模式,它是对一些解决特定问题的指导,并不是解决问题的方法,现在认可的设计模式一共有23种,在j2ee里除了这23种外还有几种,我还不太了解,我认为设计模式方面的书《设计模式-可复用面向对象软件的基础》英文名《design patterns-elements of reusable object-oriented software》这是提出设计模式那4为大牛写的,此书非常的抽象,使用语言是c++和smalltalk,有勇气和有基础的人可以尝试一下。
j2se:java技术的基础,很多基础都是先从介绍它开始,它和j2ee的区别就是jdk不同,j2ee比j2se的jdk要大一些,多一些类包,但那些是在j2se中用不到的,j2se不光是基础,也是java技术的一个应用方向,就是利用swing开发桌面应用程序,但在windows平台上,m$的地位是无法撼动的,再加上swing开发起来不是很容易,所以在j2se领域上,java一直处于劣势,发展很慢,说到j2se就一定要下eclipse,在别人眼里,eclipse只不过是一个java的ide,但那只是eclipse的冰山一角,其实eclipse是一个大的平台,暂可以把它比喻成windows,我们可以利用winapi去开发在windows上运行的程序,eclipse也可以,我们称为eclipse插件开发,现在这项技术也在慢慢兴起,有些公司已经有应用的项目,eclipse用的是自己开发的gui包,就是swt/jface,其实跟swing是一样的,都是由java写的,但一个是sun写的,一个ibm写的,swt/jface用的本地的资源,所以运行起来很快,界面也可以做的非常漂亮,而且移植也做的很不错,所以eclipse插件可以很容易的移植到linux上,相信这项技术一定很有发展。
学习java的心得体会(2):
暑期在和一个老师做项目,前期老师教学,做java web方面的,类似于当当购物系统这种...突然发现,原来之前看的《think in java》等书并不够,很多面向开发的技术和模块包括工具从知识到技术上都很欠缺。
现在有几个疑惑,想在小组向各位求助,希望帮忙。
1.首先我想知道是不是做java一般都是web挂钩,例如现在的jsp,ssh和html语句和应用都很好的结合,除了web方面,软件项目方面有没有一个比较明确的方向,如果有,可以告之小弟么~
2.我听说做web方面,应该先学jsp,html,再学mvc,不然很容易本末倒置,那ssh这样的技术学习,有没有一个比较明确的先后顺序。
3.java ee这样的一个学习过程,能不能有一个比较好学习心得可以推荐。我有一定的java基础,可以编写一些java小程序,但是到了web这些方面,思维总是不够清晰,很容易混乱,对象方法和类之间总是不能很好的去扩展。希望各位帮帮忙,介绍一些学习心得,包括学习java技术的顺序,并推荐一些书吧。