打印本文 打印本文 关闭窗口 关闭窗口
用户登录验证的JSP完整程序
作者:武汉SEO闵涛  文章来源:敏韬网  点击数669  更新时间:2009/4/23 10:55:05  文章录入:mintao  责任编辑:mintao
  

   如何设置application 变量

  application变量是对一个web application有效的全局变量,在保存一些全局有效的值时非常有用。与session变量不同,application变量可以用application.getAttribute()和application.setAttribute()来访问。

  在JSP中,可以自动引用application变量,指代当前的web 应用。

  在引用application 变量时,必须使用同步。并且,需要测试一个application属性是否已经存在。请仔细研究下面的代码,在下面,设置了一个叫"change"的application 属性,保存一个整型值。关于在servlet中使用application变量,方法与下面的代码一致,不过,需要先说明一个application如下:

servletContext application=getServletContext();
  后面的一段函数是env.Java的片断,可以看看在servlet中如何使用application变量的。

<%
Integer count = null;
synchronized (application)
{
count = (Integer) application.getAttribute("change");
if (count == null) count = new Integer(0);
count = new Integer(count.intValue() + 1);
application.setAttribute("change", count);
}

private void printApplication(PrintWriter pw, HttpServletRequest req)
throws IOException
{
ServletContext application = getServletContext();
pw.println("

Application Information:

");
pw.println("");
pw.print("Major Version");
pw.println(application.getMajorVersion());
pw.print("Minor Version");
pw.println(application.getMinorVersion());
pw.print("Server Info");
pw.println(application.getServerInfo());
pw.print("Real Path (of pathinfo)");
pw.println(application.getRealPath(req.getPathInfo()));
pw.print("Mime-type (of pathinfo)");
pw.println(application.getMimeType(req.getPathInfo()));
pw.println("");
pw.println("

Application Variables:

");
pw.println("");
Enumeration e = application.getAttributeNames();
while (e.hasMoreElements())
{
String name = (String) e.nextElement();
pw.print("");
pw.print(name);
pw.print("");
pw.println(application.getAttribute(name));
}
pw.println("");
}
%>






Welcome, visitor: <%= count %>




   如何防止IE缓存jsp文件

  1.使用Java提供的方法,在jsp或者servlet中都可以

<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
%>
  2.使用HTML标记,如下面:






   类似于asp中htmlencode函数的jsp函数

public static String asHTML(String text)
{
if (text == null)
return "";
StringBuffer results = null;
char[] orig = null;
int beg = 0, len = text.length();
for (int i = 0; i < len; ++i)
{
char c = text.charAt(i);
switch (c){
case 0:
case '&':
case '<':
case '>':
case '"':
if (results == null)
{
orig = text.toCharArray();
results = new StringBuffer(len+10);
}
if (i > beg)
results.append(orig, beg, i-beg);
beg = i + 1;
switch (c)
{
default: // case 0:
continue;
case '&':
results.append("&");
break;
case '<':
results.append("<");
break;
case '>':
results.append(">");
break;
case '"':
results.append(""");
break;
}
break;
}
}
if (results == null)
return text;
results.append(orig, beg, len-beg);
return results.toString();
}

打印本文 打印本文 关闭窗口 关闭窗口