JAVA网页设计java.net 练习
j2EE和asp比较,其实也没什么比的,原因和我上面说那些比较差不了多少,也是稳定性,安全性,J2EE比asp高,速度上比不过asp,asp也是延续着它的拖拽控件的方法,提高速度。一个很复杂的局域网谈天工具的服务器端/*
*Createdon2005-3-18
*
*TODOTochangethetemplateforthisgeneratedfilegoto
*Window-Preferences-Java-CodeStyle-CodeTemplates
*/
packagenetChat;
importjavax.swing.*;
importjava.io.*;
importjava.net.*;
importjava.awt.*;
importjava.awt.event.*;
/**
*@authorAppleTian
*
*TODOTochangethetemplateforthisgeneratedtypecommentgoto
*Window-Preferences-Java-CodeStyle-CodeTemplates
*/
publicclassserverextendsJFrame{
privateJTextFieldmessageBox;
privateJTextAreainfBox;
privateObjectInputStreaminput;
privateObjectOutputStreamoutput;
privateServerSocketserver;
privateSocketserverSocket;
publicserver(){
super("server");
Containerc=getContentPane();
messageBox=newJTextField("");
messageBox.setEnabled(false);
messageBox.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
sendData(e.getActionCommand());
}
});
c.add(messageBox,BorderLayout.NORTH);
infBox=newJTextArea();
infBox.setFont(newFont("Serif",Font.BOLD,12));
c.add(newJScrollPane(infBox),BorderLayout.CENTER);
setSize(500,400);
setVisible(true);
}
/**
*@paramactionCommand
*/
protectedvoidsendData(StringactionCommand){
try{
output.writeObject(actionCommand);
output.flush();
infBox.append("
send<<"+actionCommand+">>toclient...
");
}
catch(IOExceptione){
infBox.append("
ExceptionIOInSendDataFunction...");
}
}
publicvoidrunServer(){
try{
server=newServerSocket(5000,100);
while(true){
waitForConnection();
getStreams();
processConnection();
closeConnection();
}
}
catch(EOFExceptione){
infBox.append("
ErrorinrunServerFuction");
}
catch(IOExceptione){
e.printStackTrace();
}
}
/**
*
*/
privatevoidcloseConnection()throwsIOException{
infBox.append("
closeconnection...");
messageBox.setEnabled(false);
output.close();
input.close();
serverSocket.close();
}
/**
*
*/
privatevoidprocessConnection()throwsIOException{
Stringmg="
connectionsucceful";
messageBox.setEnabled(true);
output.writeObject(mg);
output.flush();
do{
try{
mg=(String)input.readObject();
infBox.append("
sendtoclient:"+mg);
infBox.setCaretPosition(infBox.getText().length());
}
catch(ClassNotFoundExceptione){
infBox.append("
Unkownclassreceived...");
}
}while(mg!="end");
}
/**
*
*/
privatevoidgetStreams()throwsIOException{
output=newObjectOutputStream(serverSocket.getOutputStream());
output.flush();
input=newObjectInputStream(serverSocket.getInputStream());
infBox.append("
GetStreams...");
}
/**
*
*/
privatevoidwaitForConnection()throwsIOException{
infBox.append("waitforaClient...");
serverSocket=server.accept();
infBox.append("connectedby"+serverSocket.getInetAddress().getHostName());
}
publicstaticvoidmain(String[]args){
servermy=newserver();
my.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
my.runServer();
}
}
客户端
/*
*Createdon2005-3-18
*
*TODOTochangethetemplateforthisgeneratedfilegoto
*Window-Preferences-Java-CodeStyle-CodeTemplates
*/
packagenetChat;
importjavax.swing.*;
importjava.io.*;
importjava.net.*;
importjava.awt.*;
importjava.awt.event.*;
/**
*@authorAppleTian
*
*TODOTochangethetemplateforthisgeneratedtypecommentgoto
*Window-Preferences-Java-CodeStyle-CodeTemplates
*/
publicclassclientextendsJFrame{
privateJTextFieldmessageBox;
privateJTextAreainfBox;
privateObjectInputStreaminput;
privateObjectOutputStreamoutput;
privateStringmg="";
privateStringchatServer;
privateSocketclient;
publicclient(Stringhost){
super("client....");
chatServer=host;
Containerc=getContentPane();
messageBox=newJTextField();
messageBox.setEnabled(false);
messageBox.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
sendData(e.getActionCommand());
}
});
c.add(messageBox,BorderLayout.NORTH);
infBox=newJTextArea();
c.add(infBox,BorderLayout.CENTER);
setSize(500,400);
setVisible(true);
}
/**
*@paramactionCommand
*/
protectedvoidsendData(StringactionCommand){
try{
mg=messageBox.getText();
output.writeObject(mg);
output.flush();
infBox.append("
sendtoserver:"+mg);
}catch(IOExceptione){
infBox.append("
IOExceptioninsendData..");
}
}
publicvoidrunClient(){
try{
connectToServer();
getStreams();
processConnection();
closeConnection();
}catch(IOExceptione){
infBox.append(e.toString());
}
}
/**
*
*/
privatevoidcloseConnection()throwsIOException{
//TODOAuto-generatedmethodstub
infBox.append("
close...");
output.close();
input.close();
client.close();
}
/**
*
*/
privatevoidprocessConnection()throwsIOException{
//TODOAuto-generatedmethodstub
messageBox.setEnabled(true);
do{
try{
mg=(String)input.readObject();
infBox.append("
Fromserver:"+mg);
infBox.setCaretPosition(infBox.getText().length());
}catch(ClassNotFoundExceptione){
infBox.append("classNotFound...
");
}
}while(mg!="end");
}
/**
*
*/
privatevoidgetStreams()throwsIOException{
//TODOAuto-generatedmethodstub
output=newObjectOutputStream(client.getOutputStream());
output.flush();
input=newObjectInputStream(client.getInputStream());
infBox.append("gettheIOStream..
");
}
/**
*
*/
privatevoidconnectToServer()throwsIOException{
//TODOAuto-generatedmethodstub
infBox.append("tryconnectingtoserver...
");
client=newSocket(InetAddress.getByName(chatServer),5000);
infBox.append("connecttoserver:"+client.getInetAddress().getHostName()+"
");
}
publicstaticvoidmain(String[]args){
clientp;
if(args.length==0)
p=newclient("127.0.0.1");
else
p=newclient(args);
p.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p.runClient();
}
}
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点, 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 是一种使网页(Web Page)产生生动活泼画面的语言 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 是一种将安全性(Security)列为第一优先考虑的语言 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 Java是一种计算机编程语言,拥有跨平台、面向对java 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
页:
[1]