首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jsp会话隐式对象在从servlet调用时抛出空指针异常。

问jsp会话隐式对象在从servlet调用时抛出空指针异常。
EN

Stack Overflow用户
提问于 2015-06-24 13:35:22
回答 1查看 1.4K关注 0票数 0

我正在使用jsp和servlet开发一个应用程序,在jsp中使用会话隐式对象面临一个问题。我正在做的是在servlet中的session对象中设置某些属性,然后将响应转发给jsp页面。现在,我想访问jsp页面中的那些会话属性,但是在这样做时,它将抛出一个空指针异常。这是我的密码:-

这是我的servlet

代码语言:javascript
复制
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter pw=response.getWriter();
    con=Connector.myCon();
    u=request.getParameter("userName");
    p=request.getParameter("password");
    HttpSession session=request.getSession();
    session.setAttribute("userName",u); 
    session.setAttribute("userType",userType);
    RequestDispatcher rd=request.getRequestDispatcher("Home.jsp");
    rd.forward(request, response);
    }

这是我的jsp

代码语言:javascript
复制
<%
    session=request.getSession();
    String s = (String) application.getAttribute("name");
    System.out.println(s);
    String userName = (String)session.getAttribute("userName");
    if (userName == null) {
        //request.setAttribute("Error", "Session has ended.  Please logenter code herein.");
        RequestDispatcher rd = request
                .getRequestDispatcher("index.hmtl");
        rd.include(request, response);
        out.println("Session has ended.  Please login.");
    } 
    else 
    {
        String userType = (String)session.getAttribute("userType");
        System.out.println(userType);
        if(userType.equals("student")) 
        {}
    }%> 

在使用此选项时,我将得到一个空指针异常。帮帮我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-24 13:43:07

像这样改变,

代码语言:javascript
复制
<%
String s = (String) application.getAttribute("name");
System.out.println(s);
String userName = (String)session.getAttribute("userName");
if (userName == null) {
    //request.setAttribute("Error", "Session has ended.  Please logenter code herein.");
    RequestDispatcher rd = request
            .getRequestDispatcher("index.hmtl");
    rd.include(request, response);
    out.println("Session has ended.  Please login.");
} 
else 
{
    String userType = (String)session.getAttribute("userType");
    System.out.println(userType);
    if(userType.equals("student")) 
    {}
}%> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31028121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档