问题:
如何在文本框中只允许输入汉字,字母数字或者其他符号文字都不可以呢?
处理:
//javascript
var re=/[^\x00-\xff]/g;
if(re.test(你要测试的值))
{
//是汉字
}
注:用ascII码控制。好像汉字都是负数
System.out.println(Pattern.compile("[\u4e00-\u9fa5]").matcher("a").find());
//[\u4e00-\u9fa5] 中文的正则表达式
//"a" 你想判断的字符
posted @
2006-03-22 22:39 xnabx 阅读(506) |
评论 (1) |
编辑 收藏
问题:
在ArrayList 应用中有这样的代码:
ArrayList a=new ArrayList();
a.add(...);
Iterator i=a.iterator();
理解:Iterator i=a.iterator();
Iterator 是一个接口,在上面a.iterator()方法的作用是返回一个接口
hasmore(),next()是怎么被实现的?
处理:
迭代模式
ArrayList内部有一个实现了Iterator 接口的类,a.iterator就是返回它内部类的一个实例,即返回一个实现了的iterator接口的类。
接口是一个类型,相当于一个父类型(supertype),可以用一个接口引用一个实现了此接口的类的实例。这样只能用接口提供的方法来访问此对象,可以限制访问,隐藏具体实现。
posted @
2006-03-22 22:35 xnabx 阅读(244) |
评论 (0) |
编辑 收藏
我想遍历所有key为username的值,比如:
每一个登陆用户都有一个username的session,我如何判断有多少个这样的session及其值呢?
处理:
HttpSessionBindingListener进行监听,维护一个全局变量
posted @
2006-03-22 17:13 xnabx 阅读(1093) |
评论 (0) |
编辑 收藏
首先明确一下,楼主的问题应该是比较 JDK 和 JRE (而不是 JVM,因为 JDK 和 JRE 里面都包含 JVM)。
顾名思义,JDK 比 JRE 多出来的东西,就是在开发过程中要用到的一些东西,比如 javac、javadoc、keytool 等工具,还有其它的一些东西(比如 API 文档)。一般来说,这些东西在软件开发完成交付运行之后就用不到了。不过也有例外,比如要在 Tomcat 里跑 JSP 的话,就需要 javac。
posted @
2006-03-22 16:14 xnabx 阅读(130) |
评论 (0) |
编辑 收藏
public:公有的,说明该类成员可被所有的对象使用
protected:保护的,说明该类成员能被同一类中的其他成员,或其子类成员,或同一包中的其他类访问,不能被其他包的非子类访问
无:默认的.当修饰符默认时,说明该类成员能被同一类中的其他成员,或同一包中的其他类访问,不能被其他包的类访问
private:私有的,说明该类成员只能被同一类中的其他成员访问,不能被其他类的成员访问,也不能被子类成员访问.
posted @
2006-03-22 15:57 xnabx 阅读(166) |
评论 (0) |
编辑 收藏
1. 有一个ArrayList,里面包含N个Integer,其中的Integer都是由1至N+1的数字构成,并且不重复,但是有一个1至N+1的数字对应的Integer
不存在ArrayList中,求该数。
public static void main(String[] args){
ArrayList list= new ArrayList();
list.add(Integet(7));
list.add(Integet(8));
list.add(Integet(1));
list.add(Integet(2));
list.add(Integet(3));
list.add(Integet(4));
list.add(Integet(5));
}
public int getMissing(ArrayList list){
int len = list.size();
for (int i = 1; i <= len; i++) {
int j = 0;
while (j < len) {
Integer Val = (Integer) list.get(j);
int value = Val.intValue();
if (i == value)
break;
j++;
}
if (j == len) {
return j;
}
}
return -1;
}
2. 有一个二叉树类如下。然后写出遍历二叉树的方法printTree。
class BinaryTree{
class Node{
String value;
Node leftNode;
Node rightNode;
}
public void printTree(Node root){
reDo(root,0);
}
public void reDo(Node node,int depth){
if(node != null) {
System.out.println(space()+node.value);
reDo(node.leftNode,depth+1);
reDo(node.rightNode,depth+1);
}
}
public String space(int len){
StringBuffer bs = new StringBuffer();
for(int i=0; i<bs.length();i++){
bs.append(" ");
}
}
}
3. 有int型数字如下,123,1234,12345,123456,1234567,12345678,123456789
求一个方法,输出123 1,234 12,345 123,456 1,234,567 12,345,678 123,456,789
public String printComma(int input){
StringBuffer bs = new StringBuffer(input + "");
int index = bs.length() - 3;
while (index > 0) {
bs.insert(index, ",");
index = index - 3;
}
return bs.toString();
}
4.equals(),hasCode()的作用。
5.Object对象有哪些方法?
equals(),clone(),notify(),notifyAll(),wait(),wait(long time),wait(long time,int nanos)
hasCode(),toString(),getClass()。
6.RuntimeException,非RuntimeException的区别和例子。
7.Singleton模式
8.共享数据在web中的范围
page,request,seesion,application
9.Servlet的生命周期。
servlet有良好的生存期定义,包括加载,实例化,初始化,处理请求,服务结束。由javax.servlet.Servlet接口以下方法表达
init(),service(),destroy()。
10.abstract和interface的区别。
abstract中可以有自己方法的定义和说明,interface只是存在变量和方法的定义。当需要的时候,我们可以inplements多个接口,但是只能
extends一个类。
11.实现多线程有哪几种方法。
第一种,class MyThread extends Thread{..} MyThread t = new MyThread(); t.start();
第二中,class UrThread implements Runnable{...} Thread t = new Thread(new UrThread()); t.start();
12.ArrayList和Vector的区别。
Vector中的方法是synchronized的,性能上较ArrayList差点。
当增长时,Vector默认增长原来的一倍,ArrayList默认增长原来的一半。
13.java实现序列化的方法是实现serializable接口,具体怎么做。
14.String a = "test"; String b = new String("test"); a==b (false)
String c = "te"+"st"; a==c (true)
15.
public synchronized void aMethod1(){
}
public void b aMethod(){
synchronized("test"){
}
}
A a1 = new A();
A a2 = new A();
a1.aMethod1();
a2.aMethod1();//不需要等待
a1.aMethod2();
a2.aMethod2();//需要等待
16.编程性能方法的讨论,ArrayList,HashMap,StringBuffer。
17.Struts的DispatchAction,Action的区别。RequestProcessor的作用。
posted @
2006-03-22 15:53 xnabx 阅读(219) |
评论 (0) |
编辑 收藏
问题一:
有int型数字如下,123,1234,12345,123456,1234567,12345678,123456789
求一个方法,输出123 1,234 12,345 123,456 1,234,567 12,345,678 123,456,789
处理:
public void testPrint(int num) {
DecimalFormat format = new DecimalFormat("#,###");
System.out.println(format.format(num));
}
问题二、
double类型如何正确的转换为字符串类型
处理:
double d = 0.001;
DecimalFormat df1 = new DecimalFormat("#.####");
String result = df1.format(d);
System.out.println(result);
posted @
2006-03-22 15:53 xnabx 阅读(899) |
评论 (2) |
编辑 收藏
Singleton模式主要作用是保证在Java应用程序中,一个类只有一个实例存在。解释下面的代码是怎么保证只有一个实例的?
public class Singleton {
private Singleton(){}
private static Singleton instance = new Singleton();
public static Singleton getInstance() {
return instance;
}
}
处理:
因为构造函数是私有的,用户不能自己实例对象 private Singleton(){}
而且指向这个唯一的对象的引用也是私有,只能通过getInstance方法返回对象的引用
getInstance方法正实现了保证唯一对象的功能
posted @
2006-03-22 14:19 xnabx 阅读(197) |
评论 (0) |
编辑 收藏
上一周的周一和周日
Calendar cl = Calendar.getInstance();
cl.getTime();
cl.add(cl.DAY_OF_YEAR, -cl.get(cl.DAY_OF_WEEK)+1);//get previous Sunday
System.out.println(cl.get(cl.YEAR) + "-" + (cl.get(cl.MONTH)+1) + "-"
+ cl.get(cl.DAY_OF_MONTH) +"week:"+(cl.get(cl.DAY_OF_WEEK)-1));
cl.add(cl.DAY_OF_YEAR, -6 ); //get previous Monday
System.out.println(cl.get(cl.YEAR) + "-" + (cl.get(cl.MONTH)+1) + "-"
+ cl.get(cl.DAY_OF_MONTH) +"week:"+(cl.get(cl.DAY_OF_WEEK)-1));
posted @
2006-03-22 14:08 xnabx 阅读(156) |
评论 (0) |
编辑 收藏
用户登陆,登陆成功后将用户名和密码保存到session中,然后转到登陆成功后的页面。
现在有一个问题,如果有人看到了某一个页面的url,可以直接在地址栏直接输入url进去,由于session中有用户名和密码,所以系统认为他也是合法的用户,如何解决?
处理:
一、 session是存在服务器上面的
session有两种方式一个是cookies一个就是url重写
但是不管是哪种 都是向服务器传达的是session的ID
所以解决的方法就是
为session设置一个存活期:session.setMaxInactiveInterval(10);
二、让浏览器不再缓存
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
%>
posted @
2006-03-22 09:31 xnabx 阅读(156) |
评论 (0) |
编辑 收藏