2015-08-24 3 views
0

Привет, ребята Я не новичок в веб-издании Java. У меня есть веб-система, в которой моя страница входа (index.jsp) работает нормально. Когда вход успешно завершен, в этом проблема возникает, я получаю эту ошибку.Тип java.lang.CharSequence не может быть разрешен. TomCat

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 12 in the jsp file: /MSS_portal_frameset.jsp 
The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files 
9:   StringBuffer result = new StringBuffer(); 
10:  
11:   while ((e = str.indexOf(pattern, s)) >= 0) { 
12:    result.append(str.substring(s, e)); 
13:    result.append(replace); 
14:    s = e+pattern.length(); 
15:   } 

Stacktrace: 
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85) 
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) 
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435) 
org.apache.jasper.compiler.Compiler.compile(Compiler.java:298) 
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277) 
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265) 
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 

Этот раздел кода находится внутри скриптлетов <%%>.

+0

Какая версия java для вашего tomcat? – Jens

+0

Проверьте правильность дома Java Tomcat или дома JRE. Пакет Java.lang является одним из основных системных пакетов, поэтому его невозможно найти, вероятно, означает неправильно сконфигурированный Tomcat. Кроме того, пожалуйста, не помещайте Java-код внутри JSP! Юк! Используйте сервлеты для обработки запросов, а JSP - для обработки ответов. Поместите все JSP под WEB-INF, чтобы напрямую не запрашивать. – NickJ

+0

@ Jens его jre8. –

ответ

0

java.lang.CharSequence был добавлен в Java 1.4, так что если он не может найти его, вы либо работаете в очень старый Java, или вы действительно путь к классам перепутались.

Вы должны заменить использование StringBufferStringBuilder, которое было добавлено на Java 5. Использование StringBuffer устарело.

Цитирование javadoc:

Начиная с версией JDK 5, этот класс (StringBuffer) был дополнен с эквивалентным классом, предназначенным для использования в одном потоке, StringBuilder. Класс StringBuilder обычно должен использоваться в предпочтении этому, поскольку он поддерживает все те же операции, но быстрее, поскольку он не выполняет синхронизацию.

+0

Я попытался использовать StringBuilder, но все же получил такую ​​же ошибку –

+0

Тогда ваша установка Tomcat кажется поврежденной. – Andreas

+0

my apache Tomcat Java classpath - это «C: \ Program Files (x86) \ Apache Software Foundation \ Tomcat 5.5 \ bin \ bootstrap.jar», и мой index.jsp отлично работает, так почему он нарушает перенаправление. –

Смежные вопросы