我从一个jsp页面超链接到一个servlet中,然后在servlet中设置一个session变量,然后通过response.sendRedirect()方法跳转到另外一个jsp页面.不会爆错,但是有空值异常,请问是什么问题???

解决方案 »

  1.   

    <%@ page contentType="text/html; charset=GBK" %>
    <%@page import="com.westaccp.*" %>
    <html>
    <head>
    <title>
    success
    </title>
    </head>
    <body bgcolor="#ffccff">
    <h1>
    haha
    </h1>
    <%
       Users u=(Users)session.getAttribute("users");
    %>
    <h2>欢迎<%=u.getName()%></h2>
    <a href="/myWeb/aaaa?a=2">跳转到index页面</a>
    </body>
    </html>
    跳转到这个servlet
    package com.westaccp;import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;public class Servlet1
        extends HttpServlet {
      private static final String CONTENT_TYPE = "text/html; charset=GBK";  //Initialize global variables
      public void init() throws ServletException {
      }  //Process the HTTP Get request
      public void doGet(HttpServletRequest request, HttpServletResponse response) throws
          ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        String a=request.getParameter("a");
        if(a.equals("1"))
        {
          String name=request.getParameter("name");
          String pwd=request.getParameter("pwd");
          Users u=new Users();
          u.setName(name);
          u.setPwd(pwd);
          HttpSession s=request.getSession();
          s.setAttribute("users",u);
          response.sendRedirect("success.jsp");
        }
        if(a.equals("2"))
        {
           Users u=new Users();
           u.setName("hello");
           u.setPwd("fine");
           HttpSession s=request.getSession();
           s.setAttribute("users1",u);
           response.sendRedirect("index.jsp");
        }  }  //Process the HTTP Post request
      public void doPost(HttpServletRequest request, HttpServletResponse response) throws
          ServletException, IOException {
        doGet(request, response);
      }  //Clean up resources
      public void destroy() {
      }
    }跳转到下一个jsp<%@ page contentType="text/html; charset=GBK" %>
    <%@page import="com.westaccp.*" %>
    <html>
    <head>
    <title>
    index
    </title>
    </head>
    <body bgcolor="#ccffff">
    <h1>
    haha
    </h1>
    <%
       Users u=(Users)session.getAttribute("users1");
    %>
    <h2>&raquo;&para;&#1261;<%=u.getName()%></h2>
    </body>
    </html>
      

  2.   

    //servlet
    ……
    s.setAttribute("users",u);
    ……//jsp
    <%
    Users u=(Users)session.getAttribute("users1");
    %>
    =====================
    细心啊
      

  3.   

    ...
    if(a.equals("1"))
        {
          String name=request.getParameter("name");
          String pwd=request.getParameter("pwd");
    ...
    我从你的页面上看,request.getParameter("name");你能获到值吗?你能获到那才叫真是奇怪乐!
    <a href="/myWeb/aaaa?a=2">跳转到index页面</a>就这个你是不能获到name和pwd的,
      

  4.   

    response.sendRedirect() 方法不能傳遞session中的對象的。