Дата не может быть разрешена для типа

1

Я изучаю отладку, и я получаю следующую ошибку при запуске tomcat через мой браузер. Я использую Texpad для записи, и я думаю, что tomcat после.

An error occurred at line: 18 in the jsp file: /Debug.jsp
Date cannot be resolved to a type
15: 
16: <%
17:     response.setContentType("MIME");
18:     Date today = new Date(12,20,2004);
19: 
20:     Date created = new Date(session.getCreationTime());
21:     Date lastAccessed = new Date(session.getLastAccessedTime());

Я получаю ту же ошибку дважды для строк 18, 20 и 21. Исходный код приведен ниже.

<HTML>
<HEAD>
<TITLE>JSP Debugging</TITLE>
</HEAD>

<BODY>
<% import java.io.*; %>
<% import java.util.Date; %>
<% import java.util.Enumeration; %>

<%
    response.setContentType("MIME");
    Date today = new Date(12,20,2004);

    Date created = new Date(session.getCreationTime());
    Date lastAccessed = new Date(session.getLastAccessedTime());

    out.print("<h1>Today is " );
    out.print(today); 
    out.print("</h1>" );
    out.print("This session has the following characteristics:<br>" );
    out.println("<br>ID: ");
    session.getId(); %>
    out.println("Created: " + created);
    out.println("Last Accessed: " + lastAccessed);
    out.println("<br>Max Inactive Interval: " +
                    session.getMaxInactiveInterval());
%>
</BODY>
</HTML>

Я знаю, что есть еще много ошибок, и я работаю над ними, но на данный момент любая помощь в этом будет потрясающей. Насколько я могу судить, это проблема с Датой, но я не уверен, что именно.

EDIT-------------------------------------------------------------------------------------------------

Поэтому я внес исправления, и теперь код выглядит следующим образом:

<HTML>
<HEAD>
<TITLE>JSP Debugging</TITLE>
</HEAD>

<BODY>
<%@ page import="java.util.Date,java.io.*,java.util.Enumeration"%>

<%
    response.setContentType("MIME");
    Date today = new Date(12,20,2004);

    Date created = new Date(session.getCreationTime());
    Date lastAccessed = new Date(session.getLastAccessedTime());

    out.print("<h1>Today is " );
    out.print(today); 
    out.print("</h1>" );
    out.print("This session has the following characteristics:<br>" );
    out.println("<br>ID: ");
    session.getId(); %>
    out.println("Created: " + created);
    out.println("Last Accessed: " + lastAccessed);
    out.println("<br>Max Inactive Interval: " +
                    session.getMaxInactiveInterval());
%>
</BODY>
</HTML>

И после того, как я запустил localhost: 8080/Debug.jsp в своем веб-браузере, он загрузил новую копию jsp с ожидаемыми результатами, но они должны были отображаться в браузере.

<HTML>
<HEAD>
<TITLE>JSP Debugging</TITLE>
</HEAD>

<BODY>


<h1>Today is Tue Feb 25 00:00:00 EST 1919</h1>This session has the following characteristics:<br><br>ID: 

    out.println("Created: " + created);
    out.println("Last Accessed: " + lastAccessed);
    out.println("<br>Max Inactive Interval: " +
                    session.getMaxInactiveInterval());
%>
</BODY>
</HTML>
Теги:
tomcat
debugging

2 ответа

1

Вы не импортируете типы правильно. Импорт должен быть добавлен с помощью директивы page:

<%@page import="java.io.*, java.util.Date, java.util.Enumeration" %> 

Тем не менее. Вы никогда не должны использовать скрипты в JSP. Поместите Java-код в контроллеры, используйте JSP как чистые компоненты представления, единственной целью которых является создание разметки с использованием JSP EL, JSTL и других тегов cutom.

См. Как избежать использования сценариев на моей странице JSP?

  • 0
    Поэтому я бы удалил первоначальный импорт и заменил его тем, что вы указали правильно? И в чем причина такой разницы?
  • 0
    Причина в том, что код внутри <% %> %% <% %> (скриптлет) - это код, который входит в метод сервиса JSP.
Показать ещё 2 комментария
0

Синтаксис директивы import неверен. Правильный вариант:

<%@ page import="java.util.Date,java.io.*,java.util.Enumeration"%>

FYI: Неправильная практика использования scriptlets в jsp. Поместите всю свою логику в класс на стороне сервера и используйте jsp только для отображения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню