雅典之夏的小站
知人者智 自知者明 Fighting!!
我来解决手机电池问题 :
工具----设置------网络设置-------运营商选择------ 手动 -------选择你使用的运营商------ok  。这样大概要待机多1/3时间
posted @ 2007-01-10 11:06 rkind 阅读(223) | 评论 (0)编辑 收藏
http://looline.blogspot.com/
posted @ 2006-12-08 16:19 rkind 阅读(231) | 评论 (0)编辑 收藏
今天在试验了一下在Struts-config中配置数据源,虽然说这种方法并不推荐,
操作步骤:
      首先导入几个需要的包:首先自己连接数据库用的包,因为我用的是Mysql所以用的是“mm.mysql-2.0.4-bin.jar”,还有“commons-dbcp-1.2.1.jar”这个是数据源中要用到的包,还有“commons-pool-1.2.jar”这个不太清楚
     其次在Struts-config.xml中加入如下代码
    <data-sources>
        
<data-source key="rki" type="org.apache.commons.dbcp.BasicDataSource">  //type代表类,rki表示当有多个数据源时相
//当于一个索引,id值

            
<set-property property="driverClassName" value="org.gjt.mm.mysql.Driver" />//连接mysql所需的类库
            
<set-property property="url" value="jdbc:mysql://172.20.0.40:3306/test?useUnicode=true&amp;characterEncoding=GBK" />
            
<set-property property="username" value="root" />
            
<set-property property="password" value="你的密码" />
            
<set-property property="maxActive" value="10" />
            
<set-property property="maxWait" value="500" />
            
<set-property property="defaultAutoCommit" value="false" />
            
<set-property property="defaultReadOnly" value="false" />
        
</data-source>
    
</data-sources>
然后现在就可以在你的Action试验数据库的连接,简单引用的代码片断
datasource = getDataSource(request, "rki");
            conn 
= datasource.getConnection();
            Statement state 
= conn.createStatement();
            System.out.println(
"hello");
            String sql 
= "select * from notice where title='test'";
            ResultSet rs 
= state.executeQuery(sql);
            
while (rs.next()) {
                request.getSession().setAttribute(
"cont",
                        rs.getString(
"content"));
                System.out.println(
"database connect true");
            }

            rs.close();
在试验的过程中,老是不能连接,出“Initializing application data source”我仔细检查过以上的配置并没有问题,重启了几次服务器也不行,查了N多资料,最后居然自己好了,郁闷的要死
一点总结,
           可见在Struts中配置数据源要比别的连接方法要复杂,而且效率上来说也不一定要好,还不如自己通过自己编写简单的访问数据库的类,或者是直接采用Tomcat的数据源要方便 一些。
posted @ 2006-10-31 15:49 rkind 阅读(357) | 评论 (0)编辑 收藏
在Struts中可以通过<html:errors/>来显示错误信息,今天简单看了一点,总结一下:
1)如果是采用了formbean的validate的话,首先,struts-config.xml中Action需要加入validate="true"
      其实,在Actionform中的validate必须返回一个自己定义的Actionerrors,如例:
    public ActionErrors validate(ActionMapping mapping,
            HttpServletRequest request) 
{
        ActionErrors errors 
= new ActionErrors();
        
if (this.content.equals("")) {
            errors.add(
"content"new ActionError("error.user"));
        }

        
return errors;
    }
2)如果没有采用,而是用Action验证的话,也需要先定义一个Actionerrors,然后再通过
saveErrors(request,errors);把Actionerrrors保存到request中
3)需要注意的
  a,每个ActionErrors都有一个String,和一个ActionError构成,ActionError里面的String是和项目资源文件里的一一对应的,String是和html:errors中property相对应的。
posted @ 2006-10-30 17:23 rkind 阅读(542) | 评论 (0)编辑 收藏

这就是在前面的简单应用中,在view中,通过<bean:write name="myform" property="name">调用Actionform时出的问题,这个问题的直接原因很简单就是:找不到"myform"这个Bean,用网上的话说就是在Action里一般会request.setAttribute()一些对象,然后在转向的jsp文件里(用tag或request.getAttribute()方法)得到这些对象并显示出来。这个异常是说jsp要得到一个对象,但前面的Action里并没有将对象设置到request(也可以是session、servletContext)里。可能是名字错了,请检查jsp里的tag的一般是name属性,或getAttribute()方法的参数值;或者是Action逻辑有问题没有执行setAttribute()方法就先转向了。
还有另外一个可能,纯粹是jsp文件的问题,例如<logic:iterate>会指定一个id值,然后在循环里<bean:write>使用这个值作为name的值,如果这两个值不同,也会出现此异常。(都是一个道理,request里没有对应的对象。)
”。
      我对Actionform的机制不理解,心中的疑问:
      1)如果ActionForm是Struts自动封装到Request中,那么我可以直接在view.jsp中,能过<bean:write>调用这个ActionForm,如果假设这种情况成立时,那么Beanwrite中的bean名应该是ActionForm的类名,还是在Struts-config.xml里给ActionForm定义的类名?
      2)如果没有封装的话,那么是不是需要在Action中把Actionform通过request.setAttribute("","")放到request中
还是要放到Session中,
      我测试时候出的问题
       有一次就是在1)的情况下测试成功的,但是以后再怎么试都不行,那次是引用的Struts-config.xml里给ActionForm定义的类名。非常奇怪,
        还有就是2)的情况,测试中如果Action和Frombean在一个包下面,那么通过request.setAttribute("",""),就可以获取到Bean,如果不是的话,有时候行,有时候不行,
        如果通过request.getSession.setAttribute()设置ActionForm的话,每次都可以,他们的Scope肯定在一个Request中,那么为什么Session就可以,而Request不行。(结论:因为是在Actionfoward中设置了“redirect='true',这样的话一跳转时,Request中的内容都会被重置,所以不行,把这一句去掉就可以了”)

posted @ 2006-10-30 14:07 rkind 阅读(8486) | 评论 (1)编辑 收藏

1、简介

            简单的页面输入并显示的功能,有两个页面,
            upnews.jsp 提供输入内容的界面,show.jsp显示已经输入的内容

2、源码
      struts-config,流程图

Snap3.jpg
源代码
Strust-config.xml

<form-bean name="upNewsForm" type="com.rkind.struts.form.UpNewsForm" />
        <action attribute="upNewsForm" input="/upNews.jsp" name="upNewsForm" path="/upNews" scope="request" type="com.rkind.struts.action.UpNewsAction">
            
<forward name="suc" path="/show.jsp" redirect="true" />
        
</action>


upnews.jsp
     都是eclispe自动生成的
<html:form action="/upNews">
            content : 
<html:text property="content"/><html:errors property="content"/><br/>
            
<html:submit/><html:cancel/>
        
</html:form>

show.jsp这个简单就一句话,
<bean:write name="upNewsForm" property="content"/>

模型的部分 formbean,自动生成,未做改动
Controller部分,核心啊
UpNewsForm upNewsForm = (UpNewsForm) form;
        
// TODO Auto-generated method stub
        String te=upNewsForm.getContent();
        
try{
        
if(te.equals("")){
            
return new ActionForward(mapping.getInput());        
        }

        
return (mapping.findForward("suc"));
        }
catch(Exception e){
            
throw new RuntimeException(e.getMessage());

好了,但是在测试的时候一直出问题,输入以后不能正常,原因有2
1、在链接时候,没有加“/”导致不能正常连接
2、forward name="suc" path="/show.jsp" redirect="true" 起初没有加redirect,不能跳转。
posted @ 2006-10-27 12:39 rkind 阅读(468) | 评论 (0)编辑 收藏

1、插入和包含
   1)   js,一般都放在head之间、注释的作用是当客户端浏览器版本过低时,不能识别而发生错误
<script language="JavaScript">
<!--
document.write(
"Hello World!");
//-->

</script>
 2)另外你也可以编辑.js文件,然后在页面里面直接引用就可以了
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>javascript</title><script language="javascript"src="Untitled-2.js"></script>
</head>


2、write
  在js中要显示字符,需要用document.write()的形式,writeln区别就是再write的基础上加入了换行

3、如例
document.write("Hello World!");
document.write("test"+document.lastModified);
document.bgColor = " black "
其中,document是对象,write是method,输出字符可以用加的形式,,可以在js里面设定页面的背景

4、提示框
   1)window.alert("testtesttest")
    弹出窗口
   2)window.confirm("test")
   3)有输入框的提示框
        window.prompt("test")
一不小心双击了标签了,写的全都没了!!!后面的不写了,写js时一定要注意“”   ’号的运用!

js的功能是超级强大的,运用还是要靠脑筋的,
posted @ 2006-10-26 12:09 rkind 阅读(449) | 评论 (0)编辑 收藏