随笔 - 312, 文章 - 14, 评论 - 1393, 引用 - 0
数据加载中……

我的评论

共7页: 上一页 1 2 3 4 5 6 7 下一页 
@残梦追月
是的,我忘说了,struts.messages.error.file.too.large只在上传文件大小在maximumSize和struts.multipart.maxSize之间时才会显示这个值,其中maximumSize是文件上传拦截器的参数。如果超过struts.multipart.maxSize大小,文件不会被上传,在服务端和客户端页面都会抛出异常。
如果要替换信息,还不如直接替换common-upload这个组件中的相关信息。

不用这么麻烦,在资源文件中指定struts.messages.error.file.too.large就可以,如下

struts.messages.error.file.too.large = “{1}”文件尺寸太大

其中{1}会被替换成上传的文件名。
@gp0014
是这个问题,所有我问一下访问的url,哈哈。如果用services.xml进行配置,名子是不会变的。
re: Struts2.1.6测试小记 银河使者 2009-04-13 14:39  
@ccue
抛出java.lang.NoSuchMethodException异常是因为没有该属性的setter方法,struts 2无法为该属性赋值。
@ajax
你在浏览器中输入的url是什么,发上来看看
re: Struts2教程1:第一个Struts2程序 银河使者 2009-04-10 15:55  
@helphelphelp
不需要,报这个错误可能是你的JSP代码有错误!仔细检查一下。
@success2008
你这程序用什么测的,是直接在浏览器中测试的,还是使用本文的客户端程序?
@天空苍茫
通过网址访问也是由DNS将网址转换成ip的,就算是交换机的ip,也是可以访问的。除非在服务端程序做了验证
@隔叶黄莺
这只是原因之一,其他原因还很多
@passerby
webservice不支持ResultSet类型,一般将ResultSet中的数据放到对象数组中。如果你用hibernate这样的ORM就方便的多,这也是ORM的重要应用之一。
没办法,现在一般在web应用中调用ejb,所有部署在服务端也无所谓了。哈哈
@sekirai
报什么错,把错误信息贴出来。
re: AJAX从服务端获取数据的三种方法 银河使者 2009-03-25 08:27  
@liuhua
我在ie6下测的,it7和ie8没测过,也许是不兼容的问题吧。哎~
@lveyo
这两种方法没什么太大的区别,如果用第一种myThread相当于一个回调对象,调用start方法时调用了myThread对象中的run方法。但有一个区别,如果用第一种方法,MyThread类可以实现Runnable接口,也可以继承Thread类,而使用第二种方法,MyThread只能是Thread类的只类,如果只实现Runnable接口的类是不能用第二种方法的。
@qiulijian
你多运行几次,如运行20次再说,第一个例子不同步,第二个例子是同步的
如果与后台通讯,可以使用ajax调用webservice,不过这样就无法发挥本地程序的优势了。
楼主的这个系统实际上是自己做个Servlet容器,在本地运行,然后使用SWT显示用html做的页面,是这个意思不。如果只是单机,这种方式不错。不过不知道用户扩展是否方便。
建议还是使用动态生成wsdl的方式,静态的我也没用过,不太喜欢静态的方式
@Christino
修改wsdl文件?一种方法是在服务端先生成一个wsdl文件,然后放到META-INF目录中,或直接通过url由客户端根据wsdl生成Stub类,wsdl只用于客户端生成Stub类,是静态的或动态的都可以。当修改webservice类时,wsdl会自动改变的(动态方式)。
@Christino
哈哈,受宠若惊啊!
这也正体现了互联网的精神:人人为我,我为人人!!
@Christino
还要注意一点,arr的类型不能是ArrayTemp[],必须为Stub类所带的相应类型,也就是SpikeWebserviceStub.ArrayTemp[],所以会出现不匹配。

SpikeWebserviceStub.ArrayTemp[] arr = new SpikeWebserviceStub.ArrayTemp[]{...};
getWebFigure.setArr(arr);

这才正确!
对于程序员来说,使用什么操作系统都无所谓,如果非常在linux下用office,安个虚拟机装windows就ok了,不想用office就用openoffice3.0,功能也不错。
Java和Eclipse都是跨平台的,在Linux开发也没什么大不了的。以前用Fedora9在Linux下开发GCC程序,使用了Eclipse,感觉不错,linux的确是个很好的开发平台,不过对于以娱乐和普通办公一族来说,linux还需要改进。不过现在已经比当初red hat 7.0时好多了,
@Christino
按你的getWebFigure方法没有错误,我做了一个例子,完全没问题,可能是你设置的问题,另外要注意,ArrayTemp的相应属性必须有getter和setter方法,Axis2不会直接访问public的类字段,而是通过getter和setter方法来获得和设置属性值的。例子代码如下:

package service;

public class ArrayTemp
{
public int[] values = new int[10];

public int[] getValues()
{
return values;
}
public void setValues(int[] values)
{
this.values = values;
}
}

// webservice类
package service;

public class ComplexTypeService
{
public ArrayTemp[] getWebFigure(String[] _nee, ArrayTemp[] arr)
{
System.out.println(_nee[0]);
System.out.println(arr[0].values[0]);
ArrayTemp t = new ArrayTemp();

return new ArrayTemp[]{t};
}
}

<!-- services.xml -->
<service name="ComplexTypeService" >
<Description>
Please Type your service description here
</Description>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass" locked="false">service.ComplexTypeService</parameter>
</service>

我用.net测试的,没问题,估计Java也不会有问题。
多维数组axis2不支持,但可以使用对象数组,如声明一个长度为17520的数组,数组元素类型是一个对象,这个对象有一个类型为数组(长度为10)的属性。然后传到服务器再转换一下就可以了。
@Christino
将第三方的包放在axis2\WEB-INF\lib目录中,然后在webservice类中引用并调用相关的类就可以了,在客户端调用没什么区别。有什么问题吗?如果是正式发布的webservice,建议看看我后面的几篇文章,建议使用services.xml文件来发布,而不要放在pojo里,这里面的类不能有package。
@Christino
用java或其他客户端可以生成stub类并调用吗?
@guming123416
至于为什么volatile在某些时候不好使,这得问JVM了,可能是实现机制的问题,如果想保险点,应尽量少用volatile。thanking in java的作者也建议少用volatile。
@guming123416
哈哈,这是初学者指南,并没有讲得太深,如果想深入研究,可以反编译.class文件生成bytecode,一目了然!
本文只给出了结果而已!
@Leo1734
如果从bytecode角度看,Java源代码级的很多操作都不是原子的,javac将其编译成bytecode时都有多步组成。n = m也是由多步组成的,不过要给n加上volatile,n=m就是原子级的操作。
volatile的原子操作是将读、写合二为一了,保证了其他线程读取变量时总是最新的,如果变量的值和自身以前的值相关,则volatile不起作用,如n++、n=n-1等。
# re: 收集整理的java笔试面试题目 1.0版本…… 2009-03-14 16:35 | bitian
"1、作用域public,private,protected,以及不写时的区别?
答:区别如下:
作用域 当前类 同一packag 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×

默认时可以在子孙类中使用(可以继承),应该和protected是一样的,不信试试
@fwy
研究了一个volatile,知道为什么会不同步了,详见下面的文章:
Java多线程初学者指南(6):慎重使用volatile关键字
http://www.blogjava.net/nokiaguy/archive/2009/03/14/259733.html
就是public static int n = 0;加上volatile关键字为什么还不能同步?
@fwy
我现在用的是jdk6,这个程序是很久以前写的,用的是jdk1.4,当时测的时候好象是对的,不会是jdk的原因吧!晕,谁知道是怎么回事,请跟贴。
re: Struts2教程1:第一个Struts2程序 银河使者 2009-03-13 15:48  
@likestruts
404是没找到web资源,路径错了,或配置时有错误。把你的详细步骤以及访问的url发出来看看。
re: Struts2教程1:第一个Struts2程序 银河使者 2009-03-13 08:51  
@yxy
还有就是Java中的属性只是getter和setter方法,并不一定要有sum变量,getter方法可以从其他的资源获得相应的值,如文件、网络。当访问sum变量时,struts 2会自动调用getSum方法。
re: Struts2教程1:第一个Struts2程序 银河使者 2009-03-13 08:46  
@yxy
另外,包含getter和setter方法的类可以称为JavaBean
re: Struts2教程1:第一个Struts2程序 银河使者 2009-03-13 08:40  
@yxy
在Java中没有属性语法,所谓属性,只是getter和setter方法的组合,如果只有getter方法,则该属性是只读属性。 如果访问的属性是sum,Struts 2会自动调用Action类中的getSum方法来获得sum属性的值,调用setSum方法来设置sum属性的值。

实际上,java中的属性访问就是访问getter和setter方法。

re: Struts2教程2:处理一个form多个submit 银河使者 2009-03-13 08:38  
@yxy
这个没什么不好理解的,只是通过url来通知服务端调用哪个方法。
re: Struts2教程3:struts.xml常用配置解析 银河使者 2009-03-13 08:37  
@yxy
全局当然可以有多个result,每个result都有有name哦,当然是使用与name相符的result了。如果没有,则抛出异常。
@fwy
我测试了一下,这个volatile关键字好象不能真正的同步,看来得使用synchronized关键字了,程序改了一下,加了synchronized 关键字,这回结果一定是1000。
re: Struts2教程1:第一个Struts2程序 银河使者 2009-03-12 14:44  
@yxy
是的,这个sum属性是Action类的属性,通过getSum方法获得这个值,如果对struts 2处理数据的原理不了解,可以看下面的文章:
Struts 2杂谈(1):ValueStack对象的传送带机制
http://www.blogjava.net/nokiaguy/archive/2009/02/archive/2009/02/11/254314.html
是因为thread1和thread2都指定了Name,所有thread3就是Thread-1了。
@guest
是的,这个结果写错了,已经改过来了,thank you!
re: Struts2教程7:上传任意多个文件 银河使者 2009-03-11 13:55  
@love_future
不知你的页同是如何写的 <s:file>标签的name属性值应为upload
re: automation服务器不能创建对象 银河使者 2009-03-08 14:55  
楼主上面的命令上在客户端执行的吧?每个客户端都需要执行,有点麻烦哦!!
re: automation服务器不能创建对象 银河使者 2009-03-08 14:53  
最好是直接做一个ocx组件,或applet也行(也可以访问本地文件,不过需要一此设置),不知为什么要使用纯javascript呢?出于什么目的?javascript本身不能访问本地文件,必须要借助象com、applet这样的技术才行。Scripting.FileSystemObject也是com组件。象网易相册这样的网站都是使用了ocx来实现上传的功能的。
re: Struts1.x系列教程(14):动态Form 银河使者 2009-03-06 14:47  
@cyqnba
需要自己写哦
共7页: 上一页 1 2 3 4 5 6 7 下一页