Let me put it another way.
If I remove web.xml why does the following code give me 404 in jetty 11 ?
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
/**
* Root resource (exposed at "myresource" path)
*/
@Path("myresource")
public class MyResource {
/**
* Method handling HTTP GET requests. The returned object will be sent
* to the client as "text/plain" media type.
*
* @return String that will be returned as a text/plain response.
*/
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getIt() {
return "got, it!";
}
}
On Sun, 4 Apr 2021, 15:03 Joakim Erdfelt, <[email protected]> wrote:
> <welcome-file-list> is only used when Jetty is in charge of serving static
> content.
> Or said another way, when there is a request for a resource that doesn't
> match a url-pattern that the webapp has specified, then the servlet spec
> Default Servlet kicks in and determines static content, welcome-files, etc
> ...
>
> You have jersey setup with <url-pattern>/*</url-pattern>, which means
> Jersey is responsible for 100% of content served.
> Jetty is not involved in much with that configuration.
>
> I don't understand this kind of configuration, Jersey usage should be
> focused, only on REST api resources, not 100% of content, including static
> and default servlet.
> I would recommend that you specify jersey on a narrow focused url-pattern,
> like `/api/*` and leave the other requests for resources to Jetty (it can
> serve static content WAY BETTER than Jersey can).
>
> Joakim Erdfelt / [email protected]
>
>
> On Sat, Apr 3, 2021 at 1:55 AM Som Lima <[email protected]> wrote:
>
>>
>> IF I have the web.xml then localhost:8080/myresource works fine
>> BUT the index.jsp is not picked with localhost:8080 or
>> http://localhost/index.jsp
>> I got an 404.
>> URI: /
>> STATUS: 404
>>
>> IF I remove the web.xml then the index.jsp is picked up which is what is
>> meant to happen with jetty because it's built in functionality
>> assumes an index.jsp file is there and will pick it and publish it.
>> But the I get a 404 with localhost:8080/myresource now.
>> I want both index.jsp to be picked up and have the jersey functionality
>> localhost:8080/myresource with the web.xml
>> but I can only have one or the other.
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
>> https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
>> version="5.0">
>>
>> <servlet>
>> <servlet-name>Jersey Web Application</servlet-name>
>>
>> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
>> <init-param>
>>
>> <param-name>jersey.config.server.provider.packages</param-name>
>> <param-value>com.example</param-value>
>> </init-param>
>> <load-on-startup>1</load-on-startup>
>> </servlet>
>> <servlet-mapping>
>> <servlet-name>Jersey Web Application</servlet-name>
>> <url-pattern>/*</url-pattern>
>> </servlet-mapping>
>>
>> <!-- no effect -->
>> <welcome-file-list>
>> <welcome-file>index.jsp</welcome-file>
>> </welcome-file-list>
>>
>> </web-app>
>>
>>
>> import jakarta.ws.rs.GET;
>> import jakarta.ws.rs.Path;
>> import jakarta.ws.rs.Produces;
>> import jakarta.ws.rs.core.MediaType;
>>
>> /**
>> * Root resource (exposed at "myresource" path)
>> */
>> @Path("myresource")
>> public class MyResource {
>>
>> /**
>> * Method handling HTTP GET requests. The returned object will be sent
>> * to the client as "text/plain" media type.
>> *
>> * @return String that will be returned as a text/plain response.
>> */
>> @GET
>> @Produces(MediaType.TEXT_PLAIN)
>> public String getIt() {
>> return "got, it!";
>> }
>> }
>>
>>
>>
>> Preferably I also want the Rest API Config to work as well as the
>> index.jsp so that I can call the resource localhost:8080/v1/myresource
>>
>> import jakarta.ws.rs.ApplicationPath;
>> import jakarta.ws.rs.core.Application;
>>
>> @ApplicationPath("v1")
>> public class RestAppConfig extends Application{
>> }
>>
>>
>> _______________________________________________
>> jetty-users mailing list
>> [email protected]
>> To unsubscribe from this list, visit
>> https://www.eclipse.org/mailman/listinfo/jetty-users
>>
> _______________________________________________
> jetty-users mailing list
> [email protected]
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/jetty-users
>
_______________________________________________
jetty-users mailing list
[email protected]
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jetty-users