getServletConfig().getServletContext().getRealPath("/");获取路径,报空指针异常
需要到servlet里面获取项目路径,网上的方法都看了,全部都是报空指针异常,希望高手给个解决方案
package com.ccts.servlet;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.ccts.util.HibernateUtil;
public class MyFilter extends HttpServlet implements Filter {
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
try{
//request 之前要处理的代码
HttpServletRequest request=(HttpServletRequest) arg0;
HttpServletResponse response=(HttpServletResponse) arg1;
HttpSession session=request.getSession();
String username=(String)session.getAttribute("loginuser");
if(username==null)//没有登录进行重定向
{
String filePath=this.getServletConfig().getServletContext().getRealPath("/");
System.out.println(filePath);
response.sendRedirect("/ccts/login");
return;
}
arg2.doFilter(arg0, arg1);
//response之后要要处理的代码
}
catch (Exception e) {
e.printStackTrace();
}
finally{
if(HibernateUtil.getSession()!=null){
System.out.println("session现在关闭");
HibernateUtil.getSession().close(); }
}
}
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
/**
* Constructor of the object.
*/
public MyFilter() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}