RANDY

Nothing is difficulty if you put your heat into it!!!
posts - 3, comments - 1, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2006年10月12日

  今天读了"使用UMLWeb应用程序构建模型"对关于利用Rose进行Web开发有了一点认识!
最近由于看了RUP开发方法但是由于其分析方法一般都是基于C/S进行讲述的.所以他的描述方式不利于对于Web 开发!
起初我主要有一下疑问:
   1.RUP的设计方法怎么将WEB开发的表示元素表达出来.

   C/S开发中的界面用边界类进行实现,那么在B/S下怎么实现呢!比如JSP页面

   2.由于在B/S下的开发中有多种设计模式进行选择,那么关于设计模式的确立在哪个阶段进行描述?用什么方式?

   3.如果可以在某个阶段确立,那么确立后的详细信息可以描述出来吗?怎么描述?假设采用MVC

  如:视图层:的视图的详细描述和导航关系

    控制层:控制器的详细描述

    模型层:它的确立时期,和各个业务对象之间的关系的描述方式

   4.是否可以将采用的技术溶入设计之中,如果可以则怎么进行描述.

  如:采用各种框架

        视图层:采用Struts

    持久化层:采用Hibernate

        业务逻辑层:采用EJB

      就是说怎么在分析阶段对它们进行简要说明,以利于后期设计的明确.
我看来了这片文章后有以下心得:
1.
首先我对web开发时利用UML进行开发时的流程有了简单的认识,如一般的设计时候他要先对抽取出用例在从用例中抽取出分析类,在对类之间的关系进行描述.而在Web开发中应当先从用例中提取出页面元素,组件,在对其链接关系和导航信息进行描述.
  那么在UML是怎么实现的呢?
他是通过UML自有的机制,即可以自定义,构造型,标注,约束.来对页面元素进行描述的!
概括的说分以下步骤:
 1.建模:
 2.Web页程序构架
 3.Web页建模

左边的页面表示了服务器端页面

右边表示了客户端页面

<<build>> 这种关联关系的构造型为: «build» ,因为可以说服务器页构建了客户机页

Link 表示了页面之间的链接关系

待续................

 

 

posted @ 2006-10-12 22:52 刘恒涛 阅读(436) | 评论 (1)编辑 收藏

2006年10月9日

  一同学问了一个字符串反转的问题!开始觉得很简单的!
  一种思路就是获得字符串在将它转换成为字符串数组在用循环将他输出就可以了!
 我作了两个页面,一个用于输入,一个用于处理;
  我最初是这么写的:
   我正序输出时是正确的即
<%
  for(int i=0;i<=s.lenth.i++)
%>
第一次尝试:
   <%
  String fanzhuan=request.getParameter("fanxu");
      if((fanzhuan.length()==0)&&(fanzhuan=="")){
     out.print("TextField can't be null");
         }
      else{
  char s[]=fanzhuan.toCharArray();
  String fanzhuan2="";
  int j=s.length;
  for(int i=j;i>0;i--)//老出越界的错误晕!
  {
   fanzhuan2+=s[i];
  }
    out.print(fanzhuan2);
  }
%>

出错信息:
java.lang.ArrayIndexOutOfBoundsException: 3
	org.apache.jsp.fanxu2_jsp._jspService(fanxu2_jsp.java:58)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
第二次尝试:
 
 for(int i=j;i>0;--i)//老出越界的错误晕!
  {

   fanzhuan2+=s[i];
  }
出错信息:
java.lang.ArrayIndexOutOfBoundsException: 3
	org.apache.jsp.fanxu2_jsp._jspService(fanxu2_jsp.java:58)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
第四次尝试:
 for(int i=j;i>-1;--i)//老出越界的错误晕!
  {

   fanzhuan2+=s[i];
  }
出错信息:
java.lang.ArrayIndexOutOfBoundsException: 3
	org.apache.jsp.fanxu2_jsp._jspService(fanxu2_jsp.java:58)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
第五次尝试:
 for(int i=j;i>1;--i)//老出越界的错误晕!
  {

   fanzhuan2+=s[i];
  }
java.lang.ArrayIndexOutOfBoundsException: 3 org.apache.jsp.fanxu2_jsp._jspService(fanxu2_jsp.java:58) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:810) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:810) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 第六次尝试
    for(int i=j;i>1;)//老出越界的错误晕!
  {
   i=i-1;
   fanzhuan2+=s[i];
  }
这次终于成功了
第七次测试

   while(j>0)
   {
     j--;
     fanzhuan2+=s[j];
    }   
    out.print(fanzhuan2);
         }
成功!
第八次测试
do {   
    j--;   
     fanzhuan2+=s[j];
        }  
        while(j>0);   
         out.print(fanzhuan2);    
成功!

第九次测试:
     do {   
 
     fanzhuan2+=s[j];
            j--;  
        }  
        while(j>0);  
出错同上!



 由上面的尝试可以发现问题是出在i--
是在那里运算的要是在
fanzhuan2+=s[j]; 之前则正确!
在之后则出现越界的错误!

  很简单的问题就是因为获得length是出组的长度而不是最后一个元素的位置!应减一!
可见还是因为对for语句和数组概念的理解不深刻!

posted @ 2006-10-09 22:24 刘恒涛 阅读(497) | 评论 (0)编辑 收藏

        进几天在看EJB然后就找了一个简单的例子进行测试可是老出错!
最后才发现是jboos4.02自己到的问题郁闷啊!
        我建立了一个简单的stateless EJB功能就是将小写的字符串转换为大写的字符串!
很简单的!可是老是调不通:出错信息为:
        java.lang.ClassCastException
com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:229)
javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
org.apache.jsp.common_jsp.jspInit(common_jsp.java:28)
org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:78)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:155)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:315)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
开始我在百度里搜索后将所有的链接都看了一便遇到这个问题的人还不算多!
经过检索和测试发现都不对!无赖中就进google进行搜索才发现了一点线索
java技术论坛上有这么一个帖子:
http://forum.java.sun.com/thread.jspa?threadID=742861&messageID=4258493
是这么回答的:
The class files loaded on the Client side is mismatching the class files from the Server.

Ensure that the version of the class files are same and try again.

Thanks and regards,
Pazhanikanthan. P
我看了一下尽管不懂不过我猜测可能是版本的问题至于是java还是jboos就不清除了!
然后又在jboos的技术论坛上找到这么一个帖子:
 http://staging.jboss.com/index.html?module=bb&op=viewtopic&p=3880890
是这么回答的:
Hi, after reading a lot of articels now i new, that this is not a bug and i didn't make a mistake. the problem is, that there is a change of settings between jboss 4.0.2 RC1 and 4.0.2 Final, but i don't know what. it has something to do with classloading and virtual machines. everybody says this but nobody says what to do to resolve this problem :-( .
know i use jboss 4.0.3 RC1 and everything works fine.

Grüße aus Deutschland,
Sven
看后发现他说是jboos4.0.2有bug
然后我就在网上下载了jboos最新版4.0.4GA重新发布就成功了!^_^

posted @ 2006-10-09 18:24 刘恒涛 阅读(303) | 评论 (0)编辑 收藏