三晋一枝花

全靠奋当家

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  13 Posts :: 0 Stories :: 2 Comments :: 0 Trackbacks

2008年12月22日 #

昨天是冬至,昨晚的最低气温太原市-18度,今天白天的最高温度是-1度。
今天我们去游了,那叫一个冷,下水带着手套,还冻得不行;不过还可以忍受;出来就不一样了,一出来,头发立刻冻成冰了,脚冻得没有知觉。
赶紧进屋,那家里平时冷得跟啥似的,现在感觉真暖和;
穿上衣服踢了约二十分钟的毽子,脚指头还是没有知觉;回到办公室还暖和了半个小时才算缓过来。

posted @ 2008-12-22 17:36 三晋一枝花 阅读(89) | 评论 (0)编辑 收藏

2008年12月2日 #

最近的温度已经到了2-3度了;据其他的泳友说,这基本上就是水温的最低温度了。
星期六游完以后,感觉到心慌的挺厉害,不知道是什么原因?星期日没有去。


今天秃鹰告诉我说可能是戒烟中,星期五抽了几根烟,造成心慌的。倒是昨天游了以后,没有什么感觉。反而觉得好了点。

上上个周六我们去了兴华游泳场,室内的空气差,水好;我居然能游4 、5个来回了,看来确实是有进步了,只不过还是游的慢。
posted @ 2008-12-02 09:08 三晋一枝花 阅读(113) | 评论 (0)编辑 收藏

2008年11月2日 #

    昨天泷源游泳场开始换水了,和秃鹰忍不住又去找室内游泳场去游个痛快,谁知道去了老干部活动中心,一下子就那种气味给熏了出来,那种味太大了,受不了,看来室内不能去了,那就去看看人家如何换水吧。
    去了那里,工人们正在干活,水已经放完了,正在冲底下的泥,很厚的,全冲到汾河里去了。
    我们在那里看了一个小时,第一遍快冲完了,听说还要冲第二遍;
    下午回家前,又去那里看,已经开始放水了,但只有一个大管子在放,听老板说一小时40吨水,整个池子3000吨水;得放多长时间啊;看见底子上大概有20公分深吧(最北边);
    今天中午2点,我们又去了,加了一个大管子;准备游,下水一看,还是太浅,但差不多能游,估计有80公分深了;
    水很清,温度也不错,不是特别冷,比平常要稍好一些。游了有4个来回,就走了;
    快走的时候,陆陆续续有一些其他的泳友也来了。呵呵,这个地方看来大家还是挺喜欢的啊。

---------------------------
 三晋一枝花,全靠奋当家
posted @ 2008-11-02 17:33 三晋一枝花 阅读(83) | 评论 (0)编辑 收藏

2008年10月30日 #

刚开始降温的那两天,左手小指有点麻,而且下去以后脖子后面疼的比较厉害;
这两天温度有所回升,脖子疼的不太厉害了,也就是第一趟有点疼,回来就没事了;手指头麻的地方变成了右手小指,呵呵,还会迁移。
---------------------------
 三晋一枝花,全靠奋当家
posted @ 2008-10-30 20:32 三晋一枝花 阅读(87) | 评论 (0)编辑 收藏

2008年10月25日 #

今天秃鹰打电话说早点去,可我有事走不开;
后来他又说中午别去了,他要回家去一趟,我说不去就不去吧。
可是我到了单位以后,不知道该干什么,不去游泳就觉得一件大事没有办似的,思前想后,斟酌半天,下定决心去。可是没有泳裤(在秃鹰的车里),怎么办?就把以前的那个快漏了的穿上吧,泳镜就先用老婆的那个,凑乎一下算了。
去了,风挺大,人不少,温度还低,比昨天还低了一度,说是9度多。下水后感觉是比昨天有点冷,但不要紧,速战速决,三个小来回,赶紧上岸。抹了点胖子的ADI油,跑跑步回家。

---------------------------------------
---------------------------
 三晋一枝花,全靠奋当家
posted @ 2008-10-25 14:47 三晋一枝花 阅读(230) | 评论 (0)编辑 收藏

2008年10月24日 #

前两天北方开始降温、下雨,昨天水温达到了11度,今天是10.6度,不敢多游了,前天还游了将近半个小时,昨天只是11分多,今天是10分钟。
几个主要的感觉是:水温确实下降了;感觉游泳费力(密度增大?);第一个小来回脖子挺疼,就是那种冻得发疼的感觉。
不知大家有没有进行冬泳的,我的感觉正常吗?
昨天,在冬泳网上看文章,说是:一般冬泳以8度为标准,8度以下为冬泳;冬泳时以时间或距离来测量,即几度的水就游几分钟;再一个,当身体感觉到发热时,就应当出水了;出水后,应当尽快擦干身体,并保温。
---------------------------------

posted @ 2008-10-24 15:03 三晋一枝花 阅读(143) | 评论 (1)编辑 收藏

2008年10月15日 #

用PowerDesigner 进行系统设计,还是有很多很方便的地方的。
但在学习和使用的过程中,如何与DBMS进行关联和对应还有很多的问题需要细抠。如下面的东西:

1、MSSQL中有一种数据类型叫UniqueIdentity,它会生成一个GUID数据,但如果对应到PD中的概念模型中,就没有办法对应,物理模型中也一样。哪位知道呢?
如果反向回来,在PD中,显示的是Variable Multibyte (36)的数据类型。

2、实体间的关系

我们知道在PD中,常用的实体间的联系有四种:一对一,一对多,多对一,多对多

但在选择Cardnalities时,cardnality 有:0,1 , 0,n ,1,n ,1,1 这四个又是说的什么呢?关键是0,1和0,n是什么意思。

 

在上图(概念模型图)中,担保项目与审保会议是一个一对多的关系。同时,在此关系中,担保项目最少一个,审保会议最少一个,最多N个;
在实际的数据库中,这是一个最最普通的外键关联关系。

哪位能解释一下,为什么不是下面这个图的样子呢?
posted @ 2008-10-15 17:23 三晋一枝花 阅读(1938) | 评论 (0)编辑 收藏

2008年10月12日 #

     摘要: 本书第一章实在写得不怎么样,建议初学者跳过第一章直接向后看。  阅读全文
posted @ 2008-10-12 17:52 三晋一枝花 阅读(275) | 评论 (1)编辑 收藏

2008年10月11日 #

坚持到底就是胜利。我在小学时读课外书时的一句话,至今没有忘记。
今天是在室外游泳第9天了,一点不觉得冷,因为现在还不算冬泳。但仍然不敢在水里多呆,那里的其他人告诉我的,他们有经验。

-------------------------------------------------

1、Java访问文件
书是都看过了,但我觉得jsp对文件的操作不多,暂时先放一放。
如果哪位读者觉得这一块有极大的用处,请给我留言啊。

2、用java 连接到数据库

a)、JDBC驱动程序的类型
类型1:JDBC-ODBC 桥驱动程序
类型2:本机API--部分Java驱动程序
类型3:JDBC-网协议纯Java驱动程序
类型4:本地协义纯Java驱动程序

类型3和类型4是使用JDBC API 访问数据库的优先选用的方法。

b)、装入驱动程序
Class.forName("org.gjt.mm.mysql.Driver");

c)、JDBC URL
数据库连接的下一步是定义一个JDBC URL,它链接一个驱动程序到一个数据源。
一个标准的JDBC URL 的写法是:jdbc:<subprotocol>:<data source identifier>
其中jdbc代表协议,subprotocol 是驱动程序的名称,data source identifier是数据源的名字。
例如:
jdbc-odbc 桥驱动程序使用驱动程序标识符odbc,一个例子是:jdbc:odbc:wrox
如果需要用户名和密码,可以是:jdbc:odbc:wrox?username=aaa&pwd=cccc
更通用的方式:
jdbc:mysql://localhost/wrox?user=aaa&password=ccc

d)、建立连接
我们可以使用DriverManager.getConnection()方法建立连接。
String url="jdbc:odbc:worx";
Connection con=DriverManager.getConnection(url);

e)、创建语句
Statement st=con.createStatement();

f)、执行语句
Statement对象有三种方法:
executeUpdate(),此方法用来执行DDL语句,以创建表或删除表
executeQuery(),返回一个单一的结果集,如一个select 的执行结果
execute(),返回一组结果集
posted @ 2008-10-11 16:41 三晋一枝花 阅读(181) | 评论 (0)编辑 收藏

2008年10月10日 #

今天游泳有了较大的进步,可以换气了,游了两个来回;感觉还行,只是手、脚、口还不太协调。
备注:是室外游泳。

--------------------------------------------------
1、Jsp 网站的结构化
本章主要讲了一些进行结构化的技术,以使程序达到可维护性和可重用性。

 include机制:
<%@ include file="footer.jsp" %>
这种机制的缺点:如果被包含页 footer.jsp 做了修改,但不修改包含页 index.jsp 的话,包含页 index.jsp 的内容不会发生变化。因为包含页将被包含页做了编译包含了进去;但现在被包含页做了变化,变化后的内容没有被包含进去(没有被编译)

动态包含:
<jsp:include page="footer.jsp" flush="true" />
这句话同样包含了footer.jsp页,并且增加了参数flush="true",这样可以保证,如果footer.jsp发生了改变,index.jsp页也会发生变化。
使用下面的语法还可以给被包含页传递参数:
<jsp:include page="footer.jsp" flush="true">
    <jsp:param name="menuitem1" value="news"/>
    <jsp:param name="menuitem2" value="new2">
</jsp:include>


JSP Model 1:

Model 1 结构的主要特征是:
    a、表现层用HTML 文件或JSP文件。如果需要,Jsp 文件可以用 JavaBean 去存取数据。
    b、Jsp 文件还负责所有的业务和处理逻辑,如接收到来的请求,转给适当的JSP,激活适当的JSP页等。这意味着 Model 1 结构是以页面设计为中心的---所有的逻辑和处理逻辑都出现在JSP页面上。
    c、数据访问要么通过JavaBean 实现,在Jsp中用JavaBean ,要么在Jsp 页面中写 scriptlet 实现。
在Model 1 结构下,应用程序的逻辑和程序流程都在页面中出现,因此页面与应用程序的逻辑是紧耦合的。
缺点:
在大型应用程序中,这种把逻辑耦合在页面中,以及需要将页锚链在一起的方式会带来问题,由于页面间是紧耦合的,因此分工很麻烦,有可能做美工的还需要了解程序的逻辑;


JSP Model 2 结构:

由于 Model 1 存在的缺限,因此为了将表示逻辑与控制逻辑分开,就产生了第二种结构,Model 2。
 


Model 2结构也就是著名的MVC结构。在这种结构中,将应用程序分了三种角色Model、 Controller、 View
在这种结构中,View视图是指表示层,Controller是控制器,Model 是与数据打交道的部分。

控制器接收应用程序的所有请求,对每一个接收到的请求,控制器将选择是做相应的处理还是要显示数据。若要显示数据,它将把请求转发给含有表示逻辑(叫view的应用)的JSP;如果要进行处理(如从数据库中读取数据),要么调用适当的JavaBean自己进行处理,要么把请求指派或转发给包含所需处理逻辑的JSP。

转发标签的写法:
<jsp:forward page="menu.jsp">
    <jsp:param name="userid" value="wuxs">
    <jsp:param name="pwd" value="pwd">
</jsp:forwar>

个人理解:所谓控制器,Controller 就是一个纯粹的Jsp页,它实现业务逻辑后(或处理后),转发给另外一个显示页。也就是说,应用程序可能经过了称为控制器的JSP页,但不会在此处停留。

也可以是一个servlet,使用 servlet 的缺点是代码中会包含有太多的HTML 代码。

-------------------------
2、servlet 技术介绍
servlet :是一种组件或程序,它可以动态的生成web内容。servlet 用Java Servlet API 编写,用像Tomcat 这样的服务器或容器管理。

web 应用程序中servlet 的作用:
自定义的servlet 继承自:java.servlet.http.HttpServlet。在写HTTP Servlet 时,我们可以得到一个实现了java.servlet.http.HttpServletRequest 接口的request 对象和一个实现了java.servlet.http.HttpServletResponse接口的response对象。
典型的,当开发基于HTTP的servlet 时,servlet 开发者只关心doGet()和 doPost() 方法。servlet 必须重载至少这两个方法中的一种方法。 
还有另外五种可重载的不常用的方法:
doHead() :用于处理 Http Head 请求。在HttpServlet 中 doHead()方法是一个特殊的方法,它将执行doGet()方法,但只给客户返回由doGet()产生的头信息。
doOptions() :用于处理Http Options 请求。 doOptions() 方法自动决定servlet 直接支持哪一种Http 方法,并把信息返回给客户。
doTrace() :用于处理Http Trace请求。 doTrace()方法引起一个响应,该响应带有包含Trace请求中所有头的信息。
doPut() :用于处理Http Put 请求。
doDelete() :用于处理 Http Delete 请求。

int() :初始化
destroy() :析构。
getServletInfo() : 让servlet 提供自身的信息。

servlet 的生存周期:
a)、装载、实例化及初始化:当第一次请求时,服务器动态装载并实例化servlet 。也可以通过配置服务器,使web 服务器初始化时就加载servlet 。因此,在开发过程中,如果更改了servlet 内容,而服务器没有重启,servlet  的响应是不会产生变化的。
b)、处理请求:容器在接收到客户的访问请求时,会查找servlet,并加载(如果还没有加载的话),并根据用户的请求使用doPost()或doGet()方法进行响应。

Request 对象:Request 对象封装了所有的用户请求信息。
获取传递的参数:
    getParameter() getParameterValues() 
    getQueryString() ,针对Http Get请求,获取参数串,需要自己处理
    getReader() ,针对Http Post 请求,返回一个BufferedReader 对象
    getInputStream() ,针对Http Post 请求,返回一个ServletInputStream 对象

Response 对象:HttpServletResponse 接口为应答客户定义了servlet方法。Response 对象封装了从服务器向客户返回的所有信息。
HttpServletResponse 对象提供了getWriter() 方法和getOutputStream()方法。
getWriter() ,返回Writer对象,用于输出文本数据;
getOutputStream() ,返回servletOutputStream对象,用于输出二进制数据。
在送出响应之后关闭Writer对象或servletOutputStream对象。
其它方法:
sendRedirect(),把客户重定向到另外的URL,这里的URL必须是绝对地址;
sendError(),用当前的出错代码状态送给客户一个出错信息。

c)、卸载:
典型情况下,servlet 从内存中卸载是在要求关闭容器时。容器会调用servlet的destroy()方法。

还有servlet 中的环境配置、参数获取及会话跟踪等不详细列出。
posted @ 2008-10-10 16:03 三晋一枝花 阅读(421) | 评论 (0)编辑 收藏