jsp 中存在错误 java.lang.NullPointerException。如何修复源代码?
There is an error java.lang.NullPointerException in jsp. How do I fix the source code?
出现此错误。下面的 LogFilter.java 代码中哪一部分很奇怪?
我是 jsp 的新手并且使用过 eclipse。
我用了 tomcat.
错误如下
java.lang.NullPointerException
filter.LogFilter.getURLPath(LogFilter.java:40)
filter.LogFilter.doFilter(LogFilter.java:18)
代码如下。
package filter;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class LogFilter implements Filter {
public void init(FilterConfig config) throws ServletException{
System.out.println("WebMarket 초기화....");
}
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws java.io.IOException, ServletException {
System.out.println(" 접속한 클라이언트 IP : " + request.getRemoteAddr());
long start = System.currentTimeMillis();
System.out.println(" 접근한 URL 경로 : " + getURLPath(request));
System.out.println(" 요청 처리 시작 시각 : " + getCurrentTime());
chain.doFilter(request,response);
long end = System.currentTimeMillis();
System.out.println(" 요청 처리 종료 시각 : " + getCurrentTime());
System.out.println(" 요청 처리 소요 시간 : " + (end-start)+ "ms ");
System.out.println("=======================================================");
}
public void destroy( ){
}
private String getURLPath(ServletRequest request) {
HttpServletRequest req;
String currentPath="";
String queryString="";
if(request instanceof HttpServletRequest){
req = (HttpServletRequest)request;
currentPath = req.getRequestURI();
queryString = req.getQueryString();
queryString = queryString.equals(null) ? "" : "?" + queryString;
}
return currentPath+queryString;
}
private String getCurrentTime() {
DateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
return formatter.format(calendar.getTime());
}
}
queryString = queryString.equals(null) ? "" : "?" + queryString;
不正确。
建议的替代方案:
querystring = (queryString == null) ? "" : "?" + queryString;
出现此错误。下面的 LogFilter.java 代码中哪一部分很奇怪? 我是 jsp 的新手并且使用过 eclipse。 我用了 tomcat.
错误如下
java.lang.NullPointerException
filter.LogFilter.getURLPath(LogFilter.java:40)
filter.LogFilter.doFilter(LogFilter.java:18)
代码如下。
package filter;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class LogFilter implements Filter {
public void init(FilterConfig config) throws ServletException{
System.out.println("WebMarket 초기화....");
}
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws java.io.IOException, ServletException {
System.out.println(" 접속한 클라이언트 IP : " + request.getRemoteAddr());
long start = System.currentTimeMillis();
System.out.println(" 접근한 URL 경로 : " + getURLPath(request));
System.out.println(" 요청 처리 시작 시각 : " + getCurrentTime());
chain.doFilter(request,response);
long end = System.currentTimeMillis();
System.out.println(" 요청 처리 종료 시각 : " + getCurrentTime());
System.out.println(" 요청 처리 소요 시간 : " + (end-start)+ "ms ");
System.out.println("=======================================================");
}
public void destroy( ){
}
private String getURLPath(ServletRequest request) {
HttpServletRequest req;
String currentPath="";
String queryString="";
if(request instanceof HttpServletRequest){
req = (HttpServletRequest)request;
currentPath = req.getRequestURI();
queryString = req.getQueryString();
queryString = queryString.equals(null) ? "" : "?" + queryString;
}
return currentPath+queryString;
}
private String getCurrentTime() {
DateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
return formatter.format(calendar.getTime());
}
}
queryString = queryString.equals(null) ? "" : "?" + queryString;
不正确。
建议的替代方案:
querystring = (queryString == null) ? "" : "?" + queryString;