自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(0)
  • 资源 (6)
  • 收藏
  • 关注

空空如也

线程间通信

//Java就业培训教程 第5章,线程间通信<br>package com;<br><br>class Q{<br> private String name="陈琼";<br> private String sex ="女 ";<br> public synchronized void put(String name,String sex){<br> this.name=name;<br> try{<br> Thread.sleep(10);<br> }catch(Exception e){<br> System.out.println(e.getMessage());<br> }<br> this.sex=sex;<br> }<br> public synchronized void get(){<br> System.out.println(name+"-->"+sex);<br> }<br>}<br><br>class Producer implements Runnable{<br> Q q=null;<br> public Producer(Q q){<br> this.q=q;<br> }<br> public void run(){<br> int i=0;<br> while(true){<br> if(i==0){<br> q.put("张孝祥","男");<br> }else{<br> q.put("陈琼","女");<br> }<br> i=(i+1)%2;<br> }<br> }<br>}<br><br><br>class Consumer implements Runnable{<br> Q q=null;<br> public Consumer(Q q){<br> this.q=q;<br> }<br> public void run(){<br> while (true){<br> q.get();<br> }<br> }<br>}<br><br>public class page208{<br> public static void main(String args[]){<br> Q q=new Q();<br> //q.get();<br> new Thread(new Producer(q)).start();<br> new Thread(new Consumer(q)).start();<br> }<br>}<br><br>/*<br> 运行结果:<br> 张孝祥-->男<br> 张孝祥-->男<br> 陈琼-->女<br> 张孝祥-->男<br> 陈琼-->女<br> 张孝祥-->男<br> 陈琼-->女<br> 张孝祥-->男<br> 张孝祥-->男<br> 张孝祥-->男<br> 张孝祥-->男<br> <br> 可以看出:并不是写入一次,就读取一次,而是有时读了多次同样的数据。<br> * */<br><br><br>//Java就业培训教程 第5章,线程间通信<br>package com;<br><br>class Q{<br> private String name="陈琼";<br> private String sex ="女 ";<br> //当bFull为 true ,Consumer线程才能取走数据,取走数据后bFull置为 false<br> //当bFull为 false,Procucer线程才能写入数据,写入数据后bFull置为 true<br> boolean bFull=false; <br> public synchronized void put(String name,String sex){<br> if (bFull){//可以取走数据<br> try{<br> wait(); //请等待,先不要写入数据,等待另一线程取走数据<br> }catch(Exception e){}<br> }<br> this.name=name;<br> try{<br> Thread.sleep(10);<br> }catch(Exception e){System.out.println(e.getMessage());}<br><br> this.sex=sex;<br> bFull=true; //写入数据完毕,可以读取数据。<br> notify(); //唤醒Producer线程.<br> }<br> public synchronized void get(){<br> if(!bFull){<br> try{<br> wait(); //请等待,先不要读取数据,等待另一线程写入数据。<br> }catch(Exception e){}<br> }<br> System.out.println(name+"-->"+sex);<br> bFull=false; ////读取数据完毕,可以写入数据。<br> notify(); //唤醒Consumer线程.<br> }<br>}<br><br>class Producer implements Runnable{<br> Q q=null;<br> public Producer(Q q){<br> this.q=q;<br> }<br> public void run(){<br> int i=0;<br> while(true){<br> if(i==0){<br> q.put("张孝祥","男");<br> }else{<br> q.put("陈琼","女");<br> }<br> i=(i+1)%2;<br> }<br> }<br>}<br><br><br>class Consumer implements Runnable{<br> Q q=null;<br> public Consumer(Q q){<br> this.q=q;<br> }<br> public void run(){<br> while (true){<br> q.get();<br> }<br> }<br>}<br><br>public class page210{<br> public static void main(String args[]){<br> Q q=new Q();<br> //q.get();<br> new Thread(new Producer(q)).start();<br> new Thread(new Consumer(q)).start();<br> }<br>}<br><br>/*<br> 运行结果:<br>张孝祥-->男<br>陈琼-->女<br>张孝祥-->男<br>陈琼-->女<br>张孝祥-->男<br>陈琼-->女<br>张孝祥-->男<br> <br> 可以看出:写入一次,就读取一次.<br> * */<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

2008-01-30

Struts 成功测试

Struts 成功测试 [jps宝典第24章 书上错误太多了,均已改正]<br><br>tomcat5.028<br>+<br>jdk1.5<br>+<br>struts-1.2.8<br>+<br>===================================================================================<br><br>文件结构<br>===================================================================================<br>D:\web\WebRoot\index.jsp 首页<br>===================================================================<br>D:\web\WebRoot\include\CSS.CSS<br>D:\web\WebRoot\include\image.jsp 生成验证码的jsp<br>===================================================================<br>D:\web\WebRoot\logon\logon.jsp 登录页面<br>===================================================================<br> 页面用到的小图标<br>D:\web\WebRoot\images\bg.gif <br>D:\web\WebRoot\images\liuchen.gif<br>D:\web\WebRoot\images\log_button.gif<br>D:\web\WebRoot\images\reg_button.gif<br>D:\web\WebRoot\images\userlogin.gif<br>D:\web\WebRoot\images\userlogin2.gif<br>D:\web\WebRoot\images\username.gif<br>D:\web\WebRoot\images\username2.gif<br>D:\web\WebRoot\images\userps.gif<br>D:\web\WebRoot\images\userps2.gif<br>D:\web\WebRoot\images\userym.gif<br>D:\web\WebRoot\images\userym2.gif<br>===================================================================<br>D:\web\WebRoot\WEB-INF\struts-config.xml 关键了,Struts配置文件<br>D:\web\WebRoot\WEB-INF\web.xml 配置文件,一般很少改动<br>===================================================================<br> Struts标签<br>D:\web\WebRoot\WEB-INF\tlds\struts-bean.tld<br>D:\web\WebRoot\WEB-INF\tlds\struts-html.tld<br>D:\web\WebRoot\WEB-INF\tlds\struts-logic.tld<br>D:\web\WebRoot\WEB-INF\tlds\struts-nested.tld<br>D:\web\WebRoot\WEB-INF\tlds\struts-tiles.tld<br>===================================================================<br> Struts 的lib<br>D:\web\WebRoot\WEB-INF\lib\antlr.jar<br>D:\web\WebRoot\WEB-INF\lib\commons-beanutils.jar<br>D:\web\WebRoot\WEB-INF\lib\commons-digester.jar<br>D:\web\WebRoot\WEB-INF\lib\commons-fileupload.jar<br>D:\web\WebRoot\WEB-INF\lib\commons-logging.jar<br>D:\web\WebRoot\WEB-INF\lib\commons-validator.jar<br>D:\web\WebRoot\WEB-INF\lib\jakarta-oro.jar<br>D:\web\WebRoot\WEB-INF\lib\struts.jar<br>===================================================================<br> 源码<br>D:\web\WebRoot\src\Constants.java<br>D:\web\WebRoot\src\DBConnect.java<br>D:\web\WebRoot\src\Factory.java<br>D:\web\WebRoot\src\LogonAction.java Action文件<br>D:\web\WebRoot\src\LogonForm.java ActionForm文件<br>D:\web\WebRoot\src\LogoutAction.java<br>D:\web\WebRoot\src\MessageResources.properties 资源文件<br>D:\web\WebRoot\src\SqlFactory.java<br>D:\web\WebRoot\src\SqlUser.java<br>D:\web\WebRoot\src\SqlUserFactory.java<br>D:\web\WebRoot\src\User.java<br>D:\web\WebRoot\src\UserFactory.java<br>===================================================================<br>D:\web\WebRoot\WEB-INF\classes\cn\com\zzb\eshopping\Constants.class<br><br>D:\web\WebRoot\WEB-INF\classes\cn\com\zzb\eshopping\logon\LogonAction.class<br>D:\web\WebRoot\WEB-INF\classes\cn\com\zzb\eshopping\logon\LogonForm.class<br>D:\web\WebRoot\WEB-INF\classes\cn\com\zzb\eshopping\logon\LogoutAction.class<br><br>D:\web\WebRoot\WEB-INF\classes\cn\com\zzb\eshopping\db\DBConnect.class<br><br>D:\web\WebRoot\WEB-INF\classes\cn\com\zzb\eshopping\model\Factory.class<br>D:\web\WebRoot\WEB-INF\classes\cn\com\zzb\eshopping\model\User.class<br>D:\web\WebRoot\WEB-INF\classes\cn\com\zzb\eshopping\model\UserFactory.class<br><br>D:\web\WebRoot\WEB-INF\classes\cn\com\zzb\eshopping\model\sql\SqlFactory.class<br>D:\web\WebRoot\WEB-INF\classes\cn\com\zzb\eshopping\model\sql\SqlUser.class<br>D:\web\WebRoot\WEB-INF\classes\cn\com\zzb\eshopping\model\sql\SqlUserFactory.class

2007-11-30

mysql+jdbc+jsp+Hibernate3.2+tomcattomcat5.028成功测试

mysql,jdbc,Hibernate,tomcat<br>[mysql+jdbc+jsp+Hibernate3.2+tomcattomcat5.028成功测试-简单]<br><br><br>1 .数据库设计:库mydb 表events<br><br>EVENT_ID BIGINT(20) NOT NULL AUTOINC<br>EVENT_DATE DATETIME NULL<br>title VARCHAR(255) NULL<br><br><br><br>2. 注意文件的位置<br><br>3. tomcat中配jdbc就不用说了,<br> <br><br><br><br>4. Event.java 文件<br><br>package events;<br><br>import java.util.Date;<br><br>public class Event {<br> private Long id;<br><br> private String title;<br> private Date date;<br><br> public Event() {}<br><br> public Long getId() {<br> return id;<br> }<br><br> private void setId(Long id) {<br> this.id = id;<br> }<br><br> public Date getDate() {<br> return date;<br> }<br><br> public void setDate(Date date) {<br> this.date = date;<br> }<br><br> public String getTitle() {<br> return title;<br> }<br><br> public void setTitle(String title) {<br> this.title = title;<br> }<br>}<br><br><br><br>5.Event.hbm.xml 文件<br><br><?xml version="1.0"?><br><!DOCTYPE hibernate-mapping PUBLIC<br> "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br> "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><br><br><br><hibernate-mapping><br><br> <class name="events.Event" table="events"><br> <id name="id" column="EVENT_ID"><br> <generator class="native"/><br> </id><br> <property name="date" type="timestamp" column="EVENT_DATE"/><br> <property name="title"/><br> </class><br><br></hibernate-mapping><br><br>6. hibernateTest.jsp 文件<br><br><%@ page contentType="text/html;charSet=GBK" %><br><%@ page import="java.util.*" %><br><%@ page import="org.hibernate.SessionFactory" %><br><%@ page import="org.hibernate.Session" %><br><%@ page import="org.hibernate.cfg.*" %><br><%@ page import="events.*" %><br><br><html><br><head><br><meta http-equiv="Content-Type" content="text/html; charset=GBK"><br><title>Hibernate示范</title><br></head><br><body><br><%<br> SessionFactory sessionFactory;<br> sessionFactory = new Configuration().configure().buildSessionFactory();<br> Session session1 =sessionFactory.getCurrentSession();<br> session1.beginTransaction();<br><br> String title="jkh" ;<br> Date theDate= new Date();<br> Event theEvent = new Event();<br> theEvent.setTitle(title);<br> theEvent.setDate(theDate);<br><br> session1.save(theEvent);<br> session1.getTransaction().commit();<br><br> out.println("<BR>"+"OK 插入1条记录 成功"+"<BR>");<br> out.println("<BR>");<br><br> //显示表中的所有数据:<br> out.println("表中的所有数据:"+"<BR>");<br><br> Session session2 =sessionFactory.getCurrentSession();<br> session2.beginTransaction();<br> List result = session2.createQuery("from Event").list();<br> session2.getTransaction().commit();<br><br><br> for (int i = 0; i < result.size(); i++) {<br> Event theEvent1 = (Event)result.get(i);<br><br> out.println(<br> theEvent1.getId()+" "+<br> theEvent1.getDate()+" "+<br> theEvent1.getTitle()+<br><br> "<BR>");<br> <br> }<br><br>%><br></body><br></html><br>7. 运行: <br>http://localhost/WebRoot/hibernateTest.jsp

2007-11-27

jsp连接池成功之例

数据库连接池配置<br><br>环境:xp2+IE7.0+tomcat5.028+mysql5.018<br><br>1.假定tomcat 安装目录为:D:\Tomcat5<br><br>2.假定程序目录为: D:\web\WebRoot<br><br> 目录设置请看WebRoot.xml 中有下面这句代码:<br><br> <Context path="/WebRoot" docBase="D:/web/WebRoot" debug="0" reloadable="true" ><br><br>3.假定mysql数据库名为:mydb,登录用户名为:root,密码为:123<br> 请看WebRoot.xml 中有下面这句代码:<br><br> <parameter><br> <name>username</name><br> <value>root</value><br> </parameter><br> <parameter><br> <name>password</name><br> <value>123</value><br> </parameter><br><br> <parameter><br> <name>url</name><br> <value>jdbc:mysql://localhost:3306/mydb?autoReconnect=true</value><br> </parameter><br><br><br>4. 请将 WebRoot.xml copy到<br> D:\Tomcat5\conf\Catalina\localhost\下<br> 数据库的配置就在这个文件中<br><br>5. 文件mysql-connector-java-5.0.5-bin.jar 存放于<br> D:\web\WebRoot\WEB-INF\Lib\下,最好在也存一个在<br> D:\Tomcat5\common\lib\下<br><br>6. 我所有配置都没有设计到tomcat的server.xml,有的人在这个文件中做了数据库<br> 的配置是没有必要的,因为WebRoot.xml已经有了这些配置。<br><br>7. web.xml配置 <br><br><web-app xmlns="http://java.sun.com/xml/ns/j2ee"<br> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee<br>http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"<br> version="2.4"><br> <description>MySQL Connection</description><br> <resource-ref><br> <description>DB Connection</description><br> <res-ref-name>jdbc/mysql</res-ref-name><br> <res-type>javax.sql.DataSource</res-type><br> <res-auth>Container</res-auth><br> </resource-ref><br><br></web-app><br><br>8 .<br> <!-- <br> ======================================================<br> 数据库操作 采用JNDI 连接<br> <br> ======================================================<br>--><br> <%<br> Context ctx=new InitialContext();<br> if(ctx==null)<br> {throw new Exception("没有匹配的环境"); }<br> DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");<br> if(ds==null)<br> {throw new Exception("没有匹配数据库"); }<br> <br> con=ds.getConnection();<br><br> sql=con.createStatement();<br> <br>%><br><br><br>附:<br><br>最后完成的目录及文件:<br><br>1)D:\Tomcat5\conf\Catalina\localhost\WebRoot.xml <br><br>2)D:\web\WebRoot\WEB-INF\web.xml<br><br><br>3) D:\web\WebRoot\WEB-INF\lib\mysql-connector-java-5.0.5-bin.jar<br> D:\Tomcat5\common\lib\mysql-connector-java-5.0.5-bin.jar(不是必须的)<br><br>4)D:\web\WebRoot\ mysql_JNDI.jsp<br><br><br>最后运行:<br> http://localhost/WebRoot/mysql_JNDI.jsp (我的端口号: 80)<br><br>OK<br>

2007-11-23

jsp+sql2000+连接池+jfreechart-1.0.6图形控件

JNDI-index.jsp:<br> jsp+sql2000+连接池+jfreechart-1.0.6图形控件<br><br><br>有关连接池配置请下载我发的<br> mysql+连接池+JavaBean实现用户注册登陆系统<br>

2007-11-13

mysql+连接池+JavaBean实现用户注册登陆系统

mysql +连接池+JavaBean 实现用户注册登陆系统其实这是jsp宝典上第14章的例子,只是书上错误百出,我反复修改终于调试成功。调试环境: xp2mysql5.018jdk1.5.0_04Tomcat5.028数据库设计: 数据库名: mydb, 登录名:root 密码:123 users表: * 表示该字段是主键=================================================== 字段 数据类型 名称=================================================== USER_ID VARCHAR(50) * 用户名PASSWORD VARCHAR(50) 密码NAME VARCHAR(50) 姓名SEX CHAR(2) 性别BRITH LONG 生日DESCRIPTION VARCHAR(200) 个人描述products表: * 表示该字段是主键=================================================== 字段 数据类型 名称=================================================== PRODUCT_ID BIGINT(20) * 编号 PRODUCT_NAME VARCHAR(50) 名称PRICE FLOAT 价格DESCRIPTION VARCHAR(200) 描述我的Tomcat 安装目录是:D:\Tomcat5连接池配置: 请查看文件:WebRoot.xml 和 web.xml 注 WebRoot.xml 必须存放在D:\Tomcat5\conf\Catalina\localhost\处运行:http://localhost:80/WebRoot/index.jsp //我的 Tomcat 断口是80我的文件目录:D:\web\WebRoot\chek_login.jspD:\web\WebRoot\createMa.jspD:\web\WebRoot\do_register.jspD:\web\WebRoot\index.jspD:\web\WebRoot\login.jspD:\web\WebRoot\logout.jspD:\web\WebRoot\mydb.jspD:\web\WebRoot\register.cssD:\web\WebRoot\register.jspD:\web\WebRoot\WebRoot.xml 必须存放在D:\Tomcat5\conf\Catalina\localhost\下 [我的Tomcat 安装目录是:D:\Tomcat5]D:\web\WebRoot\说明.TxtD:\web\WebRoot\imags\bg.gifD:\web\WebRoot\imags\buy_reg.jpgD:\web\WebRoot\imags\buy_reset.jpgD:\web\WebRoot\imags\index_top32.gifD:\web\WebRoot\imags\liuchen.gifD:\web\WebRoot\imags\log_button.gifD:\web\WebRoot\imags\reg_button.gifD:\web\WebRoot\imags\userlogin.gifD:\web\WebRoot\imags\userlogin2.gifD:\web\WebRoot\imags\username.gifD:\web\WebRoot\imags\username2.gifD:\web\WebRoot\imags\userps.gifD:\web\WebRoot\imags\userps2.gifD:\web\WebRoot\imags\userym.gifD:\web\WebRoot\imags\userym2.gifD:\web\WebRoot\WEB-INF\web.xmlD:\web\WebRoot\WEB-INF\classes\AbstractProduct.javaD:\web\WebRoot\WEB-INF\classes\AbstractUser.javaD:\web\WebRoot\WEB-INF\classes\DateFormat.javaD:\web\WebRoot\WEB-INF\classes\DBConnect.javaD:\web\WebRoot\WEB-INF\classes\Factory.javaD:\web\WebRoot\WEB-INF\classes\MD5.javaD:\web\WebRoot\WEB-INF\classes\Product.javaD:\web\WebRoot\WEB-INF\classes\SqlFactory.javaD:\web\WebRoot\WEB-INF\classes\SqlProduct.javaD:\web\WebRoot\WEB-INF\classes\SqlUser.javaD:\web\WebRoot\WEB-INF\classes\User.javaD:\web\WebRoot\WEB-INF\classes\cn\registerD:\web\WebRoot\WEB-INF\classes\cn\register\DateFormat.classD:\web\WebRoot\WEB-INF\classes\cn\register\Factory.classD:\web\WebRoot\WEB-INF\classes\cn\register\MD5.classD:\web\WebRoot\WEB-INF\classes\cn\register\productD:\web\WebRoot\WEB-INF\classes\cn\register\SqlFactory.classD:\web\WebRoot\WEB-INF\classes\cn\register\db\DBConnect.classD:\web\WebRoot\WEB-INF\classes\cn\register\user\AbstractUser.classD:\web\WebRoot\WEB-INF\classes\cn\register\user\SqlUser.classD:\web\WebRoot\WEB-INF\classes\cn\register\user\Test.classD:\web\WebRoot\WEB-INF\classes\cn\register\user\User.classD:\web\WebRoot\WEB-INF\classes\cn\register\product\AbstractProduct.classD:\web\WebRoot\WEB-INF\classes\cn\register\product\Product.classD:\web\WebRoot\WEB-INF\classes\cn\register\product\SqlProduct.class

2007-11-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除