`
wataxi
  • 浏览: 208101 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JAVA经典代码(三)

    博客分类:
  • java
阅读更多

23.编程实现序列化的Student(sno,sname)对象在网络上的传输
package com.softeem.demo;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.net.ServerSocket;
import java.net.Socket;

class Student implements Serializable {
private int sno;
private String sname;

public Student(int sno, String sname) {
this.sno = sno;
this.sname = sname;
}

public int getSno() {
return sno;
}

public void setSno(int sno) {
this.sno = sno;
}

public String getSname() {
return sname;
}

public void setSname(String sname) {
this.sname = sname;
}

@Override
public String toString() {
return "学号:" + sno + ";姓名:" + sname;
}

}

class MyClient extends Thread {
@Override
public void run() {
try {
Socket s = new Socket("localhost", 9999);
ObjectInputStream ois = new ObjectInputStream(s.getInputStream());
Student stu = (Student) ois.readObject();
System.out.println("客户端程序收到服务器端程序传输过来的学生对象>> " + stu);
ois.close();
s.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

class MyServer extends Thread {

@Override
public void run() {
try {
ServerSocket ss = new ServerSocket(9999);
Socket s = ss.accept();
ObjectOutputStream ops = new ObjectOutputStream(s.getOutputStream());
Student stu = new Student(1, "赵本山");
ops.writeObject(stu);
ops.close();
s.close();
ss.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

public class TestTransfer {
public static void main(String[] args) {
new MyServer().start();
new MyClient().start();
}
}
l JDBC
24.用dom4j组件解析如下XML格式的文件:
<?xml version="1.0" encoding="UTF-8"?>
<generator>
<table name="login" operation="1">
<column name="username" handle="0">aaa </column>
<column name="password" handle="0">123 </column>
</table>
<table name="login" operation="2">
<column name="id" handle="1">1 </column>
<column name="username" handle="0">bbb </column>
<column name="password" handle="0">444 </column>
</table>
<table name="login" operation="3">
<column name="id" handle="1">4 </column>
</table>
</generator>
规则: <table>operation 1表insert,2表update,3表delete.
<column>handle 1表作为where条件,0表作为操作字段。
要求:按照规则生成三条SQL语句!(即做一个方法解析xml文件生成一个含有三条SQL语句的字符串)

public String parseXmltoSQL(String xmlFileName) {
StringBuffer sbsql = new StringBuffer();
SAXReader reader = new SAXReader();
try {
Document document = reader.read(new File(xmlFileName));
Element element = document.getRootElement();
Iterator it = element.elementIterator("table");
while (it.hasNext()) {
element = (Element) it.next();
//获得对表的操作
String oper = element.attributeValue("operation");
//获得表名
String tableName = element.attributeValue("name");
if ("1".equals(oper)) {
sbsql.append("insert into ").append(tableName);
Iterator it2 = element.elementIterator("column");
String columnName1 = null;
String columnValue1 = null;
String columnName2 = null;
String columnValue2 = null;
if (it2.hasNext()) {
element = (Element) it2.next();
columnName1 = element.attributeValue("name");
columnValue1 = element.getText();
}
if (it2.hasNext()) {
element = (Element) it2.next();
columnName2 = element.attributeValue("name");
columnValue2 = element.getText();
}
sbsql.append("("+columnName1+","+columnName2+")"+" values('"+columnValue1+"','"+columnValue2+"')\n");

} elseif ("2".equals(oper)) {
sbsql.append("update ").append(tableName);
Iterator it2 = element.elementIterator("column");
String columnName1 = null;
String columnValue1 = null;
String columnName2 = null;
String columnValue2 = null;
String columnName3 = null;
String columnValue3 = null;
if (it2.hasNext()) {
element = (Element) it2.next();
columnName1 = element.attributeValue("name");
columnValue1 = element.getText();
}
if (it2.hasNext()) {
element = (Element) it2.next();
columnName2 = element.attributeValue("name");
columnValue2 = element.getText();
}
if (it2.hasNext()) {
element = (Element) it2.next();
columnName3 = element.attributeValue("name");
columnValue3 = element.getText();
}
sbsql.append(" set "+columnName2+"='"+columnValue2+"',"+columnName3+"='"+columnValue3+"' where "+columnName1+"="+columnValue1+"\n");

}elseif ("3".equals(oper)) {
sbsql.append("delete from ").append(tableName);
Iterator it2 = element.elementIterator("column");
String columnName1 = null;
String columnValue1 = null;
if (it2.hasNext()) {
element = (Element) it2.next();
columnName1 = element.attributeValue("name");
columnValue1 = element.getText();
}
sbsql.append(" where "+columnName1+"="+columnValue1);

}
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sbsql.toString();
}
l JSP/SERVLET
25.写出JSP的内置对象并说明他们的作用
request:request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header数据的有用的方法。 response:response表示HttpServletResponse对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等) out:out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。 pageContext:pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。 session:session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息 application:applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息 config:config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。 page:page表示从该页面产生的一个servlet实例。
exception: exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象

分享到:
评论

相关推荐

    Java经典实例.第三版(高清PDF+配套代码)

    《Java经典实例.第三版》是一本深受Java开发者欢迎的实战指南,旨在通过丰富的实例来深入浅出地讲解Java编程的各个方面。这本书的高清PDF版本提供了清晰易读的阅读体验,而配套的代码则为读者提供了实践操作的机会,...

    Java经典代码(绝对值得收藏)

    Java编程语言自1995年发布以来,一直保持着旺盛的生命力,被广泛应用于企业级应用、移动开发、云计算...通过深入学习和实践其中的代码,开发者不仅可以掌握Java的核心概念,还能了解到如何编写出高效、优雅的Java代码。

    数百个java经典代码第一部分,包罗万象

    这份资料可能包含了一系列精心挑选的Java代码示例,旨在帮助学习者深入理解和掌握Java编程的核心概念。 首先,我们来探讨一下Java语言的基础知识点: 1. **变量与数据类型**:Java提供了八种基本数据类型,包括...

    Java经典代码(初学者用)

    9. **JVM和垃圾回收**:Java虚拟机(JVM)是运行Java代码的平台,它负责字节码的解释执行和内存管理,包括自动的垃圾回收。 10. **标准库API**:Java提供了一个庞大的标准库,包含各种工具类和接口,如String、Math...

    Java 三维装箱代码示例

    下面是一个简单的Java代码示例,它使用动态规划来解决三维装箱问题。 请注意,这个代码只是一个简单的示例,它假设所有物品的第三个维度的大小都是1,并且没有给出如何回溯选择物品的完整逻辑。在实际应用中,三维...

    java源代码,java源代码

    Java源代码是编程世界的基石,它是Java程序员用Java语言编写的程序文本,包含了类、方法、变量等元素,是理解程序逻辑和功能的核心。在Java编程中,源代码通常以`.java`为扩展名,经过Java编译器的处理,会被转化为...

    java源代码查看工具.zip

    对于那些需要频繁查看或分析Java代码的开发者来说,这是一款不可或缺的辅助工具。 在实际应用中,此工具可以广泛应用于以下场景: 1. **逆向工程**:当没有源代码的情况下,需要分析或修改已有的二进制Java程序,...

    Java源码:比较经典的一些Java源代码,适合于初学者

    这个压缩包包含了140个经典的Java源代码程序,涵盖了各种基础到进阶的编程概念。下面,我们将详细讨论这些知识点。 1. **基础语法**:作为初学者,首先需要掌握Java的基础语法,包括变量声明、数据类型(如int、...

    java代码统计工具

    这个工具包含了三个关键文件:`java代码统计工具.exe`是可执行程序,用户可以直接运行来执行统计;`CodeCounter.java`可能是该工具的主要源代码文件,包含了统计逻辑;`MyFilter.java`可能是一个过滤器类,用于筛选...

    数百个java经典代码第三部分

    在“数百个java经典代码第三部分”这个资源中,我们可以看到三个章节的代码示例,分别对应于第7章、第9章和第8章。这些章节通常涵盖Java编程的不同主题,旨在帮助开发者深入理解和应用Java语言。让我们逐一探讨这些...

    java代码启动tomcat

    Java 代码启动 Tomcat 在 Java 中,使用 Tomcat 服务器来发布 Web 应用程序是一种常见的做法。下面,我们将详细介绍如何使用 Java 代码来启动 Tomcat 服务器,并实现远程控制 Tomcat。 标题: Java 代码启动 ...

    java经典案例源代码

    【标题】"Java经典案例源代码"涉及到的是Java编程领域中的实际应用示例,通常这些案例可以帮助开发者加深对Java语言的理解,提升编程技能。SSH框架是Java Web开发中常用的三大框架——Spring、Struts和Hibernate的...

    三级联动java源代码

    在这个“三级联动java源代码”中,我们可以期待看到如何通过Java代码实现上述的各种技术。文件名“三级联动.txt”可能包含了源代码的注释或实现思路,对于理解代码的工作原理非常有帮助。通过阅读和分析这份源代码,...

    java经典程序题及算法含代码

    Java经典程序题及算法含代码 java经典程序题及算法含代码是一份涵盖了多种经典算法题的Java程序编程题集,旨在帮助Java开发者提高编程能力和算法思维能力。该资源包含了多个Java程序题,每个程序题都配备了详细的...

    Java源代码下载

    Java源代码下载通常指的是获取Java开发工具包(JDK)中的源码,这对于开发者来说是一项重要的活动,因为源代码能够帮助他们深入理解Java语言的工作原理,进行调试和学习。Java作为一个开源项目,Oracle公司提供了源...

    经典java小程序源代码合集

    这个“经典java小程序源代码合集”是为Java初学者准备的宝贵资源,它包含了一系列在学习过程中可能会遇到的经典示例,有助于深入理解Java语言的核心概念。 首先,让我们探讨Java的基础知识。Java程序由类(class)...

    几个很不错的Java游戏源代码

    Java提供了Java 3D API,它是Java Media Framework的一部分,用于创建复杂的三维图形应用。通过这个源代码,开发者可以学习到如何构建3D模型、场景图(Scene Graph)、光照效果、摄像机控制以及碰撞检测等关键概念。...

    java版本词法、语法分析器以及三地址代码生成实验源代码

    Java版本的词法、语法分析器以及三地址代码生成是编译原理领域的重要实践内容,它们涉及到了编译器设计的基础阶段。在这个实验中,我们使用Java编程语言实现了这些核心功能,这使得代码具有跨平台的特性,并且利用...

    java扫雷代码详解

    Java扫雷代码详解 本篇文章主要讲解了Java扫雷程序的代码实现,通过对扫雷程序的代码注释,帮助初学者更好地理解扫雷程序的工作原理。 Java扫雷程序的设计 Java扫雷程序的设计主要分为三个步骤:第一步,extends ...

    Java毕业设计源码-基于JavaJAVA3D的网络三维技术的设计与实现(源代码+说明)(IT计算机专业Java源代码资料)

    基于JavaJAVA3D的网络三维技术的设计与实现(源代码+说明)(IT计算机专业Java源代码资料)Java毕业设计源码-基于JavaJAVA3D的网络三维技术的设计与实现(源代码+说明)(IT计算机专业Java源代码资料)Java毕业设计源码-...

Global site tag (gtag.js) - Google Analytics