现在是在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>

解决方案 »

  1.   

    bean or servlet?按照你的写法中,jsp中使用globalSystem时根本就得不到session;
    或者传递session参数,或者通过servlet来实现。
      

  2.   

    你能保证req变量已经初始化了吗?
      

  3.   

    private static HttpServletRequest req;
    req根本没有初始化。
      

  4.   

    public static String VerifyMd5Code(HttpServletRequest request) throws Exception{
       req = request;
       //下面是你的方法体.
     }
    不知道你用的是什么jsp+bean还是servlet.如果是servlet那么想在session中实现一些共同的东西可以用一个类SessionListener:http://dev.csdn.net/article/52/52973.shtm
      

  5.   

    net.moftree.client.GlobalSystem.VerifyMd5Code(GlobalSystem.java:86)
    空指针应该就是req.你试一下我的方法.把request传近来.看好用不.
      

  6.   

    用servelet好了
    public class GlobalSystem extends HttpServelt
    {
    ……
    }
      

  7.   

    public static String VerifyMd5Code(HttpServletRequest request) throws Exception{
       req = request;页面上<%=GlobalSystem.VerifyMd5Code(request)%>
      

  8.   

    这里怎么能用SESSION呢 不是SERVLET 就算是SERVLET 创建SESSION的时候最要带TRUE参数
    TRUE参数表明,没有SESSION的时候就自动创建,否则不创建的,不知道我说的对不对。
      

  9.   

    我是把body中间的内容,做成一个tag文件。
    然后在dmh.jsp文件中引用。这个tag文件。
    我按Piaopiao11的方法,完成了,实现了。没有出现问题。
    谢谢各位的热心解答,结贴。