Java初学问题实录(三)
2008-01-05 09:13:15 来源:WEB开发网核心提示:件按原格式显示在jsp页面或servlet上? 答: 其实一个非常简单的解决方法就是在服务器的MIME中指点定TEXT和Word的解释方式,然后用JSP或SERVLET生成它就行了,客户端就会自动调用相应程序打开你的文档, 假如是希望按原格式的显示在页面上,Java初学问题实录(三),而不是调用其他程
件按原格式显示在jsp页面或servlet上?
答:
其实一个非常简单的解决方法就是在服务器的MIME中指点定TEXT和Word的解释方式,然
后用JSP或SERVLET生成它就行了,客户端就会自动调用相应程序打开你的文档。
假如是希望按原格式的显示在页面上,而不是调用其他程序打开那么你可以试试用WEB
DEV协议,可以说这是MS的一个亮点.它是在WEB方式下打开文档,和共享一样.完全符合的要求
。
51. 问:object的clone方法为什么不能直接调用?
答:
这个方法在object中是PRotected
为什么要把这个方法定义为protected,这是一个折中,它的目的是想知道你这个方法在
Object里只是一个标记,而不是一个实现,比如
public class Object
{
.............
protected Object clone()
{}
}
所以直接继续的clone()方法并不能做任何时,你要使用这个方法就要重载这个方法并放
宽访问权限为public,或实现cloneable接口.
但它没法这样告诉你它没有真的实现,只好用protected 方法加以警示
52. 问:一个页面中如何刷新另外一个页面?
答:
要求是这些面页必须有关联,一是它们都有一个共同的顶层帧,也就是说是一个帧内的分
级页面,当然可以是任意级,帧内再分帧也可以,另一个可能是当前窗口弹出的窗口,假如没有
联系,那就不可能用一个页面刷新另一个页面.
帧内只要一级一级引用就行了.
比如在左帧中一个页面中写
top.right.location.reload();那么名为right的右帧中的页面就会刷新.
弹出的一样,用open时的名称刷新子窗口,子窗口用opener刷新主窗口
53. 问:如何在jsp中怎么样向客户端写cookies?
答:
Cookie coo = new Cookie(name, value);
HttpServletResponse.addCookie(name);
54. 问:为什么jTextField1.setText("aaabbb");jTextField2.setText("AAABBB"); 得到
的字体宽度不一样?
答:就是说假如不是指定为等宽字体,每个字体的宽度都是不一样的.因此java中用Fon
tMetrics 类来取字符宽度。
55. 问:String kk=application/octet-stream; name="G:/SMBCrack.exe";如何得到SMBC
rack.exe?
答:
这应该是解析上传时候的二进制流得到的
这一行里面格式是固定的,取到name="后面的字符串,然后把";去掉。
然后取最后一个/后面的所有字符组成一个新字符串就行了。
56. 问:如何传值并不刷新页面?
答:
弹出一个页面进行值的选择或者输入,ok后使用将值传给原窗口,使用javascript关闭
打开的窗口即可:
window.close();opener.focus();
57. 问:有一个字符串:“EF0C114EA4”,如何变为a[0] = 0xEF a[1] = 0x0C a[2] = 0x
11 a[3] = 0x4E a[4] = 0xA4?
答:
String str="EF0C114EA4F";
out.print(str+"");
int l=str.length()/2+str.length()%2,j=0,k=0;
String[] a=new String[l];
for(int i=0;i");
j+=2;
}
58. 问:怎样将一个int转换成一个四字节的byte数组?
答:
int x = 1234567;
byte[] b = new byte[4];
for(int i=0;i>( i*8)) & 0xFF;
}
59. 问:indexOf()的使用需要注重什么?
答:参数是指从第几位(1,2,3,...)开始搜索,而返回值是指搜索到的位置(0,
1,2,3.......)注重是从零算起的。
60. 问:在Java应用程序中如何动态的添加一个按钮?
答:
这里涉及一个组件重绘的问题,组件要先于panel被显示之处存在,假如一panel已经显示
了,那么加在上面你能看到吗?但假如在同一个panel上,先有button A,假如按下它加了butt
on B,这时你假如使整个panel重给,那么A本身要重绘,它的事件监听就没有了,当然也就加不
成B了,所以假如要先有另一个panel,当按A时把B加在这个panel上并重绘这个paenl,其实更
好的方法是先把B加在panel中,同一个也行.把它setVisiable(flase),按A时设为true。
更多精彩
赞助商链接