相关疑难解决方法(0)

绝对uri:http://java.sun.com/jstl/core无法在web.xml或使用此应用程序部署的jar文件中解析

我需要一些帮助,我想做一个程序并使用

if(session.getAttribute("logged")!="1"){ 
 String err="You must be logged in!!"; 
 request.setAttribute( "error", err ); 
 String nextJSP = "/login.jsp"; 
 RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP); 
dispatcher.forward(request,response); }
Run Code Online (Sandbox Code Playgroud)

%>

在一个jsp中,但我的老板告诉我使用jstl所以我把它改为:

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
 <c:if test="${session.getAttribute('logged')!=null}"> 
      <jsp:forward page="login.jsp">
      </jsp:forward>
 </c:if>
 <c:if test="${session.getAttribute('logged')==null}">
      <jsp:forward page="princ.jsp"> </jsp:forward>
 </c:if>
Run Code Online (Sandbox Code Playgroud)

我得到一个令人讨厌的错误:

 "org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application " 
Run Code Online (Sandbox Code Playgroud)

我在互联网上搜索了一些修复,我把javax.servlet.jsp.jstl-api-1.2.1-javadoc.jar放在我的库中,甚至将javaee.jar放在Tomcat库中,但仍然没有得到解决方案这个,有人可以帮帮我吗?PS:我为Web开发人员提供了Eclipse Java EE IDE.(INDIGO)Tomcat 7.08

eclipse jsp jstl taglib

5
推荐指数
1
解决办法
4万
查看次数

Tomcat 将 servlet 转换为 javax.servlet.Servlet 而不是 jakarta.servlet.http.HttpServlet

我一直在徒劳地尝试实现 tomcat 9 的 jakarta servlet,而不是以前的 javax.servlet 实现(因为我的理解是 jakarta 包是前进的方向)。问题是,当我将浏览器指向我的 servlet 的 url 时,我收到以下错误...

java.lang.ClassCastException: class cti.nm.web.Index cannot be cast to class javax.servlet.Servlet (cti.nm.web.Index is in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @48c76607; javax.servlet.Servlet is in unnamed module of loader java.net.URLClassLoader @621be5d1)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:432)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.base/java.lang.Thread.run(Thread.java:832)
Run Code Online (Sandbox Code Playgroud)

问题已经很明显了。Tomcat 正在尝试将我的 jakarta.servlet.http.HttpServlet 转换为 javax.servlet.Servlet,这显然不起作用。我无法想象的是如何告诉它 servlet 实际实现的类。

类本身被声明为...

package cti.nm.web;
import jakarta.servlet.http.HttpServlet;
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

public class Index extends …
Run Code Online (Sandbox Code Playgroud)

tomcat servlets classcastexception maven

5
推荐指数
1
解决办法
6529
查看次数

设置Eclipse以使用Java EE

首先请注意,我是EE的新手,特别是Eclipse(我在生命中第二次与Eclipse一起工作:)).

然后我打开了由其他人创建的Eclipse项目.它使用Java EE(一些EJB,Persistence API ......).无法运行这个项目,有编译错误 - 我无法让它使用EE库 - 它看起来像这样:

替代文字

没有已知的Anotations,也没有快速修复.该项目还包含Maven依赖项(我已经设法为Eclipse安装了Maven插件),并且依赖项中的所有类都在代码中显示警告.像这样:

替代文字

如何设置Eclipse以使用此EE项目以便能够编译和运行它?谢谢你的回答.

编辑:我正在使用Eclipse 2.0.0.2并且我必须使用它 - 它的Eclipse的Rational Team Concept版本和2.0.0.2以上的版本与RTC服务器不兼容.

java eclipse maven-2 java-ee maven-plugin

4
推荐指数
1
解决办法
8814
查看次数

java.lang.NoClassDefFoundError:javax/servlet/jsp/tagext/TagLibraryValidator

我按照此链接中的指南安装 JSTL,但当我尝试启动 JSP 页面时出现以下错误:

java.lang.NoClassDefFoundError:javax/servlet/jsp/tagext/TagLibraryValidator

标签库声明是:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Run Code Online (Sandbox Code Playgroud)

我在 Tomcat webapps 下安装了 JSTL 1.1/WEB-INF/lib并尝试在我的项目中执行相同的操作,但它不起作用。我也尝试了 JSTL 1.2 版,但仍然出现相同的消息。这是如何引起的以及如何解决?

jsp jstl

4
推荐指数
2
解决办法
6万
查看次数

java.lang.NoClassDefFoundError:javax/servlet/Filter

当我启动tomcat时,我收到此错误

java.lang.NoClassDefFoundError: javax/servlet/Filter
at java.lang.ClassLoader.findBootstrapClass(Native Method)
at java.lang.ClassLoader.findBootstrapClass0(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at      org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1301)
at    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:207)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3666)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4258)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Run Code Online (Sandbox Code Playgroud)

我已经将servlet.jar放在classpath和tomcat_home/commons/lib文件夹中

请任何人建议做什么.

tomcat servlets

4
推荐指数
2
解决办法
4万
查看次数

ClassCastException:无法将MyFilter强制转换为javax.servlet.Filter

我正在将应用程序迁移到JBoss 7,其中所有依赖项都在"JBOSS_HOME/server/default/lib"(JBoss 4)中.我包含了lib "servlet.jar"(javax.servlet.*),但是,在设置了JBoss 7全局模块(modules.xml,standalone.xml,war文件中的jboss-deployment-structure.xml)后,JBoss正常加载了库.

当JBoss 7尝试启动过滤器时,我得到以下异常:

15:09:15,222 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/RegistrarValorDolar]] (MSC service thread 1-2) Exception starting filter cripto: java.lang.ClassCastException: cenpra.com.sigtec.business.utilities.SessionFilter cannot be cast to javax.servlet.Filter
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:441) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3269) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3865) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_15]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_15]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_15]
Run Code Online (Sandbox Code Playgroud)

试图删除从全球模块库"的servlet.jar",在尝试了服务器负载是通过内部的jar自己的类,我得到了ClassNotFoundExceptionjavax.servlet.Filter类.

  • 我想使用全局模块,因为我需要重用很多库.

jboss module classloader libraries jboss7.x

4
推荐指数
1
解决办法
1万
查看次数

使用纯JSF获取调用页面

JSF 1.2-1.2_07-b03-FCS

JSTL 1_1-mr2(特别版)

Java 1.6.0_22-b04

Eclipse 3.6.0(Helios)

Tomcat 6.0.28(也需要在Weblogic上运行)

IE 7.0.5730.13

Firefox:6.0

我们有页面:http:// {host:port} /mybase/faces/mypage.jsp ...

它通过超链接,重定向等从多个外部页面调用.

我们想要以纯粹的"JSF"方式确定调用它的页面的URL(以便实现命令按钮"后退"按钮).

我们知道我们可以这样做:

    FacesContext facesContext = FacesContext.getCurrentInstance();
    ExternalContext externalContext = facesContext.getExternalContext();        
    HttpServletRequest origRequest = 
        (HttpServletRequest)externalContext.getRequest();
    String referrer = origRequest.getHeader("referer"); 
Run Code Online (Sandbox Code Playgroud)

但是,这需要HttpServletRequest,它需要包含servlet-api.jar文件.

问题:这可以用纯JSF方式完成,因此不包括servlet-api.jar文件吗?

谢谢,约翰

jsf

3
推荐指数
1
解决办法
4107
查看次数

如何在命令行中为Tomcat编译servlet?错误:包javax.servlet不存在

编译Java文件时,我收到此错误消息:

error: package javax.servlet does not exist
Run Code Online (Sandbox Code Playgroud)

我为Jave EE SDK安装了一个大的.SH文件,Java版本给了我这个:

java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)
Run Code Online (Sandbox Code Playgroud)

我需要安装其他东西吗?

我使用Tomcat 7作为Servlet容器,/Library/Tomcat/ 并使用命令行进行简单的文本编辑器.

java tomcat servlets compiler-errors osx-mountain-lion

3
推荐指数
1
解决办法
2万
查看次数

org.apache.el.parser.ParseException:遇到"("在第X行,第Y列.期待其中一个[...]

以下JSF片段:

<p:dataTable value="#{userbean.getAll()}" var="user">
Run Code Online (Sandbox Code Playgroud)

引发此异常:

Encountered "(" at line 1, column 18. Was expecting one of: "}" ... "." ... "[" ... ">" ... "gt" ... "<" ... "lt" ... ">=" ... "ge" ... "<=" ... "le" ... "==" ... "eq" ... "!=" ... "ne" ... "&&" ... "and" ... "||" ... "or" ... "*" ... "+" ... "-" ... "/" ... "div" ... "%" ... "mod" ... 
org.apache.el.parser.ParseException: Encountered "(" at line 1, column 18. Was expecting one of: …
Run Code Online (Sandbox Code Playgroud)

jsf el parentheses parseexception methodexpression

3
推荐指数
1
解决办法
2万
查看次数

java.lang.NoSuchMethodError:javax.faces.component.UIComponent.getPassThroughAttributes(Z)Ljava/util/Map; 迁移到JSF 2.2后

迁移到JSF 2.2后,我得到以下异常.具体来说,我正在将Mojarra 2.1.17升级到Mojarra 2.2.8.

java.lang.NoSuchMethodError: javax.faces.component.UIComponent.getPassThroughAttributes(Z)Ljava/util/Map;
    at org.primefaces.renderkit.RendererUtils.renderPassThroughAttributes(RendererUtils.java:79)
    at org.primefaces.renderkit.CoreRenderer.renderDynamicPassThruAttributes(CoreRenderer.java:119)
    at org.primefaces.renderkit.CoreRenderer.renderPassThruAttributes(CoreRenderer.java:114)
    at org.primefaces.renderkit.BodyRenderer.encodeBegin(BodyRenderer.java:44)
    at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:823)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1611)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:273)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
Run Code Online (Sandbox Code Playgroud)

当我检查UIComponent内部时jsf-api-2.2.8.jar,我可以看到有一种方法Map<String, Object> getPassThroughAttributes(boolean create);.

这是怎么造成的,我该如何解决?

migration jsf nosuchmethoderror jsf-2.2

3
推荐指数
1
解决办法
5262
查看次数