当前位置:  技术问答>java相关

帮JAVA新人看看!

    来源: 互联网  发布时间:2015-05-24

    本文导语:  近来学JAVA,学写了一个中间层对数据库操作,但在中间层对数据库进行比如插入后,如何返回一个值给前面的APPLET,? 前端的APPLET代码如下:ShopperApplet.java import javax.swing.*; import java.awt.*; import java.awt.event.*; import ...

近来学JAVA,学写了一个中间层对数据库操作,但在中间层对数据库进行比如插入后,如何返回一个值给前面的APPLET,?

前端的APPLET代码如下:ShopperApplet.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

class Shopper implements Serializable
{
String cShopperid,cPassword,vFirstName,vLastName,vEmailId,vAddress,cCity,cState,cPhone,cCreditCardNo,vCreditCardType;
}

public class ShopperApplet extends JApplet 
{

JLabel labelShopperId;
JLabel labelPass;
JLabel labelEmail;
JLabel labelFname;
JLabel labelLname;
JLabel labelAdd;
JLabel labelCity;
JLabel labelState;
JLabel labelCountry;
JLabel labelPhone;
JLabel labelCreditNo;
JLabel labelCreditType;

JTextField textShopperId;
JTextField textPass;
JTextField textEmail;
JTextField textFname;
JTextField textLname;
JTextField textAdd;
JTextField textCity;
JTextField textState;
JTextField textPhone;
JTextField textCreditNo;

JButton submit;
JButton cancel;

JComboBox comboCountry;
JComboBox comboCreditType;

public void init()
{
CreateApplet();
}

public void CreateApplet()
{
Container content = new Container();
content =  getContentPane();
content.setLayout(new FlowLayout());

labelShopperId = new JLabel(" Shopper ID:");
labelPass = new JLabel("Password:");
labelEmail= new JLabel("Email Adress:");
labelFname= new JLabel("First Name:");
labelLname= new JLabel("Last Name:");
labelAdd= new JLabel("Address:");
labelCity = new JLabel("City :");
labelState= new JLabel("State:");
labelCountry= new JLabel("Country:");
labelPhone= new JLabel("Phone:");
labelCreditNo = new JLabel("Credit Card No.");
labelCreditType = new JLabel("Credit Card Type:");



textShopperId = new JTextField(6);
textPass= new JTextField(10);
textEmail= new JTextField(12);
textFname= new JTextField(20);
textLname= new JTextField(10);
textAdd= new JTextField(15);
textCity= new JTextField(10);
textState = new JTextField(10);
textPhone= new JTextField(10);
textCreditNo = new JTextField(15);


String arr[]={"Italy","USA","Japan","India"};
comboCountry = new JComboBox(arr);

String creditType[] = {"Master","Visa"};
comboCreditType = new JComboBox(creditType);


submit = new JButton("Submit");
cancel = new JButton("Cancel");



content.add(labelShopperId);
content.add(textShopperId);
content.add(labelPass);
content.add(textPass);
content.add(labelEmail);
content.add(textEmail);
content.add(labelFname);
content.add(textFname);
content.add(labelLname);
content.add(textLname);
content.add(labelAdd);
content.add(textAdd);
content.add(labelCity);
content.add(textCity);
content.add(labelState);
content.add(textState);
content.add(labelCountry);
content.add(comboCountry);
content.add(labelPhone);
content.add(textPhone);
content.add(labelCreditNo);
content.add(textCreditNo);
content.add(labelCreditType);
content.add(comboCreditType);
content.add(submit);
content.add(cancel);

validateAction validateButton = new validateAction();
submit.addActionListener(validateButton);


}

//Listener interface implementation for the button

class validateAction implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
//Extracting source of action
Object obj = evt.getSource();
if(obj == submit)
{
Shopper data=new Shopper();
data.cShopperid = textShopperId.getText();
data.cPassword = textPass.getText();
data.vFirstName = textFname.getText();
data.vLastName = textLname.getText();
data.vEmailId = textEmail.getText();
data.vAddress = textAdd.getText();
data.cCity = textCity.getText();
data.cState = textState.getText();
data.cPhone = textPhone.getText();
data.cCreditCardNo = textCreditNo.getText();
data.vCreditCardType ="002";

try
{
Socket toServer;
toServer = new Socket("127.0.0.1",1001);
ObjectOutputStream streamToServer=new ObjectOutputStream(toServer.getOutputStream());
//Sending the data to the server for processing
streamToServer.writeObject((Shopper)data);
streamToServer.close();
}
catch(InvalidClassException e)
{
showStatus("The Shopper class is invalid" + e);
}
catch(NotSerializableException e)
{
showStatus("The object is not serializable" + e);
}
catch(IOException e)
{
showStatus("Cannot write to the server" + e);
}

}
}
}
}


html代码如下:ShopperApplet.html






中间层代码如下:AppServer.java
import javax.swing.*;
import java.sql.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

//The Shopper class needs to implement serializable
class Shopper extends Object implements java.io.Serializable
{
String cShopperid,cPassword,vFirstName,vLastName,vEmailId,vAddress,cCity,cState,cPhone,cCreditCardNo,vCreditCardType;
}
//Code for the AppServer class 
class AppServer implements Runnable
{
ServerSocket server;
Socket fromClient;
Thread serverThread;


public AppServer()
{
try
{
server = new ServerSocket(1001);
serverThread = new Thread(this);
serverThread.start();
}
catch(Exception e)
{
System.out.println("Cannot start the thread" + e);
}
}


public static void main(String args[])
{
new AppServer();

}

public void run()
{   
try
{
while(true)
{
//Listening to the clients request
fromClient = server.accept();
//Creating the connect object 
Connect con = new Connect(fromClient); 
}
}
catch(Exception e)
{
       System.out.println("Cannot listen to the client" + e);
}
}
}

//Code for the connect class
class Connect 
{
Shopper data;
ObjectInputStream streamFromClient;

public Connect(Socket inFromClient)
{
//Retrieving the clients stream
try
{
streamFromClient = new ObjectInputStream(inFromClient.getInputStream());
try
{
//Retrieving the Shopper details from the client
data = (Shopper)streamFromClient.readObject();
}
catch(InvalidClassException e)
{
System.out.println("Cannot serialize the  Shopper class" + e);
}
catch(NotSerializableException e)
{
System.out.println("The object is not  serializable" + e);
}
catch(IOException e)
{
System.out.println("Cannot read from the  client stream" + e);
}
//Call the submit method
submit(); 
}
catch(Exception e)
{
System.out.println("Cannot get the client stream" + e);
}

}

//Code for the submit method
public void submit()
{
try
{

//Code for submiting the Shopper details to the  //database
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con;
    con = DriverManager.getConnection("jdbc:odbc:Toy","sa",null);
    PreparedStatement stat=con.prepareStatement(
"insert into  shopper(cShopperid,cPassword,vFirstName,vLastName,vEmailId,vAddress,cCity,cState,cPhone,cCreditCardNo,vCreditCardType) values(?,?,?,?,?,?,?,?,?,?,?)");

stat.setString(1,data.cShopperid);
stat.setString(2,data.cPassword);
stat.setString(3,data.vFirstName);
stat.setString(4,data.vLastName);
stat.setString(5,data.vEmailId);
stat.setString(6,data.vAddress);
stat.setString(7,data.cCity);
stat.setString(8,data.cState);
stat.setString(9,data.cPhone);
stat.setString(10,data.cCreditCardNo);
stat.setString(11,data.vCreditCardType);
stat.executeUpdate();
}
catch(Exception e)
{
System.out.println("Cannot insert the data in the table" + e);
}
}
}

数据库的SQL在下贴中

|
你用的SOCKET连接ServerSocket
既然Server端(也就是你说的中间层)可得到客户端连接过来的Socket,就可以象它回写数据啊,你的代码中不是用了writeObject吗,一样的啊。
或则我没有理解清你的意思
“如何返回一个值给前面的APPLET,?”请把这句话说详细点,具体你想返回什么东西给APPLET?

    
 
 

您可能感兴趣的文章:

  • 新人来报道 :) 以后要做Java了,请大家多多指教!
  • "JAVA新人看看"的SQL文件
  • 我初学JAVA,大家愿意交朋友的进来看看!留QQ的给分啊!
  • 运行JAVA的出错信息,麻烦各位帮我看看 iis7站长之家
  • 运行JAVA的出错信息,麻烦各位帮我看看
  • 关于用Jprint java打印的问题,请大家进来看看(路人甲、华仔哥)
  • 给我提供几个国外比较好的------JAVA的论坛吧。我想去看看
  •  只有一点JAVA语言基础,但是想先看看关于软件工程方面的东西.可能吗?
  • 用VisualAge for java的朋友过来看看
  • 100分询问visualAge for java 大虾过来看看
  • 这个错误是怎末回事?Java高手帮忙看看
  • 小弟初入java这一行,很想看看已经编好的源程序,愿意指教的请发送到samgundam@sina.com!谢谢
  • 各个高手看看这个问题!本人第一次学习java所以要各位高手的帮助。。
  • 大虾们帮我看看这个删除java的问题,很迷人的耶!!
  • java编程的一些小问题,麻烦帮忙看看
  • 做java的朋友建议看看。很漂亮的
  • 我是JAVA的一位初学者请各位师兄师姐帮忙看看下面的代码为什么会提示出错?
  • 帮忙看看一个非常简单的JAVA程序,为什么调试不通
  • 关于数据显示 中文 乱码的害我许久的疑难杂症,各位JAVA高手近来看看!!
  • 买了一本java的学习书,帮忙看看好坏!
  • 帮我看看这几个英文java的单词是什么意思啊
  • 初学JAVA,帮看看
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍
  • 各位学java的朋友,学java的未来是什么,你们学java都用来开发什么项目啊!来者给分!!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getvmname定义及介绍
  • 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3