I am trying to create a web server that embeds a jetty (rather than Java EE) and will draw my servlets RESTfully using knitwear.
I use spring to inject dependencies and map servlets as beans. However, when I try to do HTTP req for connected servlets, I get an error with a 500 server error, or 404, page not found.
I'm not sure if I am doing this correctly, and I should probably use jetty.xml, not that. (I wonder if there is a shorcut using jetty.xml)
<bean id="contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"> </bean> <bean id="server" class="org.mortbay.jetty.spring.Server" init-method="start" destroy-method="stop"> <property name="threadPool"> <bean id="ThreadPool" class="org.eclipse.jetty.util.thread.QueuedThreadPool"> <property name="minThreads" value="10" /> <property name="maxThreads" value="50" /> </bean> </property> <property name="connectors"> <list> <bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector"> <property name="port" value="8080" /> </bean> </list> </property> <property name="handler"> <bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"> <property name="handlers"> <list> <ref bean="contexts" /> <bean class="org.eclipse.jetty.server.handler.ResourceHandler"> <property name="directoriesListed" value="true" /> <property name="welcomeFiles"> <list> <value>index.jsp</value> </list> </property> <property name="resourceBase" value="./WebContent" /> </bean> <bean id="myServletHandler" class="org.eclipse.jetty.servlet.ServletHandler"> <property name="servlets"> <list> <bean id="jerseyServletContainer" class="org.eclipse.jetty.servlet.ServletHolder"> <property name="name" value="jersey" /> <property name="servlet"> <bean class="com.sun.jersey.spi.container.servlet.ServletContainer" /> </property> <property name="initParameters"> <map> <entry key="com.sun.jersey.config.property.resourceConfigClass" value="com.sun.jersey.api.core.PackagesResourceConfig" /> <entry key="com.sun.jersey.config.property.packages" value="servlets" /> </map> </property> </bean> </list> </property> <property name="servletMappings"> <list> <bean id="jerseyMapping" class="org.eclipse.jetty.servlet.ServletMapping"> <property name="servletName" value="jersey" /> <property name="pathSpec" value="/*" /> </bean> </list> </property> </bean> </list> </property> </bean> </property> <property name="beans"> <list> <bean id="ContextDeployer" class="org.eclipse.jetty.deploy.ContextDeployer"> <property name="contexts" ref="contexts" /> <property name="directory" value="contexts" /> <property name="scanInterval" value="5" /> </bean> </list> </property> </bean>
code>
I have one class in the servlet package: DoNothing.java
package servlets; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; @Path("/nothing") public class doNothing { @GET @Produces("text/plain") public String returnNothing() { return ("test"); } }
What am I doing wrong in the world? or should I ask what in the world am I doing right?
thanks
java spring jersey embedded-jetty
msshapira
source share