JSP中遇到的几个常见问题

js|问题

  以前记的东西。

  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就必须为之提供外同步。

时间: 2024-10-02 20:22:26

JSP中遇到的几个常见问题的相关文章

在jsp中怎么给文字加背景图片啊

问题描述 在jsp中怎么给文字加背景图片啊 动态生成的菜单 代码如下 function startParentNode(text){ //alert(text); if(""站址管理"" == text){ document.write('<table border=""0"" cellpadding=""1"" cellspacing=""0"&qu

经验点谈在JSP中的声明

在JSP中的声明: JSP中的声明有两种方法:一种是<% intCount=0%>,另一种是<%! intCount=0%>,现在讲讲第二种. 1.测试条件: 假设有两个页面test1.jsp和test2.jsp都有如下代码: <%! intCount=0%> <%intCount+=1; out.print("第"+intCount+"人次进入本页面!"); %> 2.测试环境:Jrun3+jdk1.2 3.测试结果

jsp中通过数据流向客户端传送数据

js|客户端|数据 jsp中通过数据流向客户端传送数据 /**@作者 : 慈勤强@Email : cqq1978@Gmail.com*/ 有人经常会问这样一个问题:"服务器端程序如何向客户端输出一个文件,然后让浏览器 打开一个保存文件的对话框,来保存这个文件." 当然了,一个很简单的做法,就是做一个 连接,指向要输出的文件,比如 <a href="a.rar">下载a.rar</a>,这样,当用户点击 连接的时候就会弹出IE的保存文件对话框,

jsp问题-jsp中模糊查询,后台没有出错,为什么实现不了?

问题描述 jsp中模糊查询,后台没有出错,为什么实现不了? 点击查找只是刷新页面,后台没有问题,但是又实现不了 具体代码: <% request.setCharacterEncoding("utf-8"); %> <%! private static final String DBDRIVER ="org.gjt.mm.mysql.Driver"; private static final String DBURL ="jdbc:mysq

JSP 中的servlet在本地能运行,在服务器端不能运行

问题描述 JSP 中的servlet在本地能运行,在服务器端不能运行 做一个用户名密码的登陆表单,使用servlet对输入的用户名密码与数据库里用户名密码进行比较,如果正确,就转至登陆页面,不正确就提示错误.在本地运行一切正常,但是放在服务器上,输入完用户名密码.点击确定后,就一直是网页正在连接的状态,死活不能运行出来.求大神看看到底是哪里有问题.(对不起实在没有C币了--) 解决方案 惊喜!Java为服务器端Web应用带来最高运行速度 解决方案二: 自己看一下日志文件,有没有报错信息. 据你描

JSP中include指令和include行为的区别

我们都知道在jsp中include有两种形式,分别是 < %@ include file=" "%> < jsp:include page=" " flush="true"/> 前者是指令元素.后者是行为元素.具体它们将在何处用?如何用及它们有什么区别?这应该是很多人看到它都会想到的问题.下面一起来看看吧. 通常当应用程序中所有的页面的某些部分(例如标题.页脚和导航栏)都相同的时候,我们就可以考虑用include.具体在哪

JSP教程(三)--JSP中”预定义变量”的使用

js|变量|教程 为了简化JSP表达式和scriptlets中的代码,提供了8种自动定义的变量,有时称做implicit objects(固有对象).它们是:request,response,out,session,application,config,pageContext,和 page.下面我们来详细的了解它们. request 与request相联系的是HttpServletRequest类,使您可以得到request的参数(通过getParameter方法),request 的类型(GE

JSP教程(六)-怎么在JSP中跳转到别一页面

js|教程|页面 在JSP中使用jsp forward Action来实现页面的跳转功能. 语法: <jsp:forward page="{relativeURL|<%= expression %>}"/> 或<jsp:forward page="{relativeURL|<%= expression %>}"><jsp:param name="parameterName"value=&quo

JSP中早就有了类似.Net DataSet那样的离线数据访问

js|访问|数据 JSP中早就有了类似.Net DataSet那样的离线数据访问了,抛弃ResultSet,拥抱Result吧! 微软的.NET平台上面的数据访问有一个特点,就是数据查询的结果,可以放在内存中,以XML格式进行描述,不需要一直与数据库保持在线连接,用DataSet + Data Adapter来实现! 而在JDBC中,我们通常使用javax.sql.ResultSet类来存放放回的数据,它的流程和生命周期如下: 使用ResultSet来返回数据库查询结果 Client --> C