'first.html'
:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>WCDS - first.html</title>
</head>
<body>
Ein erster Test aus einer HTML-Seite !!!
</body>
</html>
Home
'deploy.command'
:
#!/bin/bash
PROJECT=wcds
WEBSERVER=./apache-tomcat-8.5.20
rm ./$PROJECT.war
rm $WEBSERVER/webapps/$PROJECT.war
rm -r $WEBSERVER/webapps/$PROJECT
jar cvf $PROJECT.war -C $PROJECT .
cp ./$PROJECT.war $WEBSERVER/webapps/
Home
'deploy.bat'
:
#!/bin/bash
PROJECT=wcds
WEBSERVER=./apache-tomcat-8.5.20
rm ./$PROJECT.war
rm $WEBSERVER/webapps/$PROJECT.war
rm -r $WEBSERVER/webapps/$PROJECT
jar cvf $PROJECT.war -C $PROJECT .
cp ./$PROJECT.war $WEBSERVER/webapps/
Home
'build.xml'
:
<project name="wcds" default="deploy" basedir=".">
<property name="webserver" value="apache-tomcat-8.5.20" />
<property name="web.dir" value="wcds" />
<property name="bin.dir" value="${web.dir}/WEB-INF/classes" />
<path id="classpath">
<fileset dir="${webserver}/lib">
<include name="servlet*.jar" />
</fileset>
</path>
<target name="clean">
<delete dir="${bin.dir}" />
<delete file="${webserver}/webapps/${web.dir}.war" />
<delete dir="${webserver}/webapps/${web.dir}" />
</target>
<target name="init" depends="clean">
<mkdir dir="${bin.dir}" />
</target>
<target name="deploy" depends="clean">
<war destfile="${webserver}/webapps/${web.dir}.war">
<fileset dir="${web.dir}">
<include name="**/*.*" />
</fileset>
</war>
</target>
</project>
Home
'first.jsp'
:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>WCDS - first.jsp</title>
</head>
<body>
Ein erster Test aus einer JSP-Seite !!! <br />
Diesmal aber mit einem JSP-Tag <br />
Datum: <%=new java.util.Date()%>
</body>
</html>
Home
6. Deployment Descriptor (DD)
'WEB-INF/web.xml'
:
<web-app>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>firstServlet</servlet-name>
<servlet-class>ch.wcds.servlets.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>firstServlet</servlet-name>
<url-pattern>/FirstServlet</url-pattern>
</servlet-mapping>
</web-app>
Home
'FirstServlet.java'
:
package ch.wcds.servlets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FirstServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException
{
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
schreibeHtmlCode(pw);
pw.close();
}
private void schreibeHtmlCode(PrintWriter pw)
{
pw.println("<!DOCTYPE html>");
pw.println("<html>");
pw.println(" <head>");
pw.println(" <title>WCDS1 2017 - FirstServlet</title>");
pw.println(" </head>");
pw.println(" <body>");
pw.println(" ein erster Test aus dem FirstServlet <br />");
pw.println(" Datum: " + new java.util.Date());
pw.println(" </body>");
pw.println("</html>");
}
}
Home
'SecondServlet.java'
:
package ch.wcds.servlets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.annotation.WebServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/SecondServlet")
public class SecondServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException
{
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
schreibeHtmlCode(pw);
pw.close();
}
private void schreibeHtmlCode(PrintWriter pw)
{
pw.println("<!DOCTYPE html>");
pw.println("<html>");
pw.println(" <head>");
pw.println(" <title>WCDS1 2017 - SecondServlet</title>");
pw.println(" </head>");
pw.println(" <body>");
pw.println(" ein erster Test aus dem SecondServlet <br />");
pw.println(" Datum: " + new java.util.Date());
pw.println(" </body>");
pw.println("</html>");
}
}
Home
'compile.command'
:
#!/bin/bash
WEB_DIR=wcds
WEBSERVER=./apache-tomcat-8.5.20
CP=$WEBSERVER/lib/servlet-api.jar
CLASSES=./$WEB_DIR/WEB-INF/classes
rm -r $CLASSES
mkdir $CLASSES
javac -cp $CP -d $CLASSES ./src/*.java
Home
'compile.bat'
:
set PROJECT=wcds
set WEBSERVER=.\apache-tomcat-8.5.20
set CP=%WEBSERVER%/lib/servlet-api.jar
set CLASSES=.\%PROJECT%\WEB-INF\classes
rmdir /s /q %CLASSES%
mkdir %CLASSES%
javac -cp %CP% -d %CLASSES% .\src\*.java
Home
'build.xml' ersetzen
:
<project name="wcds" default="help" basedir=".">
<property name="webserver" value="apache-tomcat-8.5.20" />
<property name="web.dir" value="wcds" />
<property name="src.dir" value="src" />
<property name="bin.dir" value="${web.dir}/WEB-INF/classes" />
<path id="classpath">
<fileset dir="${webserver}/lib">
<include name="servlet*.jar" />
</fileset>
</path>
<target name="clean">
<delete dir="${bin.dir}" />
<delete file="${webserver}/webapps/${web.dir}.war" />
<delete dir="${webserver}/webapps/${web.dir}" />
</target>
<target name="init" depends="clean">
<mkdir dir="${bin.dir}" />
</target>
<target name="compile" depends="init">
<javac destdir="${bin.dir}">
<src path="${src.dir}" />
<classpath refid="classpath" />
</javac>
</target>
<target name="deploy" depends="compile">
<war destfile="${webserver}/webapps/${web.dir}.war">
<fileset dir="${web.dir}">
<include name="**/*.*" />
</fileset>
</war>
</target>
<target name="help">
<echo>
folgende Tasks sind vorhanden:
1) clean
2) init
3) compile
4) deploy
</echo>
</target>
</project>
Home
'index.html'
:
<!DOCTYPE html>
<html>
<head>
<title>WCDS - index.html</title>
</head>
<body>
<a href="http://localhost:8080/wcds">WCDS</a>
<hr />
<br /> <a href="first.html"> first.html </a>
<br /> <a href="first.jsp"> first.jsp </a>
<br /> <a href="FirstServlet"> FirstServlet </a>
<br /> <a href="SecondServlet"> SecondServlet </a>
</body>
</html>
Home
13. Deployment Descriptor (DD)
'WEB-INF/web.xml' ersetzen
:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>firstServlet</servlet-name>
<servlet-class>ch.wcds.servlets.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>firstServlet</servlet-name>
<url-pattern>/FirstServlet</url-pattern>
</servlet-mapping>
</web-app>
Home
14. Project Object Model (POM)
'pom.xml' ersetzen
:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ch.jmb</groupId>
<artifactId>wcds</artifactId>
<version>1.0.0</version>
<packaging>war</packaging>
<!-- +===============================================+ -->
<!-- ! ................. PROPERTIES ................ ! -->
<!-- +===============================================+ -->
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jetty9.version>9.3.10.v20160621</jetty9.version>
<jetty9.groupId>org.eclipse.jetty</jetty9.groupId>
</properties>
<!-- +===============================================+ -->
<!-- +===============================================+ -->
<!-- ! ................ DEPENDENCIES ............... ! -->
<!-- +===============================================+ -->
<dependencies>
<!-- +===========================================+ -->
<!-- ! ................. JUNIT ................. ! -->
<!-- +===========================================+ -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- +===========================================+ -->
<!-- +===========================================+ -->
<!-- ! ................ MYTOOLS ................ ! -->
<!-- +===========================================+ -->
<dependency>
<groupId>ch.jmb</groupId>
<artifactId>tools</artifactId>
<version>1.8.0</version>
</dependency>
<!-- +===========================================+ -->
<!-- +===========================================+ -->
<!-- ! .................. PDF .................. ! -->
<!-- +===========================================+ -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.11</version>
</dependency>
<!-- +===========================================+ -->
<!-- +===========================================+ -->
<!-- ! ................. EMAIL ................. ! -->
<!-- +===========================================+ -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
<!-- +===========================================+ -->
<!-- +===========================================+ -->
<!-- ! ........... WCDS EXTERNE TAGS ........... ! -->
<!-- +===========================================+ -->
<dependency>
<groupId>ch.jmb</groupId>
<artifactId>wcdsex</artifactId>
<version>1.0.0</version>
</dependency>
<!-- +===========================================+ -->
<!-- +===========================================+ -->
<!-- ! ............... WEBSOCKET ............... ! -->
<!-- +===========================================+ -->
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.1</version>
<scope>provided</scope>
</dependency>
<!-- +===========================================+ -->
<!-- +===========================================+ -->
<!-- ! ........... SERVLETs and JSPs ........... ! -->
<!-- +===========================================+ -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
<!-- +===========================================+ -->
<!-- +===========================================+ -->
<!-- ! ........ JSP STANDARD TAG LIBRARY ........! -->
<!-- +===========================================+ -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- +===========================================+ -->
<!-- +===========================================+ -->
<!-- ! .............. ECLIPSELINK ..............! -->
<!-- +===========================================+ -->
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>2.6.4</version>
</dependency>
<!-- +===========================================+ -->
<!-- +===========================================+ -->
<!-- ! . DB JARs (H2, MYSQL, POSTGRES, ORACLE) . ! -->
<!-- +===========================================+ -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.196</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4.1208.jre7</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>11.0.0</version>
<type>jar</type>
</dependency>
<!-- +===========================================+ -->
</dependencies>
<!-- +===============================================+ -->
<!-- +===============================================+ -->
<!-- ! ................... BUILD ................... ! -->
<!-- +===============================================+ -->
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<!-- +=================+ -->
<!-- | Webserver JETTY | -->
<!-- +=================+ -->
<plugin>
<groupId>${jetty9.groupId}</groupId>
<version>${jetty9.version}</version>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<webAppConfig>
<contextPath>
/${project.artifactId}
</contextPath>
</webAppConfig>
</configuration>
</plugin>
</plugins>
</build>
<!-- +===============================================+ -->
</project>
Home
15. Copy nach Maven Repository (M2)
Copy
:
ojdbc.jar
cd verzeichnis/in/dem/ojdbc7.jar/steht
mvn install:install-file \
-Dfile=./ojdbc7.jar \
-DgroupId=com.oracle \
-DartifactId=ojdbc7 \
-Dversion=11.0.0 \
-Dpackaging=jar \
-DgeneratePom=true
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>11.0.0</version>
</dependency>
mytools.jar
cd verzeichnis/in/dem/mytools.jar/steht
mvn install:install-file \
-Dfile=./mytools-1.8.0.jar \
-DgroupId=ch.jmb \
-DartifactId=tools \
-Dversion=1.8.0 \
-Dpackaging=jar \
-DgeneratePom=true
<dependency>
<groupId>ch.jmb</groupId>
<artifactId>tools</artifactId>
<version>1.8.0</version>
</dependency>
Home