При развертывании приложения Java EE на Glassfish с использованием IntelliJ, где должны быть размещены мои сервлеты?На данный момент мой каталог выглядит следующим образом:
web ---
|
WEB-INF---
|
classes---
|
java
Однако, это выдает ошибку 404.Я использую аннотацию WebServlet с urlpattern / login , но я просто не могу получить сервлет с URL localhost:8080/mywarname/login
Если я помещаю свой servlets
в src
папка (что, как кажется, советует IntelliJ, находится в том же каталоге, что и / web ). Я все еще сталкиваюсь с ошибкой 404 .
Аннотация сервлета
@WebServlet(name = "java.LoginServlet", urlPatterns = {"/login"})
public class LoginServlet extends HttpServlet {
.iml file
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="web" name="Web">
<configuration>
<descriptors>
<deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/web/WEB-INF/web.xml" />
</descriptors>
<webroots>
<root url="file://$MODULE_DIR$/web" relative="/" />
</webroots>
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="GlassFish 5.0.0" level="application_server_libraries" />
<orderEntry type="library" scope="PROVIDED" name="GlassFish 5.0.0 - RESTful Web Service" level="application_server_libraries" />
</component>
</module>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
</web-app>