I have a basic question on how the xml mapping and the controller works. I have given different scenarios where it works and where I expect it to work and not working.
Jersey controller-
@Path("/file")
public class UploadFileService {
@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(
html Form - index.jsp
<form action="file/upload" method="post" enctype="multipart/form-data">
<input type="input" name="username" placeholder="Enter Username"/>
<br><br>
<input type="input" name="password" placeholder="Enter Password"/>
<br><br><br>
<hr>
<p>
Select a file : <input type="file" name="file" size="45" />
</p>
<br>
<input type="submit" value="Upload It" />
</form>
URL Mapping in web.xml
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/*/*</url-pattern>
</servlet-mapping>
Application Name:RESTFileUpload
http://localhost:8080/RESTFileUpload - index.jsp page is returned.
http://localhost:8080/RESTFileUpload/file/upload - Page not found 404.
but when I changed "file/upload" to "/rest/file/upload" the page is found
http://localhost:8080/RESTFileUpload/rest/file/upload
Question:-
Why the URL is not found when the form action is "file/upload" and url mapping is
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
http://localhost:8080/RESTFileUpload/file/upload - not found