转载

十六个JSP常见问题及处理方法

编程动力来源于解决问题,那么JSP常见问题有哪些呢?下面就是本文想大家展示的JSP常见问题的16种情况

在JSP编程的过程中会遇到各种各样的问题,那么下面归纳了16各方面与编程爱好者分享。

JSP常见问题1:

表单request汉字处理:

  1. request.setCharacterEncoding("GB2312") 

JSP常见问题2:

在JSP网页中获取页面的名称:

  1. request.getRequestURI() ;//文件名  
  2. request.getRequestURL() ;//全部url 

JSP常见问题3:

页面不保留缓存:

  1. response.setHeader("Pragma","No-cache");  
  2. response.setHeader("Cache-Control","no-cache");  
  3. response.setDateHeader("Expires", 0);  
  4.  

JSP常见问题4:

日期时间(服务器端)

  1. String datestr ;  
  2. java.text.DateFormat df = new java.text.SimpleDateFormat("MM月dd日 HH:mm E"); //这里格式化  
  3. datestr = df.format(new java.util.Date()) ;  
  4. out.println(datestr);  
  5.  

或者

  1. % java.util.Date shijiannew java.util.Date();%>  
  2. %=shijian.getYear()+1900%>%=shijian.getMonth()+1%>%=shijian.getDate()%>  
  3. %=shijian.getHour()%>%=shijian.getMinute()%>  
  4.  

JSP常见问题5:

java中运用正则。

jdk需是1.4以上 import="java.util.regex.*

JSP常见问题6:

点后退显示网页过期

在里面加以下代码

  1. META http-equiv=Pragma content=no-cache  
  2. META http-equiv=Cache-Control content=no-cache  
  3. META http-equiv=Expires content=0  
  4.  

和 3 原理一样。

JSP常见问7:

swtich不能作用在long上和String上:

switch(expr1)中,expr1是一个整数表达式。传递给 switch 和 case 语句的参数应该是
int、 short、 char 或者 byte。long,string 都不能作用于swtich。

JSP常见问题8:

计算执行所花费的时间

代码开始取时间,结束后取时间,相减

  1. long t1 = System.currentTimeMillis();  
  2. .... ...... ....  ...your code  
  3. long t2 = System.currentTimeMillis() ;  
  4. long time = t2-t1;  
  5.  

JSP常见问题9:

四舍五入,保留小数点后两位小数?

  1. import java.text.*;  
  2. NumberFormat nf=NumberFormat.getNumberInstance();  
  3. nf.setMaximumFractionDigits(2);  
  4. nf.setMinimumFractionDigits(2);  
  5. nf.format(numb);  

或者(+0.005 - 0.01)再取.后两位

JSP常见问题10:

form的默认方法是get.

post方式是向服务器传送大容量数据时使用的方法。(再打开一个socket.?)

JSP常见问题11:

防止用户直接输入url进去页面:

◆是在要访问的页面中加入控制.这个一般用session。

◆是从web服务器控制,对某一目录的所有访问要通过验证.(有人说把jsp放到web-inf下)

JSP常见问题12:

数据库是datetime 型 ,插入当前时间到数据库:

  1. java.sql.Date sqlDate = new java.sql.Date();  
  2. PreparedStatement pstmt = conn.prepareStatement("insert into foo(time) values(?)");  
  3. pstmt.setDate(1,sqlDate);  
  4. pstmt.executeUpdate();  
  5.  

其实一般数据库都有自己的系统时间函数。

insert into foo(time) values(sysdate)

JSP常见问题13:

session存取int类型的变量:

  1. session.setAttribute("int", i+""); //注意这里i+""  
  2. int i = Integer.parseInt(session.getAttribute("int"));  
  3.  

session的一些概念。

用户在浏览网页时,由于Http 协议是一种无状态的协议,往往在不同的页面之间存在数据交换的问题,这就需要在这些不同的页面之间共享数据。常见的实现方法是把要共享的数据保存到 Session 中。比如在用户登录的页面中把一些用户的信息保存到Session 之中,然后在其他的页面中读取用户的信息。这些共享的数据可以是字符串或者与Java 的原始数据类型相关的对象,也可以是一个Java 对象。

Session 只能保存对象,不能保存原始的数据类型,比如:

session.setAttribute(“count”,10)

是非法的语句,如果要把值为10 的整数保存到Session 中,需要使用以下的方法:

session.setAttribute(“count”,new Integer(10));

然后在另一个页面中使用:

(Integer)session.getAttribute(“count”)

来把这个整数读取出来。

was中设置可以把session放在系统的数据库中,但这样影响效率。session大小最好不要太大

JSP常见问题14:

把字符转化成ASCII码

int a='A'; out.println(a);

JSP常见问题15:

String s = new String("xyz");创建了两个String Object对象,一个是“xyx”,一个是指向“xyx”的引用对象s。

还有典型的equals() 与 == 这个参考在堆栈原理。

JSP常见问题16:

Hashtable和HashMap 

Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现HashMap允许将null作为一个entry的key或者value,而Hashtable不允许

Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步。

正文到此结束
Loading...