Kompilieren eines dynamischen Web-Projekts
Das Kompilieren der JSP-Seiten übernimmt der Tomcat-Container. Alles was man tun muss, ist das Projekt in eine WAR-Datei zu packen und auf dem Tomcat-Server zu deployen.
Nehmen wir eine einfache Ordner-Struktur an:
- project
- WEB-INF
- index.jsp
- steyle.css
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>Itroduction</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" type="text/css" href="style.css">
<title>Insert title here</title>
</head>
<body>
<div>
<h1>Blubb</h1>
<table border = 1>
<tr>
<% for(int i=0; i<=10; i++){ %>
<td><%= i %></td>
<% } %>
</tr>
</table>
</div>
</body>
</html>
@CHARSET "ISO-8859-1";
td{
width:60px;
text-align: center;
}
Man wechselt über den Befehl >cd projektpfad in das Projekt-Verzeichnis und mit der Anweisung >jar -cvf project.war * packt man alle darin liegenden Dateien in ein .war Archiv.
Wenn man Servlets verwendet, wird die Sache allerdings etwas komplizierter. Da muss jede Java-Datei im src-Odner, wie auf der ersten Seite beschrieben, erst in eine .class Datei kompiliert werden. Schade, dass Tomcat nur den, in JSP eingebetteten, Java-Code automatisch übersetzen kann.
Beim Kompilieren in Tomcat muss der Class-Path zur servlet-api.jar angegeben werden. Der Befehl um ein Servlet zu Compilieren müsste in etwa so aussehen. Passt den Pfad entsprechend dem Ort an, wo bei euch Tomcat installiert ist.
javac -classpath "C:\tomcat\lib\servlet-api.jar" HelloWorld.java
Das Kompilat (HalloWorld.class) muss im classes Ordner des WEB-INF Verzeichnisses liegen. Um das Servlet über die URL: „http://localhost:8080/example/hello“ aufzurufen muss in der web.xml noch ein Mappig auf den Pfad der Klasse definiert werden. Dieser sieht in etwa so aus.
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>package.name.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
Pages: 1 2