<filter-mapping>
<filter-name>logger</filter-name>
- <url-pattern>*.jsp</url-pattern>
+ <url-pattern>/test-servlet</url-pattern>
</filter-mapping>
- <filter-mapping>
- <filter-name>accelerator</filter-name>
- <url-pattern>*.html</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>accelerator</filter-name>
- <url-pattern>*.jsp</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>accelerator</filter-name>
- <url-pattern>*.css</url-pattern>
- </filter-mapping>
<filter-mapping>
<filter-name>accelerator</filter-name>
<url-pattern>/test-servlet</url-pattern>
</filter-mapping>
- <filter-mapping>
- <filter-name>accelerator</filter-name>
- <url-pattern>/spring/*</url-pattern>
- </filter-mapping>
<!-- Servlet-Definitions -->
<servlet-class>de.halbekunst.juplo.test.TestServlet</servlet-class>
</servlet>
- <servlet>
- <servlet-name>dispatcher-servlet</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- </param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
-
<!-- Servlet-Mappings -->
<url-pattern>/test-servlet</url-pattern>
</servlet-mapping>
- <servlet-mapping>
- <servlet-name>dispatcher-servlet</servlet-name>
- <url-pattern>/spring/*</url-pattern>
- </servlet-mapping>
-
</web-app>
--- /dev/null
+#!/bin/bash
+#
+
+# OutOfMemoryException beim "mvn jetty:run" umgehen und
+# Parameter zum nachträglichen anhängen eines Debuggers
+# setzen
+export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m -XX:-UseGCOverheadLimit -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n"
+
+rm -v src/main/webapp/WEB-INF/lib/juplo*
+
+mvn jetty:run
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<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/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>de.halbekunst</groupId>
+ <artifactId>juplo-examples</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>juplo-examples-static</artifactId>
+ <packaging>war</packaging>
+ <name>Juplo - Examples: Static Content</name>
+
+</project>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+
+ <!-- Activates the AspectJ-Weaver -->
+ <context:component-scan base-package="de.halbekunst"/>
+ <context:spring-configured/>
+
+ <bean id="eTag" class="java.lang.String">
+ <constructor-arg value="Hallo Welt!"/>
+ </bean>
+
+ <bean id="weak" class="java.lang.Boolean">
+ <constructor-arg value="true"/>
+ </bean>
+
+ <bean id="lastModified" class="java.lang.Long">
+ <constructor-arg value="1338593731"/>
+ </bean>
+
+ <bean id="cacheSeconds" class="java.lang.Integer">
+ <constructor-arg value="3600"/>
+ </bean>
+
+</beans>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%p - %C{1}.%M(%L) | %m%n"/>
+ </layout>
+ </appender>
+
+ <logger name="de.halbekunst">
+ <level value="trace"/>
+ </logger>
+
+ <root>
+ <level value="info"/>
+ <appender-ref ref="CONSOLE"/>
+ </root>
+
+</log4j:configuration>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+
+ <!-- Context Configuration locations for Spring XML files -->
+
+ <context-param>
+ <param-name>contextConfigLocation</param-name>
+ <param-value>classpath:/config.xml</param-value>
+ </context-param>
+
+
+ <!-- Listener-Definitions -->
+
+ <listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+ </listener>
+
+
+ <!-- Filter-Definitions -->
+
+ <filter>
+ <filter-name>accelerator</filter-name>
+ <filter-class>de.halbekunst.juplo.cachecontrol.AcceleratorFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>logger</filter-name>
+ <filter-class>de.halbekunst.juplo.test.LoggingHttpServletResponseFilter</filter-class>
+ </filter>
+
+
+ <!-- Filter-Mappings -->
+
+ <filter-mapping>
+ <filter-name>logger</filter-name>
+ <url-pattern>/static</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>accelerator</filter-name>
+ <url-pattern>/static</url-pattern>
+ </filter-mapping>
+
+</web-app>
--- /dev/null
+<!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=UTF-8">
+ <title>Examples for Static Content</title>
+ <link rel="stylesheet" type="text/css" media="all" href="/default.css">
+ </head>
+ <body>
+ <h1>Examples for Static Content</h1>
+ <ul>
+ <li><a href="/static/page.html">A plain static HTML-file</a></li>
+ <li><a href="/static/stylesheets.css">A plain static CSS-file</a></li>
+ </ul>
+ </body>
+</html>
--- /dev/null
+<!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=UTF-8">
+ <title>A Static Page</title>
+ <link rel="stylesheet" type="text/css" media="all" href="/static/stylesheets.css">
+ </head>
+ <body>
+ <h1>A Static Page</h1>
+ <p>This page is a static HTML-page</p>
+ </body>
+</html>
--- /dev/null
+body {
+ background-color: #ccc;
+ color: #444;
+}
+h1,h2,h3,h4 {
+ color: #000;
+}
\ No newline at end of file
--- /dev/null
+package de.halbekunst.cachecontrol.examples.jsp;
+
+import de.halbekunst.juplo.test.HttpTestCase;
+import com.meterware.httpunit.WebResponse;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author kai
+ */
+public class StaticTest extends HttpTestCase {
+
+ private static final Logger log = LoggerFactory.getLogger(StaticTest.class);
+
+
+ public StaticTest() {
+ super("src/main/webapp/WEB-INF/web.xml");
+ }
+
+ @Test
+ public void testStaticContent() throws Exception {
+ WebResponse response = executeRequest("http://localhost:8080/default.css");
+ log.info("Title:\t\t{}", response.getTitle());
+ log.debug("Text:\t\t{}", response.getText());
+ }
+}
--- /dev/null
+#!/bin/bash
+#
+
+# OutOfMemoryException beim "mvn jetty:run" umgehen und
+# Parameter zum nachträglichen anhängen eines Debuggers
+# setzen
+export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m -XX:-UseGCOverheadLimit -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n"
+
+rm -v src/main/webapp/WEB-INF/lib/juplo*
+
+mvn tomcat:run-war