相关疑难解决方法(0)

java.lang.LinkageError:加载器约束违规:解析接口方法时javax.servlet.jsp.JspApplicationContext.getExpressionFactory()

我在Eclipse IDE中使用JSF 2.0.当我尝试实现JSP和Servlet时,我收到以下错误:

java.lang.LinkageError: loader constraint violation: when resolving interface
     method  "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()
     Ljavax/el/ExpressionFactory;" the class loader (instance of 
     org/apache/jasper/servlet/JasperLoader) of the current class,      
     org/apache/jsp/exCrop_jsp, and the class loader (instance of  
     org/apache/catalina/loader/StandardClassLoader) for resolved class, 
     javax/servlet/jsp/JspApplicationContext, have different
     Class objects for the type javax/el/ExpressionFactory used in the signature
at org.apache.jsp.exCrop_jsp._jspInit(exCrop_jsp.java:31)
at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:181)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
Run Code Online (Sandbox Code Playgroud)

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

jsf jsp servlets jsf-2

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

Servlet.service()抛出ClassCastException

我有一个java Web应用程序.我已经设置了这个新项目并在运行jsp时遇到以下异常,

Oct 10, 2012 3:01:49 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
    at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:151)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:340)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
Oct 10, 2012 3:01:57 AM org.apache.catalina.loader.WebappClassLoader modified
INFO:     Additional JARs have been added : 'activation-1.1.jar'
Oct 10, 2012 3:01:57 AM org.apache.catalina.core.StandardContext reload
INFO: …
Run Code Online (Sandbox Code Playgroud)

java servlets jdk1.6 classcastexception tomcat6

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

是否有servlet-api的通用版本?

我知道每个servlet容器(例如Tomcat,Glassfish等)都带有servlet-api的实现.

我正在寻找的是一个servlet-api的通用(容器不可知)版本来编译我的应用程序代码.

我还希望在开发期间在我的IDE中使用源代码或Javadoc.

这样的servlet-api.jar版本是否存在?

java servlets

7
推荐指数
1
解决办法
508
查看次数

使用PrettyFaces获取原始请求URI

我在JSF应用程序中使用PrettyFaces.该站点需要身份验证才能访问某些页面,因此我正在使用一个侦听器(预呈现视图)来检查用户是否已登录.因此,如果用户尝试访问/ foo(在PrettyFaces之前的/foo.jsf),我会重定向登录.

但是,我想将它们重定向到它们的初始目的地,所以我想附加一个请求参数"next",以便我将用户重定向到/ login?next =/foo.不幸的是,我无法从请求对象获取原始requestURI,以下代码中的uri字符串是/appname/foo.jsf而不是/ appname/foo

ctx = FacesContext.getCurrentInstance().getExternalContext();
HttpServletRequest request = (HttpServletRequest) ctx.getRequest();
String uri = request.getRequestURI();
Run Code Online (Sandbox Code Playgroud)

有没有办法检索原始URI路径?

jsf java-ee prettyfaces

7
推荐指数
1
解决办法
1964
查看次数

将jetty 7更新为jetty 8:java.lang.NoClassDefFoundError:javax/servlet/FilterRegistration

我试图通过嵌入jetty开发Web服务器.所以对于jetty 7.3一切正常.昨天我将jetty库更新到最新版本8.0.3,现在我通过创建一个ServletContextHandler得到了一个Exception.

线程"main"中的异常java.lang.NoClassDefFoundError:org.eclipse.jetty.servlet.ServletContextHandler中的javax/servlet/FilterRegistration.(ServletContextHandler.java:126)org.eclipse.jetty.servlet.ServletContextHandler.(ServletContextHandler.java :106)在org.gemsjax.server.GemsJaxServer.main(GemsJaxServer.java:38)的org.eclipse.jetty.servlet.ServletContextHandler.(ServletContextHandler.java:94)

所以我做的是:

    public static void main(String[] args) {

     Server server = new Server(8080);


        ServletContextHandler servletContext = new ServletContextHandler(ServletContextHandler.SESSIONS);
        servletContext.setContextPath("/servlets");
        servletContext.addServlet(new ServletHolder( new CollaborationWebSocketServlet()),"/collaboration");


        // The ResourceHandler to handle static web content
        ResourceHandler resourceHandler = new ResourceHandler();
        resourceHandler.setDirectoriesListed(true);
        resourceHandler.setWelcomeFiles(new String[]{ "index.html" });


        resourceHandler.setResourceBase("./war/");


        ContextHandler resourceContext = new ContextHandler();
        resourceContext.setContextPath("/static");
        resourceContext.setHandler(resourceHandler);



        HandlerCollection handlers = new HandlerCollection();


        handlers.addHandler(resourceContext);
        handlers.addHandler(servletContext);

        server.setHandler(handlers);

        try {
            server.start();
            server.join();
        } catch (Exception e) {
            e.printStackTrace();
        }


}
Run Code Online (Sandbox Code Playgroud)

抛出异常的行是:

ServletContextHandler servletContext = new ServletContextHandler(ServletContextHandler.SESSIONS);
Run Code Online (Sandbox Code Playgroud)

我使用ubuntu 11.04: …

java jetty

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

WebServlet无法解析为某种类型

我能够让我的应用程序再次运行,遵循user2821894的建议,但在尝试调用servlet后,tomcat 7再次停止工作!如果我尝试删除我调用我的servlet的代码我的web应用程序doesent'work !! 一旦我有一个servlet问题tomcat停止工作.

我在eclipse上启动我的web项目时遇到了问题.我遇到了Tomcat 7的问题.所以我从eclipse中删除'tomcat 7然后再添加它(再次添加tomcat 7).

现在我启动我的web项目没有问题,但我的servlet有问题.例如,我得到错误

 WebServlet cannot be resolved to a type
 The attribute value is undefined for the annotation type 
Run Code Online (Sandbox Code Playgroud)

我在我的项目中添加了servlet-api 3.0.jar,但我仍然遇到这些问题.

这是我的servlet的代码

 package Jeans;
    import java.io.IOException;
    import java.io.InputStream;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;

    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.annotation.WebServlet;

    import com.sun.java.swing.plaf.windows.TMSchema.Part;


    import javax.servlet.http.Part;



    @WebServlet("/FileUploadDBServlet ")

  //// i got an error here//////////////////////////// 
    @MultipartConfig(maxFileSize = 16177215)  

    public class FileUploadDBServlet extends HttpServlet {


        private String dbURL = "db";
        private String dbUser = …
Run Code Online (Sandbox Code Playgroud)

java jsp servlets

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

java.lang.ClassNotFoundException:javax.servlet.jsp.SkipPageException

When i run the jsp page i am getting the following error. 
Web sever : Tomcat 6.0 , using Struts 
java.lang.ClassNotFoundException: javax.servlet.jsp.SkipPageException 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) 
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128) 
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) 
at org.apache.jsp.jsp.login.Main_005ffit_jsp._jspService(Main_005ffit_jsp.java:2846) 
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386) 
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) 
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) 
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) 
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) 
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069) 
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455) 
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279) 
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) 
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) …
Run Code Online (Sandbox Code Playgroud)

java jsp struts classnotfoundexception

6
推荐指数
1
解决办法
3192
查看次数

由于servlet,Tomcat服务器不会在eclipse中启动

我正在编写一个使用smook将XML文件解析为java对象的程序.我被要求将其作为servlet运行.应用程序(在转换为servlet之前)运行得很好,但每次尝试运行它时tomcat服务器都会崩溃.现在我运行一个没有问题的示例servlet.

这是启动时的控制台:

Jun 11, 2012 3:46:59 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;"C:\Program Files (x86)\Common Files\EMC";C:\PROGRA~2\COMMON~1\EMC;.
Jun 11, 2012 3:46:59 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Serverlet' did not find a matching property.
Jun 11, 2012 3:46:59 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jun 11, 2012 3:46:59 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jun 11, 2012 …
Run Code Online (Sandbox Code Playgroud)

eclipse tomcat servlets smooks lifecycleexception

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

org.apache.jsp.foo_jsp._jspInit(foo_jsp.java:22)中的java.lang.NullPointerException

我有一个带有虚拟jsp页面的spring mvc应用程序(名为htmlcontent.jsp).jsp只包含一个字符串:

HalloText
Run Code Online (Sandbox Code Playgroud)

这是jsp的全部内容.控制器如下所示:

package springapp.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HtmlContentController {

    @RequestMapping("/htmlcontent.htm")
    public String view() {
        return "htmlcontent";
    }
}
Run Code Online (Sandbox Code Playgroud)

bean在我的springapp-web.xml中添加

<bean id="htmlcontent" class="springapp.web.HtmlContentController">
Run Code Online (Sandbox Code Playgroud)

我的web.xml中的servlet映射定义如下:

<servlet-mapping>
    <servlet-name>springapp</servlet-name>
    <url-pattern>*.htm</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

当我打电话给以下时:

http://localhost:8080/spring-mvc-hsqldb/htmlcontent.htm
Run Code Online (Sandbox Code Playgroud)

然后我得到一个NullPointerException:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.NullPointerException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:536)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.NullPointerException
    org.apache.jsp.htmlcontent_jsp._jspInit(htmlcontent_jsp.java:22) …
Run Code Online (Sandbox Code Playgroud)

jsp tomcat nullpointerexception

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

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
查看次数