建议报一个培训班,都是零基础入学的,这是网络编程的全部课程,要是感兴趣的话可以了解一下:
第一阶段
1、计算机操作基础
2、Office办公自动化
3、计算机组装与维护
4、C语言
第二阶段
1、SQL Server2005数据库设计
2、和高级查询
3、数据结构
4、C#面向对象程序设计
5、HTML5与CSS3开发
6、JavaScript
7、jQuery高级编程
8、PHP开发
第三阶段
APP Development
1、JavaScript特效制作
2、jQuery应用开发
3、HTML5与CSS3开发
4、Java面向对象程序设计
第四阶段
JAVAWEB Development
1、产品流程应用
2、移动平台界面设计
3、Oracle数据库开发
4、JavaWeb应用开发
Mobile APP Development
1、实训一:WEB前端设计与开发
2、实训二:J2EE项目开发
② java网络编程方向具体该怎么去学。。。
Java前景是很不错的,像Java这样的专业还是一线城市比较好,师资力量跟得上、就业的薪资也是可观的,学习Java可以按照路线图的顺序,
0基础学习Java是没有问题的,关键是找到靠谱的Java培训机构,你可以深度了解机构的口碑情况,问问周围知道这家机构的人,除了口碑再了解机构的以下几方面:
1. 师资力量雄厚
要想有1+1>2的实际效果,很关键的一点是师资队伍,你接下来无论是找个工作还是工作中出任哪些的人物角色,都越来越爱你本身的技术专业java技术性,也许的技术专业java技术性则绝大多数来自你的技术专业java教师,一个好的java培训机构必须具备雄厚的师资力量。
2. 就业保障完善
实现1+1>2效果的关键在于能够为你提供良好的发展平台,即能够为你提供良好的就业保障,让学员能够学到实在实在的知识,并向java学员提供一对一的就业指导,确保学员找到自己的心理工作。
3. 学费性价比高
一个好的Java培训机构肯定能给你带来1+1>2的效果,如果你在一个由专业的Java教师领导并由Java培训机构自己提供的平台上工作,你将获得比以往更多的投资。
希望你早日学有所成。
③ JAVA网络编程基础应用练习,200分! 大家帮我做一下。 谢谢了 就是我服务端有一些学生信息。
一下代码仅作参考 swing界面使用NetBeans生成的
ClientView.java见附件
Client.java
package;
importjava.io.DataInputStream;
importjava.io.DataOutputStream;
importjava.io.IOException;
importjava.net.Socket;
publicclassClient{
privateClientViewclientView;
privateSocketsocket;
privateDataInputStreamdis;
privateDataOutputStreamdos;
publicClient(){
clientView=newClientView(this);
clientView.setVisible(true);
}
publicClientViewgetClientView(){
returnclientView;
}
publicvoidsetClientView(ClientViewclientView){
this.clientView=clientView;
}
publicstaticvoidmain(String[]args){
newClient();
}
publicSocketgetSocket(){
returnsocket;
}
publicvoidsetSocket(Socketsocket){
this.socket=socket;
}
/**
*连接服务器
*@return成功返回true否则返回false
*/
publicbooleanconnectServer(){
try{
socket=newSocket("127.0.0.1",8853);
dis=newDataInputStream(socket.getInputStream());
dos=newDataOutputStream(socket.getOutputStream());
}catch(IOExceptione){
e.printStackTrace();
returnfalse;
}
returntrue;
}
/**
*从服务端读取消息
*@return成功返回对应的字符串否则返回null
*/
publicStringgetMessage(){
Stringresult;
try{
result=dis.readUTF();
}catch(IOExceptione){
e.printStackTrace();
returnnull;
}
returnresult;
}
/**
*发送消息到服务端
*@parammessage
*@return
*/
publicbooleansendMessage(Stringmessage){
try{
dos.writeUTF(message);
}catch(IOExceptione){
e.printStackTrace();
returnfalse;
}
returntrue;
}
/**
*把字符串解码成学生类
*
*@params
*@return
*/
publicStudentdeCode(Strings){
String[]ss=s.split(",");
Studentstudent=newStudent(Integer.parseInt(ss[0]),ss[1],Integer.parseInt(ss[2]),ss[3],ss[4]);
returnstudent;
}
}
Server.java
package;
importjava.io.DataInputStream;
importjava.io.DataOutputStream;
importjava.io.IOException;
importjava.net.ServerSocket;
importjava.net.Socket;
importjava.util.Collection;
importjava.util.HashMap;
importjava.util.Iterator;
importjava.util.Map;
publicclassServer{
privateintport;
privateStringip;
;
privateSocketsocket;
privateDataInputStreamdis;
privateDataOutputStreamdos;
privateMap<Integer,Student>studentMap;
/**
*下一个新学生的学号
*/
privatestaticintnextId=101;
publicServer(intport)throwsIOException{
this.port=port;
serverSocket=newServerSocket(port);
studentMap=newHashMap<>();
studentMap.put(101,newStudent(101,"吴冰",25,"男","04软件3班"));
studentMap.put(102,newStudent(102,"曾小梅",21,"女","01软件4班"));
studentMap.put(103,newStudent(103,"廖蒋龙",22,"男","01软件1班"));
studentMap.put(104,newStudent(104,"李世强",24,"男","04软件2班"));
studentMap.put(105,newStudent(105,"曹鹏",20,"男","01软件2班"));
studentMap.put(106,newStudent(106,"卢刚",23,"男","01软件3班"));
studentMap.put(107,newStudent(107,"吴伟坚",20,"男","04软件3班"));
nextId+=studentMap.size();
}
publicintgetPort(){
returnport;
}
publicvoidsetPort(intport){
this.port=port;
}
publicStringgetIp(){
returnip;
}
publicvoidsetIp(Stringip){
this.ip=ip;
}
(){
returnserverSocket;
}
publicvoidsetServerSocket(ServerSocketserverSocket){
this.serverSocket=serverSocket;
}
publicMap<Integer,Student>getStudentMap(){
returnstudentMap;
}
publicvoidsetStudentMap(Map<Integer,Student>studentMap){
this.studentMap=studentMap;
}
publicSocketgetSocket(){
returnsocket;
}
publicvoidsetSocket(Socketsocket){
this.socket=socket;
}
publicDataInputStreamgetDis(){
returndis;
}
publicvoidsetDis(DataInputStreamdis){
this.dis=dis;
}
publicDataOutputStreamgetDos(){
returndos;
}
publicvoidsetDos(DataOutputStreamdos){
this.dos=dos;
}
publicSocketaccept()throwsIOException{
socket=serverSocket.accept();
System.out.println("客户端"+socket.getRemoteSocketAddress()+"连接上来了.");
dis=newDataInputStream(socket.getInputStream());
dos=newDataOutputStream(socket.getOutputStream());
returnsocket;
}
publicStringreadUTF()throwsIOException{
returndis.readUTF();
}
publicbooleansendMessage(Stringmessage){
try{
dos.writeUTF(message);
}catch(IOExceptione){
e.printStackTrace();
returnfalse;
}
returntrue;
}
publicstaticvoidmain(String[]args){
Serverserver;
try{
server=newServer(8853);
server.accept();
Stringmessage="";
while(!message.equals("quit")){
try{
message=server.readUTF();
System.out.println(message);
}catch(IOExceptione){
server.close();
//e.printStackTrace();
System.out.println("接收客户端命令时出错,客户端可能已经关闭.");
break;
}
server.doCommond(message);
}
}catch(IOExceptione){
e.printStackTrace();
System.exit(-1);
}
}
publicvoidclose(){
try{
if(dis!=null){
dis.close();
}
if(dos!=null){
dos.close();
}
if(socket!=null){
socket.close();
}
if(serverSocket!=null){
serverSocket.close();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
/**
*服务端与客户端的交互处理方法
*
*@parammessage
*@return
*/
publicbooleandoCommond(Stringmessage){
if(message.startsWith("getAll")){
/**
*查询所有学生
*/
Stringresult="";
Collection<Student>students=studentMap.values();
Iterator<Student>studentIte=students.iterator();
while(studentIte.hasNext()){
result+=studentIte.next().coding();
}
returnsendMessage("true:"+result);
}elseif(message.startsWith("getStu:id=")){
/**
*按学号查找
*/
intid;
try{
id=Integer.parseInt(message.substring(10));
}catch(NumberFormatExceptione){
sendMessage("false:参数不合法");
e.printStackTrace();
returnfalse;
}
Studentstudent=studentMap.get(id);
if(student==null){
sendMessage("false:不存在此学生");
returnfalse;
}else{
sendMessage("true:"+student.coding());
}
returntrue;
}elseif(message.startsWith("addStu:{")){
/**
*添加学生信息
*/
StringstuMessage=message.substring(message.indexOf("{")+1,message.indexOf("}"));
Studentstudent=deCode(stuMessage);
student.setId(nextId);
nextId++;
studentMap.put(student.getId(),student);
Stringresult="";
Collection<Student>students=studentMap.values();
Iterator<Student>studentIte=students.iterator();
while(studentIte.hasNext()){
result+=studentIte.next().coding();
}
returnsendMessage("true:"+result);
}elseif(message.startsWith("updateStu:{")){
/**
*更新学生信息
*/
StringstuMessage=message.substring(message.indexOf("{")+1,message.indexOf("}"));
Studentstudent=deCode(stuMessage);
if(studentMap.get(student.getId())==null){
sendMessage("false:不存在该学号.");
returnfalse;
}
studentMap.put(student.getId(),student);
sendMessage("true");
returntrue;
}else{
System.out.println("没有对应的命令");
returnfalse;
}
}
/**
*把字符串解码生学生类
*
*@params
*@return
*/
publicStudentdeCode(Strings){
String[]ss=s.split(",");
Studentstudent=newStudent(Integer.parseInt(ss[0]),ss[1],Integer.parseInt(ss[2]),ss[3],ss[4]);
returnstudent;
}
}
classStudent{
privateintid;
privateStringname;
privateintage;
privateStringsex;
privateStringclassName;
publicStudent(intid,Stringname,intage,Stringsex,StringclassName){
super();
this.id=id;
this.name=name;
this.age=age;
this.sex=sex;
this.className=className;
}
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
publicStringgetSex(){
returnsex;
}
publicvoidsetSex(Stringsex){
this.sex=sex;
}
publicStringgetClassName(){
returnclassName;
}
publicvoidsetClassName(StringclassName){
this.className=className;
}
@Override
publicStringtoString(){
return"{"+id+","+name+","+age+","+sex+","+className+"}";
}
/**
*编码方式
*
*@return
*/
publicStringcoding(){
return"{"+id+","+name+","+age+","+sex+","+className+"}";
}
}
④ java网络编程的基本内容有哪些其特点和优势如何请进行论述。
1.用Java编写网络程序是非常简单的——至少比在现有其他编程环境下要简单得多。本书的新版本带给开发者的是Java发展的最新特性。一旦开始使用Java的网络API进行网络编程,我们能做到可以想象到的一切事情。 本书对开发网络程序进行了非常完整的介绍(从应用程序和applet两方面),它包括了从网络基础到远程方法调用(RMI)的所有内容。本书的章节涵盖了TCP和UDP套接字、组播、内容和协议处理器以及两个新的API:JSSE(SSL实现)和JavaMail API。扩充了I/O和多线程等基础知识。还讲述了在不直接编写网络代码时你所能够实现的内容,例如如何用URL实现自己的目标、applet的基本功能以及如何用Swing处理HTML。无论是有经验的网络程序员还是只想随意看一看的初学者,都会发现本书对于Java的网络程序类的学习是相当完整的。本书内容涵盖了:1、Java 2(JDK 1.2和1.3)和Java1.1。2、许多完整的程序(可在线获取)。3、网络编程基础的所有方面。4、一些高级专题,包括RMI和组播。5、许多重要的API,有JSSE、JavaMail以及Swing中的HTML解析器。Elliotte Rusty Harold是着名的Java网站Cafe Au Lait的作者(http://metalab.unc.e/javafaq),国际知名的计算机专家。他是《Java I/O》以及其他一些Java和XML技术图书的作者。 “直到找到这本书之后,我才开始真正理解Java网络编程。”——Bruce Eckel,《Java编程思想》的作者.
2.JAVA的特点§ 1.2 Java的特点
Java是一个广泛使用的网络编程语言 ,它是一种新的计算概念。
首先 ,作为一种程序设计语言 ,它简单、面向对象、不依赖于机器的结构、
具有可移植性、鲁棒性、安全性、并且提供了并发的机制、具有很高的性能。其
次 ,它最大限度地利用了网络 ,Java的小应用程序 (applet)可在网络上传输而
不受 CPU和环境的限制。另外 ,Java还提供了丰富的类库 ,使程序设计者可以很
方便地建立自己的系统。
下面我们分别从这三个方面来讨论 Java的特点 ,然后通过把 Java与 C,
C++相比进一步指出它所具有的优点。
一、 Java语言
Java语言有下面一些特点 :简单、面向对象、分布式、解释执行、鲁棒、
安全、体系结构中立、可移植、高性能、多线程以及动态性。
:1.简单性
Java语言是一种面向对象的语言 ,它通过提供最基本的方法来完成指定的
任务 ,只需理解一些基本的概念 ,就可以用它编写出适合于各种情况的应用程
序。 Java略去了运算符重载、多重继承等模糊的概念 ,并且通过实现自动垃圾
收集大大简化了程序设计者的内存管理工作。另外 ,Java也适合于在小型机上运
行 ,它的基本解释器及类的支持只有 40KB左右 ,加上标准类库和线程的支持也
只有 215KB左右。库和线程的支持也只有 215KB左右。
2.面向对象
Java语言的设计集中于对象及其接口 ,它提供了简单的类机制以及动态的
接口模型。对象中封装了它的状态变量以及相应的方法 ,实现了模块化和信息
隐藏 ;而类则提供了一类对象的原型 ,并且通过继承机制 ,子类可以使用父类
所提供的方法 ,实现了代码的复用。
3.分布性
Java是面向网络的语言。通过它提供的类库可以处理 TCP/IP协议 ,用户
可以通过 URL地址在网络上很方便地访问其它对象。
4.鲁棒性
Java在编译和运行程序时 ,都要对可能出现的问题进行检查 ,以消除错误
的产生。它提供自动垃圾收集来进行内存管理 ,防止程序员在管理内存时容易
产生的错误。通过集成的面向对象的例外处理机制 ,在编译时,Java提示出可能
出现但未被处理的例外 ,帮助程序员正确地进行选择以防止系统的崩溃。另外,
Java在编译时还可捕获类型声明中的许多常见错误 ,防止动态运行时不匹配问题
的出现。
5.安全性
用于网络、分布环境下的 Java必须要防止病毒的入侵。 Java不支持指针,
一切对内存的访问都必须通过对象的实例变量来实现 ,这样就防止程序员使用
"特洛伊 "木马等欺骗手段访问对象的私有成员 ,同时也避免了指针操作中容易
产生的错误。
6.体系结构中立
Java解释器生成与体系结构无关的字节码指令 ,只要安装了 Java运行时
系统 ,Java程序就可在任意的处理器上运行。这些字节码指令对应于 Java虚拟
机中的表示 ,Java解释器得到字节码后 ,对它进行转换 ,使之能够在不同的平
台运行。
7.可移植性
与平台无关的特性使 Java程序可以方便地被移植到网络上的不同机器。
同时 ,Java的类库中也实现了与不同平台的接口 ,使这些类库可以移植。另外,
Java编译器是由 Java语言实现的 ,Java运行时系统由标准 C实现 ,这使得Java
系统本身也具有可移植性。
8.解释执行
Java解释器直接对 Java字节码进行解释执行。字节码本身携带了许多
编译时信息 ,使得连接过程更加简单。
9.高性能
和其它解释执行的语言如 BASIC、 TCL不同 ,Java字节码的设计使之能
很容易地直接转换成对应于特定CPU的机器码 ,从而得到较高的性能。
10.多线程
多线程机制使应用程序能够并行执行 ,而且同步机制保证了对共享数据
的正确操作。通过使用 多线程 ,程序设计者可以分别用不同的线程完成特定
的行为 ,而不需要采用全局的事件循环机制 ,这样就很容易地实现网络上的实
时交互行为。
11.动态性
Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入
新的方法和实例变量而不会影响用户程序的执行。并且 Java通过接口来支持
多重继承 ,使之比严格的类继承具有更灵活的方式和扩展性。
参考资料:http://chat.xwsy.com/wangshangjiaocheng/java/Java.htm
3.Java已用动态的交互应用软件使Web栩栩如生。它使开发人员
具有‘编写一次到处运行TM”的巨大能力。而且,借助其JavaAPI
及其编程语言上的Java虚拟机,它已产生一种分布信息的崭新模式。
这种模式叫做Java企业计算,正在帮助各企业以各种不同的方法取
得竞争优势。网管和控制已大大简化。软件分配基本上是免费的,
而且立即可实现。电子贸易已获得。占有成本大幅度降低。信息和
应用软件到处可存取。
Java建立在简单的前提基础上,即所有微处理器都应讲同一种
语言——所有内部采用芯片的产品都应能一起工作,无缝而方便地
共享信息。它已经改变企业和个人同Internet大交道的方式。现在,
它正在对消费类产品产生明显的影响,而且从总体上更加深刻地影
响企业计算。
借助Java,您可自由自在地使用您已拥有的硬件和软件。这是因
为Java是独立于平台的。它还可使您超越企业计算,使应用软件在便
携式计算机、信息亭、电视、蜂窝电话和其他大量设备上运行。
全世界的公司都已发现Java数不胜数的用途。所有用途可从其无
可比拟的能力,即提高可靠性、安全性和简化各种不同计算产品和
环境的能力中受益非浅,而且节省的时间和费用十分可观。
Java无处不在。它已拥有几百万个用户,其发展速度要快于在它
以前的其他任何一种计算机产品。它可位于任何地方,而且能到处运
行。Java正在迅速被用做传播信息的事实上标准,这是因为它既可给
企业,也可给最终用户带来似乎数不清的好处。
⑤ java的网络编程有哪些方面
Java网络编程的基础知识、 套接字编程、非阻塞通信、创建HTTP服务器与客户程序、数据报通信、对象的序列化与反序列化、Java反射机制、RMI框架、JDBCAPI、JavaMail API、MVC设计模式、安全网络通信、CORBA和Web服务。
⑥ 有几个java网络编程基础的选择题 哪位大神给下答案
、Applet为一种特殊的Panel,它可作为Java Applet程序的最外层容器。 ( )
2、Java的源码中定义多少个类,编译后结果就生成多少个以.class为后缀的字节码文 ( )
3、Java程序中,使用关键字new创建新的类对象,使用关键字free回收无用的类对象。 ( )
4、Java有垃圾回收机制,可在指定的时间使用内存回收程序释放内存对象。 ( )
5、构造函数用于创建类的实例对象,返回类型为void,构造函数名应与类名相同。 ( )
6、在异常处理中,假设try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父子关系,此时应该将子类放在前面,父类放在后面。 ( )
7、含有abstract方法的类是抽象类,而抽象类中可以没有abstract方法。 ( )
8、Java的屏幕坐标以像素为单位,容器的左下角被确定为坐标的起点。 ( )
9、静态初始化器是在其所属的类加载内存时由系统自动调用执行。 ( )
10、在Java中可使用赋值号( )对对象赋值,相当于生成了一个各属性与赋值对象相同的新对象。 ( )
11、MVC是Model-View-Controller的简写。"View" 是应用的表示面(由JSP页面产生)。( )
12、MVC是Model-View-Controller的简写。"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型控制应用逻辑。( )
13、Tomcat是支持JSP引擎的一种服务器软件,可以通过server.xml文件修改服务器的配置信息。( )
14、通过Request.getParameterValues()可以获得某个参数的多个值( )
15、运行JSP需要有JSP引擎,Tomcat是支持JSP的Web服务器的一种。( )
16、Jsp使用的是Java脚本代码,可跨平台运行,运行开销小,具有速度快,可扩展性好及支持分布式处理等特点。 ( )
17、在定义了Bean的属性后,可不创建属性方法。( )
18、if语句是Java的条件分支语句,它控制程序以两条路径执行。( )
19、包是类的容器,用于保证类名空间的一致性。( )
20、JSP中不能使用HTML中的“<!-- -->”注释方式,只能使用JSP的“<!-- -->”的注释方式。
答案:仅供参考
T T F T T T T F T F T T T F F F T T T F
21.Java application中的主类必须包含方法main,以下哪项是main方法的正确参数?( )
A、 String args B、String ar[] C、Char arg D、StringBuffer args[]
22.以下对继承的正确描述是( )。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
23.paint()方法中的参数可使用哪种类型? ( )
A、Graphics B、Graphics2D C、String D、Color
24.以下不属于Java基本数据类型的是( )
A、int B、Boolean C、float D、char
25.以下哪项可能包含菜单条( )。
A、Panel B、Frame C、Applet D、Dialog
26.应使用哪种修饰符定义一个类域或类方法?( )
A、static B、package C、private D、public
27.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( )。
A、init() B、start() C、destroy() D、stop()
28.参考以下代码,关于该程序以下哪个说法是正确的?( )
public class Person{
static int arr[] = new int[3];
public static void main(String a[])
{
System.out.println(arr[0]);}
}
A、编译时将产生错误 B、编译时正确,运行时将产生错误
C、输出零 D、输出空
29.下列语句中,哪些关于Java内存回收的说明是正确的? ( )
A、程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
30.以下关键字中,可以用来对对象加互斥锁的是?( )
A、transient B、synchronized C、 serialize D、static
31.以下代码段执行后的输出结果为( )
int x=-3; int y=-10;
System.out.println(y%x);
A、 -1 B、2 C、1 D、3
32.有以下程序片段,下列哪个选项不能插入到行1。( )
1.
2.public class Interesting{
3.//do sth
4. }
A、import java.awt.*; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ }
33.假设有如下两个赋值语句:
a = Integer.parseInt(“5”);
b = Integer.valueOf(“5”).intValue();
下述说法正确的是( )。
A、a是整数类型变量,b是整数类对象。 B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。
⑦ 现在我想学Java网络编程,但不知道从哪开始呢
我是学习java的。目前已经工作了。我想我能给你点方向。
网络编程目前行业的形势来看还是做系统的比较多。网络编程好学好用但是赚钱比做系统少。java主要是做系统的。.net是主要用来做网络编程的。你会发现网上招聘网络编程的.net要的人比较多。而且现在it行业还是做系统比较多。网络编程对于java来说是真的大材小用了。java很厉害。专心学习吧。要学java。先把jsp,ssh,extjs这些会跟java合作的东西都学会了。工作会很好找的。工资不用说哦。
⑧ java网络编程包含些什么
java网络编程通常包括三部分TCP/IP , UDP ,URL ;socket只是其中的一个套接字。web,jsp与上面一点关系也没有,上面是j2se的内容。下面则是j2ee内容。web是一个服务,而jsp是一种技术。实在找关系的话,web包括了jsp.
⑨ java网络编程方向具体该怎么去学
以前在远标学时java的大方向就是j2ee
j2ee不仅仅是socket编程,具体包括13中核心技术。
J2EE的核心API与组件
J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对J2EE中的13种技术规范进行简单的描述(限于篇幅,这里只能进行简单的描述):
1. JDBC(Java Database Connectivity):
JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDCB对数据库的访问也具有平台无关性。
2. JNDI(Java Name and Directory Interface):
JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象。
3. EJB(Enterprise JavaBean):
J2EE技术之所以赢得媒体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显着地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是,EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。
4. RMI(Remote Method Invoke):
正如其名字所表示的那样,RMI协议调用远程对象上方法。它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。
5. Java IDL/CORBA:
在Java IDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开, 或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它Java可以被用于将你的新的应用和旧的系统相集成。
6. JSP(Java Server Pages):
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
7. Java Servlet:
Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。
8. XML(Extensible Markup Language):
XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。
XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,您可以得到一个完美的具有平台独立性的解决方案。
9. JMS(Java Message Service):
MS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,有支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另
一种方式来对您的应用与旧的后台系统相集成。
10. JTA(Java Transaction Architecture):
JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。
11. JTS(Java Transaction Service):
JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。
12. JavaMail:
JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。
13. JAF(JavaBeans Activation Framework):
JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象,或者转换自Java对象。大多数应用都可以不需要直接使用JAF。
第一个阶段(java基础阶段)
1.java语法
2.面向对象
3.常用的api
4.界面编程
5.多线程
6.文件io
7.java网络编程..
第二个阶段 (数据库阶段)
1.oracle
2.mysql
3.sql server
目前中国软件公司用的最多的三大主流数据库是sql server,mysql ,oracle .目前看来oracle数据库越来越流行了。一般情况下PHP对应MySQL数据库;ASP对应SQL数据库;JSP对应ORACLE数据库。所以大家会经常看
到市场上JAVA培训都是用的ORACLE数据库,其实你学会了ORACLE数据库,再去学习MySQL、SQL数 据库,你会觉得有很多相似的之处,学起来也容易上手了。oracle我推荐
韩顺平老师 oracle视频 (韩老师授课很有趣,特适合基础不太好的人。讲课有一套)
第三个阶段 (web开发阶段)
1.html
2.css
3.javascript
这三个部分是进行web开发的必须技术.一定要好好学习.不过我当时没有发现有讲的特别好的。好像很多老师都讲框架和后台,界面这块不多,所以就没有什么好推荐的了,大家可以
在网上找找看看,<<别具光芒>> 这本书讲的挺好,不过不太适合初学者,可以看看孙鑫老师视频的《HTML语言速成》。
第四个阶段 (j2ee 中级部分)
1.servlet
2.jsp
3.mvc
这个阶段是接近企业的需求了,所以学习起来,难度偏大,如果前面没有学习扎实,会比较麻烦,我就是这样的,前面没有吃透,就学习j2ee 中级,搞得我消化不良。所以小弟我中心的告诫大家,把前面的学好,再学习第四个阶段,这里的mvc思想不太好理解,是学习的重点。同时要学习tomcat/jboss/wl 这些服务器所以,你可能感到要学习的东西一下多了很多,其实我就在这里动摇过,有那么一段时间,又想放弃了。可是一想到 房东那种不屑的表情,我就想,一定要好好学习,混出个人样来。我家是农村的,回去就是种地,当公务员我没有关系,再说会老家我学习的专业也用不上,要不就是当个网管什么的,不说了,反正当时心情很复杂吧。这个阶段我推荐
第五个阶段 (j2ee 高级部分)
1.struts
2.hibernate
3.spring
学习完Servlet、JSP然后再去学习框架Struts、Hibernate、Spring等最前沿的最流行的网络编程必备的软件技能。
推荐的参考书籍是美河图书提供《Servlet与JSP核心编程》
框架的基础就是Servlet、JSP。首先大家应该学习的是Struts框架,典型的MVC模型。推荐学习视频是 张小静的Struts视频。(网上有孙鑫的视频嘛,主要就是讲的Struts、Hibernate、Spring这三个框架,但是这个好像是偷录的效果不好,听起来比较吃力,衔接的不好)
最后关于Spring框架的视频,在网上你可以搜索到很多,但是系统讲解的真的没有发现,本着对大家负责的态度,不敢乱推荐,大家到网上搜一下,也许现在有了也可能。
学完上述三个阶段的内容,就在看看xml,ajax,ejb这些知识!尤其是的Ajax用得非常火,我们公司就用,ajax的框架流行的是(jquery,dw),我们公司用的是jquery.这里提一 下,学习Ajax之前一定要有JavaScript的基础,推荐视频张孝祥JavaScript网页开发,这套视频有相应 的配套书籍《JavaScript网页开发》