Welkomstbestand servlet-resultaten bellen in java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher

Ik krijg een ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher tijdens het aanroepen van servlet als welkomstbestand.

Hieronder staat de web.xml :

<?xml version="1.0" encoding="UTF-8"?>



    
        struts2
        org.apache.struts2.dispatcher.FilterDispatcher
    
    
        struts2
        /*
    
    
        Welcome
        java.Welcome
    
    
        Welcome
        /Welcome
    
    
        10
    
    
        Welcome
    
 

En hieronder is mijn servletklasse:

package java;

import java.io.IOException;
import java.org.in.pesca.viewForms.LoginForm;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@SuppressWarnings("serial")
public class Welcome extends HttpServlet{
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {

        HttpSession s = req.getSession();
        if(!s.isNew()){
            s.invalidate();
            s = req.getSession(true);
        }

        LoginForm loginForm = new LoginForm();
        Cookie[] cookies = req.getCookies();
        if(cookies == null || cookies.length == 0){
            for (Cookie cookie : cookies) {
                if(cookie.getName().trim().equals("UserNameCookie")){
                    loginForm.setUserName(cookie.getValue().trim());
                    loginForm.setRememberMe(true);
                } else if(cookie.getName().trim().equals("PasswordCookie")){
                    loginForm.setPassword(cookie.getValue().trim());
                    loginForm.setRememberPassword(true);
                }
            }
        }
        s.setAttribute("LoginForm", loginForm);

        req.getRequestDispatcher("index.jsp").forward(req, resp);
    }
}

Hieronder staat het stacktracé:

[#|2011-12-07T01:26:22.443+0530|SEVERE|glassfish3.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=62;_ThreadName=admin-thread-pool-4848(2);|WebModule[/SEAFOOD]PWC1270: Exception starting filter struts2
java.lang.InstantiationException
    at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:124)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4625)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:5316)
    at com.sun.enterprise.web.WebModule.start(WebModule.java:500)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:755)
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1980)
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1630)
    at com.sun.enterprise.web.WebApplication.start(WebApplication.java:100)
    at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
    at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
    at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:286)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:370)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1067)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1247)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:465)
    at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:222)
    at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:168)
    at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:234)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1518)
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1368)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:252)
    at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:120)
    ... 40 more
|#]

[#|2011-12-07T01:26:22.459+0530|INFO|glassfish3.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=62;_ThreadName=admin-thread-pool-4848(2);|WEB0671: Loading application [SEAFOOD] at [/SEAFOOD]|#]

[#|2011-12-07T01:26:22.620+0530|INFO|glassfish3.1|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=62;_ThreadName=admin-thread-pool-4848(2);|SEAFOOD was successfully deployed in 1,212 milliseconds.|#]

[#|2011-12-07T01:27:36.945+0530|INFO|glassfish3.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=37;_ThreadName=http-thread-pool-8080(4);|PWC1412: WebModule[null] ServletContext.log():PWC1409: Marking servlet Welcome as unavailable|#]

[#|2011-12-07T01:27:36.946+0530|SEVERE|glassfish3.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=37;_ThreadName=http-thread-pool-8080(4);|WebModule[/SEAFOOD]Error loading WebappClassLoader (delegate=true; repositories=WEB-INF/classes/) java.Welcome
java.lang.ClassNotFoundException: java.Welcome
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1518)
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1368)
    at org.apache.catalina.core.StandardWrapper.loadServletClass(StandardWrapper.java:1394)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1258)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:1070)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:189)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
    at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:619)
|#]

Ik ben verhuisd naar de eclips van Netbeans. Zijn er specifieke instellingen nodig?

0
Fout bij het declareren van de klassen in een pakket "java"
toegevoegd de auteur Michael, de bron
@Chinmay Omdat het "java" -pakket is bedoeld voor klassen uit de Java-API, ga je trollen.
toegevoegd de auteur Michael, de bron
Wil je suggereren dat het werkte in Netbeans? Wilt u aangeven dat het werkt als de servlet niet als welkomstbestand wordt genoemd, maar direct? By the way, waarom maak je de sessie altijd ongeldig? Waarom bewaar je je gebruikersnaam/wachtwoord gewoon in een cookie, waardoor je deze in het openbaar openbaar maakt?
toegevoegd de auteur BalusC, de bron
Welke klasse wordt niet gevonden? De klasse servlet? Wordt het ingezet?
toegevoegd de auteur Dave Newton, de bron
U hebt ten minste twee problemen: de ene, de S2-bibliotheek wordt niet gevonden, twee, en de uwe ook niet. Ik vermoed dat je helemaal niet correct implementeert.
toegevoegd de auteur Dave Newton, de bron
Is het mogelijk voor u om een ​​stacktracering uit het serverlog te halen, en ik weet niet zeker waarom u java wilt gebruiken als pakketnaam. Ik zie echter niet in dat dit het probleem veroorzaakt.
toegevoegd de auteur Prasanna Talakanti, de bron
probeer dit gewoon opnieuw te implementeren, ik denk dat oorlogsimplementatie corrupt is. Als je alle klassen en jar-bestanden ziet die vereist zijn, dan is het enige dat ik kan bedenken een corrupte implementatie.
toegevoegd de auteur Prasanna Talakanti, de bron
Controleer het oorlogsbestand om te zien of de pot met de klasse beschikbaar is en correct (pakketnamen, enz.) Is verpakt.
toegevoegd de auteur srkavin, de bron
Bevat het oorlogsbestand de servletklasse op /WEB-INF/classes/java/Welcome.class?
toegevoegd de auteur srkavin, de bron
Zorg er ook voor dat de pot met filterklasse org.apache.struts2.dispatcher.FilterDispatcher is verpakt in de oorlog op /WEB-INF/lib
toegevoegd de auteur srkavin, de bron
Is het de klasse servlet niet gevonden? of een andere klas? Kunt u de servlet load-on-startup instellen en controleren of deze juist is geïnstantieerd?
toegevoegd de auteur srkavin, de bron
Zijn de klassen los verpakt in de map WEB-INF/classes? De fout suggereert dat klasse niet bestaat in het klassenpad.
toegevoegd de auteur srkavin, de bron
WEB-INF/lib/map is leeg
toegevoegd de auteur Chinmay, de bron
@BalusC: ja hetzelfde werkte in netbeans -> dezelfde uitzondering doet zich zelfs voor als de servlet rechtstreeks riep en wat Welcome Class doet, is hier niet van belang, het belangrijkste is hier, het is ClassNotFoundException aan het gooien ... n kun je me voorstellen hoe om sessie te behouden? ik ben niet nieuw voor Java, maar ik heb nog nooit sessie mgmt gedaan ...
toegevoegd de auteur Chinmay, de bron
in de klassendirectory is alles correct verpakt.
toegevoegd de auteur Chinmay, de bron
@Michael: wat is daar mis mee?
toegevoegd de auteur Chinmay, de bron
ja het is daar
toegevoegd de auteur Chinmay, de bron
ik heb stack trace toegevoegd, ik vond InstantiationException ook ...
toegevoegd de auteur Chinmay, de bron
ja servletklasse is niet gevonden. het wordt ingezet op glassfish server ...
toegevoegd de auteur Chinmay, de bron

Geen antwoorden

0