2011-04-29 121 views
0

org.apache.jasper.JasperException:异常的JSP:/views/header.jsp:14页面没有重定向

11:   <a href="<%=request.getContextPath()%>">Home</a> | 
12:   <% String username=(String)session.getAttribute("formdata"); 
13:   String admin="admin"; 
14:   if(username.equals(" ")){ 
15:    
16:    String logout="http://localhost:8080/NewsBank/logout.do"; 
17:    response.sendRedirect(logout); 

堆栈跟踪:

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:257) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) 
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) 
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1063) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:801) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) 
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:627) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 

root cause 

java.lang.NullPointerException 
    org.apache.jsp.views.addStory_jsp._jspService(addStory_jsp.java:93) 
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:257) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) 
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) 
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1063) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:801) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) 
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:627) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
+0

在这段代码中,我没有得到重定向到询问页面..我退出页面 – 2011-04-29 07:09:54

+0

也许你应该是空的检查用户名变量...... – stevevls 2011-04-29 07:13:21

回答

3

username似乎null给我。

检查无效

if(username != null || "".equals(userName)){ 
//your code 
} 

建议:

  • 我们Filter这个(认证检查)目的为何破坏JSP?

  • Avoid在JSP编写javacode


请参见

+1

+1不仅为正确的答案,而且为好的方式。好。 – Mudassir 2011-04-29 07:17:48

+0

我有3个不同的情况在标题页..ie 1)如果(username.isEmpty()){/ /重定向到索引页} 2)其他如果(username.equals(管理)){/ /重定向到管理页面} 3)else if(username!= admin && username!=“”){//重定向到所有用户页面} – 2011-04-29 07:42:25

+0

1.检查是否为空2.您可以使用equals()来比较字符串而不是使用== == 3.读出*建议*部分 – 2011-04-29 07:44:33