加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

JSP中遇见的几个常见问题

发布时间:2023-05-30 14:28:52 所属栏目:教程 来源:
导读:以前记的东西。

  1、表单request汉字处理:

request.setcharacterencoding("gb2312")

  2、在jsp网页中获取页面的名称:

request.getrequesturi() ;//文件名

request.getrequesturl() ;//全
以前记的东西。
 
  1、表单request汉字处理:
 
request.setcharacterencoding("gb2312")
 
  2、在jsp网页中获取页面的名称:
 
request.getrequesturi() ;//文件名
 
request.getrequesturl() ;//全部url
 
  3、 页面不保留缓存:
 
response.setheader("pragma","no-cache");
 
response.setheader("cache-control","no-cache");
 
response.setdateheader("expires", 0);
 
  4、日期时间(服务器端)
 
string datestr ;
 
java.text.dateformat df = new java.text.simpledateformat("mm月dd日 hh:mm e"); //这里格式化
 
datestr = df.format(new java.util.date()) ;
 
out.println(datestr);
 
  或者
 
<% java.util.date shijian= new java.util.date();%>
 
<%=shijian.getyear()+1900%><%=shijian.getmonth()+1%><%=shijian.getdate()%>
 
<%=shijian.gethour()%><%=shijian.getminute()%>
 
  5、java中运用正则。jdk需是1.4以上 import="java.util.regex.*
 
  6、点后退显示网页过期
 
  在里面加以下代码
 
<meta http-equiv=pragma content=no-cache>
 
<meta http-equiv=cache-control content=no-cache>
 
<meta http-equiv=expires content=0>
 
  和 3 原理一样。
 
  7、计算执行所花费的时间
 
  代码开始取时间,结束后取时间,相减
 
long t1 = system.currenttimemillis();
 
///////////////// your code
 
long t2 = system.currenttimemillis() ;
 
long time = t2-t1;
 
  8、四舍五入,保留小数点后两位小数?
 
import java.text.*;
 
numberformat nf=numberformat.getnumberinstance();
 
nf.setmaximumfractiondigits(2);
 
nf.setminimumfractiondigits(2);
 
nf.format(numb);
 
或者(+0.005 - 0.01)再取.后两位
 
  9、form的默认方法是get.
 
  post方式是向服务器传送大容量数据时使用的方法。(再打开一个socket.?)
 
  10、 防止用户直接输入url进去页面:
 
  一 是在要访问的页面中加入控制.这个一般用session。
 
  二 是从web服务器控制,对某一目录的所有访问要通过验证.(有人说把jsp放到web-inf下)
 
  11、数据库是datetime 型 ,插入当前时间到数据库:
 
java.sql.date sqldate = new java.sql.date();
 
preparedstatement pstmt = conn.preparestatement("insert into foo(time) values(?)");
 
pstmt.setdate(1,sqldate);
 
pstmt.executeupdate();
 
  其实一般数据库都有自己的系统时间函数。
 
insert into foo(time) values(sysdate)
 
  12、 session存取int类型的变量:
 
session.setattribute("int", i+""); //注意这里i+""
 
int i = integer.parseint(session.getattribute("int"));
 
  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大小最好不要太大
 
  13、把字符转化成ascii码
 
int a='a'; out.println(a);
 
  14、string s = new string("xyz");创建了两个string object对象,一个是“xyx”,一个是指向“xyx”的引用对象s。
 
  还有典型的equals() 与 == 这个参考在堆栈原理。
 
  15、swtich不能作用在long上和string上:
 
switch(expr1)中,expr1是一个整数表达式。传递给 switch 和 case 语句的参数应该是
 
int、 short、 char 或者 byte。long,string 都不能作用于swtich。
 
  16、hashtable和hashmap 
 
  hashtable继承自dictionary类,而hashmap是java1.2引进的map interface的一个实现hashmap允许将null作为一个entry的key或者value,而hashtable不允许hashtable的方法是synchronize的,而hashmap不是,在多个线程访问hashtable时,不需要自己为它的方法实现同步,而hashmap就必须为之提供外同步。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!