现在是在session.setAttribute("rand",strRand);这句执行出错。
编译是能通过,就是在http://URL/dmh.jsp访问的时候,出现如下错误:
java.lang.NullPointerException
net.moftree.client.GlobalSystem.VerifyMd5Code(GlobalSystem.java:86)
org.apache.jsp.App.SignUpRequest_do._jspService(org.apache.jsp.App.SignUpRequest_do:77)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)在这个GlobalSystem.java里面,怎样才能写一个Session??请高人们给修改一下,具体应该怎样写才能好。。这个问题,搞了我几个小时了准备发完贴子睡觉,早上起来看各位的回复,谢谢先。
***********GlobalSystem.java源程序如下*******************
package net.moftree.client;
import java.io.File;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.security.MessageDigest;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import org.jdom.xpath.*;
public class GlobalSystem
{
public String error="";
private static HttpServletRequest req;
public static String VerifyMd5Code() throws Exception//Return Session MD5 value
{
HttpSession session=req.getSession();
String strRand="";
GlobalSystem gs=new GlobalSystem();
for(int i=0;i<4;i++){
strRand+=gs.getChar();
Thread.sleep(new Random().nextInt(10)+10);//Sleep For char same question
}
session.setAttribute("rand",strRand);
strRand=encodeMD5(strRand);
return strRand;
}
}
******************dmh.jsp**********************************
<%@ page import="net.moftree.client.GlobalSystem"%>
<html>
<head></head>
<body>
<%=GlobalSystem.VerifyMd5Code()%>
</body>
<html>
编译是能通过,就是在http://URL/dmh.jsp访问的时候,出现如下错误:
java.lang.NullPointerException
net.moftree.client.GlobalSystem.VerifyMd5Code(GlobalSystem.java:86)
org.apache.jsp.App.SignUpRequest_do._jspService(org.apache.jsp.App.SignUpRequest_do:77)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)在这个GlobalSystem.java里面,怎样才能写一个Session??请高人们给修改一下,具体应该怎样写才能好。。这个问题,搞了我几个小时了准备发完贴子睡觉,早上起来看各位的回复,谢谢先。
***********GlobalSystem.java源程序如下*******************
package net.moftree.client;
import java.io.File;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.security.MessageDigest;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import org.jdom.xpath.*;
public class GlobalSystem
{
public String error="";
private static HttpServletRequest req;
public static String VerifyMd5Code() throws Exception//Return Session MD5 value
{
HttpSession session=req.getSession();
String strRand="";
GlobalSystem gs=new GlobalSystem();
for(int i=0;i<4;i++){
strRand+=gs.getChar();
Thread.sleep(new Random().nextInt(10)+10);//Sleep For char same question
}
session.setAttribute("rand",strRand);
strRand=encodeMD5(strRand);
return strRand;
}
}
******************dmh.jsp**********************************
<%@ page import="net.moftree.client.GlobalSystem"%>
<html>
<head></head>
<body>
<%=GlobalSystem.VerifyMd5Code()%>
</body>
<html>
或者传递session参数,或者通过servlet来实现。
req根本没有初始化。
req = request;
//下面是你的方法体.
}
不知道你用的是什么jsp+bean还是servlet.如果是servlet那么想在session中实现一些共同的东西可以用一个类SessionListener:http://dev.csdn.net/article/52/52973.shtm
空指针应该就是req.你试一下我的方法.把request传近来.看好用不.
public class GlobalSystem extends HttpServelt
{
……
}
req = request;页面上<%=GlobalSystem.VerifyMd5Code(request)%>
TRUE参数表明,没有SESSION的时候就自动创建,否则不创建的,不知道我说的对不对。
然后在dmh.jsp文件中引用。这个tag文件。
我按Piaopiao11的方法,完成了,实现了。没有出现问题。
谢谢各位的热心解答,结贴。