Ciao raga stò da poco lavorando in ambito web application con Eclipse oggi ho provato a replicare l'esempio riportato qui :http://live.eclipse.org/node/572 con application server GlassFish v2.1 Java EE ma non funziona.
Non so se ho mancato di configurare qualcosa in Eclipse.
(posso solo dire che la voce in project explore della mia webApplication:
CiaoWeb->References è vuota.
Mentre nel tutorial c'è tutto il path per arrivare alla servlet.
nel mio caso dovrebbe essere
ciao.prj.CiaoServlet/Hello
In particolare ho creato un EJB project eccolo:
e una webApplication con una servlet CiaoServlet;codice:// Hello.java package mio.prj; import javax.ejb.Local; @Local public interface Hello { public String sayHello(String s); } //HelloBean package mio.prj; import javax.ejb.Stateless; /** * Session Bean implementation class HelloBean */ @Stateless public class HelloBean implements Hello { /** * Default constructor. */ public HelloBean() { // TODO Auto-generated constructor stub } @Override public String sayHello(String s) { // TODO Auto-generated method stub return "Ciao "+s+" !!!"; } }
eccola:
Ecco il log di GlassFish:codice:package mio.prj; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class CiaoServlet */ public class CiaoServlet extends HttpServlet { private static final long serialVersionUID = 1L; Hello h; /** * @see HttpServlet#HttpServlet() */ public CiaoServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name=request.getParameter("name"); response.getOutputStream().println(h.sayHello(name)); } }
Datemi una mano .....codice:INFO: classLoader = WebappClassLoader delegate: true repositories: /WEB-INF/classes/ ----------> Parent Classloader: EJBClassLoader : urlSet = [] doneCalled = false Parent -> java.net.URLClassLoader@1a2f02e INFO: SharedSecrets.getJavaNetAccess()=java.net.URLClassLoader$7@554acb GRAVE: Class [ Lmio/prj/Hello; ] not found. Error while loading [ class mio.prj.CiaoServlet ] AVVERTENZA: Error in annotation processing: java.lang.NoClassDefFoundError: Lmio/prj/Hello; INFO: deployed with moduleid = CiaoWeb GRAVE: StandardWrapperValve[Ciao]: PWC1406: Servlet.service() for servlet Ciao threw exception java.lang.NoClassDefFoundError: mio/prj/Hello at mio.prj.CiaoServlet.doGet(CiaoServlet.java:29) at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106) Caused by: java.lang.ClassNotFoundException: mio.prj.Hello at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1576) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 31 more![]()

Rispondi quotando