T
Tersus
Gast
Grüße,
angeblich benötigt man seit der Einführung von Servlet 3.1 keinen WebDescriptor (web.xml) mehr.
Mein WebAppProjekt hat nur eine Hello-World-Klasse:
Wenn gradle das zu einer *.war braut und ich es dem Tomcat gebe, deployed er die Anwendung zwar, aber sie ist nicht aufrufbar.
Die URL müsste doch localhost:8080/SimpleWebApp/hello sein, richtig? Da gibt es aber ein 404.
angeblich benötigt man seit der Einführung von Servlet 3.1 keinen WebDescriptor (web.xml) mehr.
Mein WebAppProjekt hat nur eine Hello-World-Klasse:
Code:
// ./src/main/java/org/HelloServlet
package org;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "HelloServlet", urlPatterns = {"hello"}, loadOnStartup = 1)
public class HelloServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = -9181111898454168471L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().print("Hello, World!");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter("name");
if (name == null) name = "World";
request.setAttribute("user", name);
request.getRequestDispatcher("response.jsp").forward(request, response);
}
}
Code:
/*
* This build file was generated by the Gradle 'init' task.
*
* This generated file contains a sample Java Library project to get you started.
* For more details take a look at the Java Libraries chapter in the Gradle
* user guide available at https://docs.gradle.org/4.3/userguide/java_library_plugin.html
*/
// Apply the java-library plugin to add support for Java Library
//apply plugin: 'java-library'
plugins {
id 'java'
id 'war'
}
// In this section you declare where to find the dependencies of your project
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
dependencies {
providedCompile 'javax.servlet:javax.servlet-api:3.1.0'
testCompile 'junit:junit:4.12'
}
Wenn gradle das zu einer *.war braut und ich es dem Tomcat gebe, deployed er die Anwendung zwar, aber sie ist nicht aufrufbar.
Die URL müsste doch localhost:8080/SimpleWebApp/hello sein, richtig? Da gibt es aber ein 404.