Aus dem Fazit scheint es gut, es mit "Dynamic Web Project" zu schaffen.
Neulich habe ich ein einfaches Servlet + JSP-Projekt "Tomcat-Projekt" unter dem Titel Erstellen einer Memo-App mit Tomcat + JSP + Servlet + MySQL mit Eclipse genannt. Ich habe es mit Maven erstellt, aber selbst wenn ich im Kontextmenü des Projekts [Tomcat-Projekt] -> [WAR-Datei gemäß Projekteinstellungen erstellen] auswähle, kann eine Datei erstellt werden, die eine verfestigte Datei im Projekt ist Es war ein wenig subtil, also habe ich einige Nachforschungen angestellt.
Außerdem [In Maven-Projekt konvertieren](https://qiita.com/zaki-lknr/items/32690b071abf202281d6#tomcat%E3%83%97%E3%83%AD%E3%82%B8%E3%82% A7% E3% 82% AF% E3% 83% 88% E3% 82% 92maven% E3% 81% AB% E5% A4% 89% E6% 8F% 9B% E3% 81% 99% E3% 82% 8B) Das Maven-Projekt hat eine empfohlene Verzeichnisstruktur, und die Konvertierungsfunktion von Eclipse wird erst nach dieser Konfigurationskonvertierung ausgeführt. Wenn Sie also Maven verwenden möchten, ist es besser, es von Anfang an als Maven-Projekt zu erstellen. ..
Zusätzlich zum Erstellen eines Tomcat-Projekts gibt es ein "Dynamisches Webprojekt", das Sie auswählen können.
Wenn Sie Maven zum Verwalten von Bibliotheken und Builds verwenden möchten, wählen Sie "Maven Project" anstelle von "Dynamic Web Project" und wählen Sie "maven-archetype-webapp", ohne "Archetype Selection überspringen" zu aktivieren. Erstellen Sie ein Projekt durch Angabe
Dieses Projekt wird ein dynamisches Webprojekt sein, das Maven verwenden kann
Sie können eine War-Datei aus [Tomcat-Projekt] -> [WAR-Datei gemäß Projekteinstellungen erstellen] im Kontextmenü des Projekts erstellen (* Geben Sie im Voraus "WAR-Exporteinstellungen" in die Tomcat-Einstellungen der Projekteigenschaften ein.
Beim Erstellen dieser War-Datei wurden jedoch keine externen JAR-Dateien (JDBC usw.) berücksichtigt, selbst wenn die Exporteinstellungen des Erstellungspfads vorgenommen wurden, und wie ich zu Beginn schrieb, wurden das Verzeichnis ".settings" und andere unnötige Dinge nicht berücksichtigt. Enthalten und sehr subtil. (Wenn Sie auf Tomcat bereitstellen, funktioniert es)
Wenn das externe JAR in der Projektkonfiguration enthalten ist (/ WEB-INF / lib / ***. JAR
usw.), wird es in die War-Datei aufgenommen (in diesem Fall wird es jedoch als Maven-Projekt doppelt verwaltet). ich fühle mich wie
[Exportieren] des normalen Menüs ist nicht möglich. (Nicht im Zielprojekt enthalten)
Da es sich in Eclipse nicht um ein Tomcat-Projekt handelt, kann es nicht über das Tomcat-Menü erstellt werden (es gibt kein Menü). Sie können jedoch im Kriegsformat aus [Datei (F)] -> [Exportieren (O)] im normalen Menü exportieren.
Legen Sie hier das Ziel (Ziel der Kriegsdatei speichern) entsprechend fest, indem Sie auf die Schaltfläche [Durchsuchen] klicken und auf [Fertig stellen] klicken, um die Kriegsdatei zu erstellen. Im Fall von Mavens von maven-archetype-webapp angegebenem Projekt wird es in eine Kriegsdatei exportiert, die die von Maven eingeführte externe Bibliothek wie JDBC enthält. Bei einem dynamischen Webprojekt handelt es sich nur um eine Datei in der Projektkonfiguration wie die War-Datei des Tomcat-Projekts (wenn sie sich auf eine Datei außerhalb des Projekts bezieht, ist sie nicht in der War-Datei enthalten).
[Erstellen aus "Klasse" erstellen, da die "Servic" -Erstellung im neuen Menü nicht verwendet werden kann](https://qiita.com/zaki-lknr/items/32690b071abf202281d6#%E3%82%B5%E3%83% BC% E3% 83% 96% E3% 83% AC% E3% 83% 83% E3% 83% 88% E3% 81% AE% E4% BD% 9C% E6% 88% 90)
Erstellen Sie aus "Servlet" im neuen Menü
Angeben der URL-Zuordnung (entsprechend der Quellanmerkung "@ WebServlet")
Sie können auch auswählen, welche Methode beim Erstellen der Quelldatei überschrieben werden soll.
Ausgabequelle
ExampleServlet.java
package jp.example.www;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class MainServlet
*/
@WebServlet(description = "Hauptbildschirm", urlPatterns = { "/" })
public class MainServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public MainServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
Gleiches gilt für Java-Dateien wie für dynamische Webprojekte. In diesem Projekt werden die URL-Zuordnung und die Metainformationen der Beschreibung in "src / main / webapp / WEB-INF / web.xml" beschrieben. Wenn sie aus dem neu erstellten "Servlet" -Menü stammen, werden sie automatisch aktualisiert. Werde es tun.
Recommended Posts