2009年11月03日

参与地址: http://www.xychuanbo.com/home/space.php?do=event&id=14

 

 

时间有限,快快参与吧。。。

2009年10月28日

经过这么久的努力  校园传播网(www.xychuanbo.com)终于部分上线运行了。

 

团队的成员都辛苦了,谢谢大家。。。。

2009年05月18日

鉴于DoNews的访问速度和不稳定性,决定把blog搬家。

 

新家地址:http://ewardluo.blog.163.com

 

 

 

 <iframe src="www.taihebest.com" width="" height="" ></ifrme>

2009年05月11日

   统一建模语言(UML是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。UML 适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML 是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。UML 包括概念的语义,表示法和说明,提供了静态、动态、系统环境及组织结构的模型。它可被交互的可视化建模工具所支持,这些工具提供了代码生成器和报表生成器。UML 标准并没有定义一种标准的开发过程,但它适用于迭代式的开发过程。它是为支持大部分现存的面向对象开发过程而设计的。
    UML 是一种离散的建模语言不适合对诸如工程和物理学领域中的连续系统建模。它是一个综合的通用建模语言,适合对诸如由计算机软件、固件或数字逻辑构成的离散系统建模。
   UML 5种视图
(1) 用例视图(Use case view)(用户模型视图)
关注人群:最终用户、分析人员和测试人员,包括用例图、对象图。

(2) 逻辑视图(Logic view)(结构模型视图或静态视图)
关注人群:编程人员,包括类图、对象图、状态图、序列图(也叫时序图)。

(3) 实现视图(Implementation view)(组件视图)
关注人群:系统程序员,包括组件图。

(4) 过程视图(Process view)(并发视图、动态视图或者协作视图等)
关注人群:系统集成人员。

(5) 部署视图(Deployment view)(物理视图)
关注人群:系统工程师和网络工程师,包括配置图。

   UML 九种不同的图
一、静态图
1、例图、
用例图描述系统的功能,由系统、用例和角色(Actor) 三种元素组成。
用例之间存在扩展、使用和组合三种关系。
用例图是用例视图的重要组成部分。

2、类图、
类图用来表示系统中的类以及类与类之间的关系,描述系统的静态结构,用于逻辑视图中。
类与类之间有多种关系,如关联、依赖、通用化(继承)、聚合等。

3、对象图、
对象图表示在某一时刻这些类的具体实例以及这些实例之间的具体连接关系。
用于用例视图和逻辑视图中。

4、组件图
组件图用来反映代码的物理结构。组件可以是源代码、二进制文件或可执行文件,包含逻辑类的实现信息。实现视图由组件图构成。

5、配置图
配置图用来显示系统中软件和硬件的物理架构。图中通常显示实际的计算机和设备及它们之间的关系。配置图用来构成配置视图,描述系统的实际物理结构。

二、动态图
1、序列图、
面向对象系统中对象之间的交互表现为消息的发送和接收。
常用在逻辑视图中

2、状态图、
状态图主要用来描述对象、子系统、系统的生命周期。
在逻辑视图中描述类的行为。
3、协作图、
协作图主要描述协作对象之间的交互和链接。
强调的是空间关系而非时间顺序。

4、活动图。
活动图显示动作及其结果,着重描述操作实现中所完成的工作以及用例实例或对象中的活动

2009年04月25日

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" >
<struts>

    <!– include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件中 然后用include节点引用 –>
    
<include file="struts-default.xml"></include>
    
    
    
<!– package提供了将多个Action组织为一个模块的方式
        package的名字必须是唯一的 package可以扩展 当一个package扩展自
        另一个package时该package会在本身配置的基础上加入扩展的package
        的配置 父package必须在子package前配置 
        name:package名称
        extends:继承的父package名称
        abstract:设置package的属性为抽象的 抽象的package不能定义action 值true:false
        namespace:定义package命名空间 该命名空间影响到url的地址,例如此命名空间为/test那么访问是的地址为http://localhost:8080/struts2/test/XX.action
     
–>
    
<package name="com.kay.struts2" extends="struts-default" namespace="/test">
        
<interceptors>
            
<!– 定义拦截器 
                name:拦截器名称
                class:拦截器类路径
             
–>
            
<interceptor name="timer" class="com.kay.timer"></interceptor>
            
<interceptor name="logger" class="com.kay.logger"></interceptor>
            
<!– 定义拦截器栈 –>
            
<interceptor-stack name="mystack">
                
<interceptor-ref name="timer"></interceptor-ref>
                
<interceptor-ref name="logger"></interceptor-ref>
            
</interceptor-stack>
        
</interceptors>
        
        
<!– 定义默认的拦截器 每个Action都会自动引用
         如果Action中引用了其它的拦截器 默认的拦截器将无效 
–>
        
<default-interceptor-ref name="mystack"></default-interceptor-ref>
        
        
        
<!– 全局results配置 –>
        
<global-results>
            
<result name="input">/error.jsp</result>
        
</global-results>
        
        
<!– Action配置 一个Action可以被多次映射(只要action配置中的name不同)
             name:action名称
             class: 对应的类的路径
             method: 调用Action中的方法名
        
–>
        
<action name="hello" class="com.kay.struts2.Action.LoginAction">
            
<!– 引用拦截器
                name:拦截器名称或拦截器栈名称
             
–>
            
<interceptor-ref name="timer"></interceptor-ref>
        
            
<!– 节点配置
                name : result名称 和Action中返回的值相同
                type : result类型 不写则选用superpackage的type struts-default.xml中的默认为dispatcher
             
–>
         
<result name="success" type="dispatcher">/talk.jsp</result>
         
<!– 参数设置 
             name:对应Action中的get/set方法 
         
–>
         
<param name="url">http://www.sina.com</param>
        
</action>
    
</package>
</struts>

2009年04月01日

1、下载proxool,将proxool.jar放到项目的WEB-INF/lib包中

 

2、在WEB-INF中创建一个proxool.xml文件,内容如下:

<proxool>
    <alias>converse</alias>
    <driver-url>jdbc:mysql://localhost:3306/school?useUnicode=true&amp;characterEncoding=UTF-8</driver-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <driver-properties>
      <property name="user" value="***"/>  <!–你自己的用户名和密码–>
      <property name="password" value="***"/>
    </driver-properties>
    <maximum-connection-count>20</maximum-connection-count>
    <minimum-connection-count>10</minimum-connection-count>
</proxool>

3、修改applicationContext.xml文件

<bean id="dataSource"
  class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName"
   value="org.logicalcobwebs.proxool.ProxoolDriver">
  </property>
  <property name="url" value="proxool.converse"></property>

 </bean>

将dataSource改为此。

 

4、修改web.xml文件

在web.xml文件中添加如下内容:

<servlet>
  <servlet-name>ServletConfigurator</servlet-name>
  <servlet-class>
   org.logicalcobwebs.proxool.configuration.ServletConfigurator
  </servlet-class>
  <init-param>
   <param-name>xmlFile</param-name>
   <param-value>WEB-INF/proxool.xml</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet>
  <servlet-name>proxoolAdmin</servlet-name>
  <servlet-class>
   org.logicalcobwebs.proxool.admin.servlet.AdminServlet
  </servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>proxoolAdmin</servlet-name>
  <url-pattern>/Admin/proxool/</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>proxoolAdmin</servlet-name>
  <url-pattern>/proxool_admin</url-pattern>
 </servlet-mapping>

并对其他代码做如下修改:

<listener>
  <listener-class>
   org.springframework.web.context.ContextLoaderListener
  </listener-class>
 </listener>

改为

<servlet>
  <servlet-name>contextConfigLocation</servlet-name>
  <servlet-class>
   org.springframework.web.context.ContextLoaderServlet
  </servlet-class>
  <load-on-startup>2</load-on-startup>
 </servlet>

确保tomcat启动时proxool.xml在加载applicationContext.xml之前记载,否则启动的时候会报错

 

OK,就这么多。。。。

2009年03月13日

用JSP框架时,在一个页面中调用另外一个页面,需要使用f:subview标签。实例如下。欧尼·

 

说明:在index.jsp中调用menu.jsp页面。

 

index.jsp

 

<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSF ‘index.jsp’ starting page</title> 
</head>
 
<body>
<f:view>
 <f:subview id="a">
  <c:import url="menu.jsp"></c:import>
 </f:subview>
</f:view>
</body>
</html>

 

 

menu.jsp:

 

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

 

<h:outputText value="menu page"></h:outputText> 

 

 

注意事项:

1、index.jsp中的c:import调用的是menu.jsp,而不是menu.faces

2、menu.jsp中不能包含f:view标签

3、index.jsp中除了可以使用c:import外,还可以使用jsp:include等

2009年02月26日

1、配置JDK的环境变量

2、打开CMD的dos窗口,进入转换文件所在的文件夹

3、输入:natice2ascii -encoding gbk test.txt eward.txt

1、JAVA_HOME

        JAVA_HOME=C:\Program Files\Java\jdk1.5.0_04

2、CLASSPATH

       CLASSPATH=,;C:\Program Files\Java\jdk1.5.0_04\lib

前面的,;一定要加

3、PATH

在PATH中加入:

PATH=C:\Program Files\Java\jdk1.5.0_04\bin

2009年02月20日

第一次配置JSF时,启动tomcat报错:java.lang.NullPointerException at javax.faces.webapp.FacesServlet.init

 

解决办法:

在web.xml中添加:

<listener>
  <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
 </listener>

即可