2013-05-04 2 views
0

Я очень стараюсь понять, почему мне сказали, что getParameter возвращает объект, который мне нужен, чтобы передать его в строку в следующем коде? В String timeTaken я получаю ошибку Тип несоответствия: невозможно преобразовать из void в String. Я смущен относительно того, что вызывает ошибку, длинный тип данных по длительности или тип данных String для пользователя?Кастинг в java, request.getParameter

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 

    long t0 = System.currentTimeMillis(); 
    // pass the request along the filter chain 
    chain.doFilter(request, response); 
    long t1 = System.currentTimeMillis(); 
    long duration = t1 - t0; 
    String user = request.getParameter("userName"); 

    String timeTaken = System.out.println("<HTML><BODY><P>Request from " + user + " at 10.10.1.123 took " + duration + "ms </P></BODY></HTML>"); 

    context.log(timeTaken); 
} 

Заранее спасибо.

ответ

1

System.out.println ничего не возвращает, он просто печатает значение на консоли. Пытаясь использовать несуществующее возвращаемое значение и сохранить его в timeTaken, выдается сообщение об ошибке.

Возможно, вы просто хотите присвоить строку timeTaken;

String timeTaken = "<HTML><BODY><P>Request from " + user + 
    " at 10.10.1.123 took " + duration + "ms </P></BODY></HTML>"; 

и, возможно, в следующей строке, если вы все еще хотите вывести строку;

System.out.println(timeTaken); 
Смежные вопросы