Преглед изворни кода

Split the tracking and booking web interfaces to separate dispatcher servlets, to clarify the fact that the booking web app is external and could be run in a different JVM or be replaced by a thick client.

peter_backlund пре 17 година
родитељ
комит
74371c806b

+ 23
- 0
dddsample/src/main/webapp/WEB-INF/booking-servlet.xml Прегледај датотеку

@@ -0,0 +1,23 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<beans xmlns="http://www.springframework.org/schema/beans"
3
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
5
+
6
+  <bean id="remoteBookingService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
7
+    <property name="serviceUrl" value="rmi://localhost:1099/BookingService"/>
8
+    <property name="serviceInterface" value="se.citerus.dddsample.interfaces.booking.facade.BookingServiceFacade"/>
9
+  </bean>
10
+
11
+  <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
12
+    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
13
+    <property name="prefix" value="/WEB-INF/jsp/admin/"/>
14
+    <property name="suffix" value=".jsp"/>
15
+    <property name="requestContextAttribute" value="rc"/>
16
+    <property name="cache" value="false"/>
17
+  </bean>
18
+
19
+  <bean name="/*" class="se.citerus.dddsample.interfaces.booking.web.CargoAdminController">
20
+    <property name="bookingServiceFacade" ref="remoteBookingService"/>
21
+  </bean>
22
+
23
+</beans>

+ 4
- 4
dddsample/src/main/webapp/WEB-INF/decorators.xml Прегледај датотеку

@@ -1,8 +1,8 @@
1 1
 <decorators defaultdir="/WEB-INF/jsp">
2
-    <decorator name="main" page="decorator.jsp">
3
-          <pattern>/cargo/*.html</pattern>
4
-    </decorator>
5 2
   <decorator name="admin" page="adminDecorator.jsp">
6
-        <pattern>/admin/*.html</pattern>
3
+    <pattern>/admin</pattern>
4
+  </decorator>
5
+  <decorator name="main" page="publicDecorator.jsp">
6
+    <pattern>/public</pattern>
7 7
   </decorator>
8 8
 </decorators>

+ 14
- 0
dddsample/src/main/webapp/WEB-INF/jsp/admin/registrationForm.jsp Прегледај датотеку

@@ -1,6 +1,13 @@
1 1
 <html>
2 2
 <head>
3 3
   <title>Cargo Administration</title>
4
+    <script type="text/javascript" charset="UTF-8" src="<c:url value="/js/calendar.js"/>"></script>
5
+    <script type="text/javascript" charset="UTF-8" src="<c:url value="/js/YAHOO.js"/>"></script>
6
+    <script type="text/javascript" charset="UTF-8" src="<c:url value="/js/event.js"/>"></script>
7
+    <script type="text/javascript" charset="UTF-8" src="<c:url value="/js/dom.js"/>"></script>
8
+    <style type="text/css" title="style" media="screen">
9
+      @import "<c:url value="/calendar.css"/>";
10
+    </style>
4 11
   <style type="text/css">
5 12
     td {
6 13
       align: left;
@@ -33,6 +40,13 @@
33 40
           </select>
34 41
         </td>
35 42
       </tr>
43
+        <tr>
44
+          <td>Arrival deadline:</td>
45
+          <td>
46
+            <input name="spec" type="text" size="10" id="cal1" value="${param.spec}"/>&nbsp;
47
+            <img alt="" src="<c:url value="/images/calendarTrigger.gif"/>" class="calendarTrigger" onclick="calendar.toggle( event, this, 'cal1')"/>
48
+          </td>
49
+        </tr>
36 50
     </tbody>
37 51
     <tfoot>
38 52
       <tr>

+ 0
- 15
dddsample/src/main/webapp/WEB-INF/jsp/error/dataAccessFailure.jsp Прегледај датотеку

@@ -1,15 +0,0 @@
1
-<html>
2
-<head>
3
-  <title>Data Access Failure</title>
4
-</head>
5
-<body>
6
-<div id="container">
7
-  <h1>
8
-    A DataAccessExcepton occured.
9
-  </h1>
10
-
11
-  <h2><span id="error" class="error">${exception.message}</span></h2>
12
-  <a href="<c:url value="/start.html"/>">Start page</a>
13
-</div>
14
-</body>
15
-</html>

dddsample/src/main/webapp/WEB-INF/jsp/cargo/track.jsp → dddsample/src/main/webapp/WEB-INF/jsp/pub/track.jsp Прегледај датотеку


dddsample/src/main/webapp/WEB-INF/jsp/decorator.jsp → dddsample/src/main/webapp/WEB-INF/jsp/publicDecorator.jsp Прегледај датотеку


+ 25
- 0
dddsample/src/main/webapp/WEB-INF/tracking-servlet.xml Прегледај датотеку

@@ -0,0 +1,25 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<beans xmlns="http://www.springframework.org/schema/beans"
3
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
5
+
6
+  <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
7
+    <property name="interceptors">
8
+      <list>
9
+        <ref bean="openSessionInViewInterceptor"/>
10
+      </list>
11
+    </property>
12
+  </bean>
13
+
14
+  <bean name="/track" class="se.citerus.dddsample.interfaces.tracking.CargoTrackingController">
15
+    <property name="sessionForm" value="true"/>
16
+    <property name="commandName" value="trackCommand"/>
17
+    <property name="formView" value="track"/>
18
+    <property name="successView" value="start"/>
19
+    <property name="cargoRepository" ref="cargoRepository"/>
20
+    <property name="validator" ref="trackCommandValidator"/>
21
+  </bean>
22
+
23
+  <bean id="trackCommandValidator" class="se.citerus.dddsample.interfaces.tracking.TrackCommandValidator"/>
24
+
25
+</beans>

+ 33
- 11
dddsample/src/main/webapp/WEB-INF/web.xml Прегледај датотеку

@@ -7,6 +7,10 @@
7 7
   <display-name>DDDSample</display-name>
8 8
 
9 9
   <listener>
10
+    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
11
+  </listener>
12
+
13
+  <listener>
10 14
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
11 15
   </listener>
12 16
 
@@ -17,24 +21,37 @@
17 21
   <context-param>
18 22
     <param-name>contextConfigLocation</param-name>
19 23
     <param-value>
20
-      classpath:context-persistence-hibernate.xml
21
-      classpath:context-messaging-jms.xml
22
-      classpath:context-service.xml
23
-      classpath:context-routingteam.xml
24
-      classpath:context-remote.xml
25
-      classpath:context-web.xml
24
+      classpath:com/partner/pathfinder/internal/applicationContext.xml
25
+
26
+      classpath:context-infrastructure.xml
27
+      classpath:context-application.xml
28
+      classpath:context-domain.xml
29
+      classpath:context-interfaces.xml
26 30
     </param-value>
27 31
   </context-param>
28 32
 
29 33
   <servlet>
30
-    <servlet-name>dispatch</servlet-name>
34
+    <servlet-name>tracking</servlet-name>
31 35
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
32
-    <load-on-startup>1</load-on-startup>
33 36
   </servlet>
34 37
 
35 38
   <servlet-mapping>
36
-    <servlet-name>dispatch</servlet-name>
37
-    <url-pattern>*.html</url-pattern>
39
+    <servlet-name>tracking</servlet-name>
40
+    <url-pattern>/public/*</url-pattern>
41
+  </servlet-mapping>
42
+
43
+  <servlet>
44
+    <servlet-name>booking</servlet-name>
45
+    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
46
+    <init-param>
47
+      <param-name></param-name>
48
+      <param-value></param-value>
49
+    </init-param>
50
+  </servlet>
51
+
52
+  <servlet-mapping>
53
+    <servlet-name>booking</servlet-name>
54
+    <url-pattern>/admin/*</url-pattern>
38 55
   </servlet-mapping>
39 56
 
40 57
   <servlet>
@@ -54,7 +71,12 @@
54 71
 
55 72
   <filter-mapping>
56 73
     <filter-name>sitemesh</filter-name>
57
-    <servlet-name>dispatch</servlet-name>
74
+    <servlet-name>booking</servlet-name>
75
+  </filter-mapping>
76
+
77
+  <filter-mapping>
78
+    <filter-name>sitemesh</filter-name>
79
+    <servlet-name>tracking</servlet-name>
58 80
   </filter-mapping>
59 81
 
60 82
   <jsp-config>

+ 18
- 2
dddsample/src/main/webapp/index.jsp Прегледај датотеку

@@ -1,3 +1,19 @@
1 1
 <%
2
-  response.sendRedirect("cargo/track.html");
3
-%>
2
+    //response.sendRedirect("public/track");
3
+%>
4
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+<head>
8
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
9
+    <title>DDDSample</title>
10
+</head>
11
+<body>
12
+<h1>Welcome to DDDSample</h1>
13
+
14
+<p>Public <a href="public/track">tracking</a> web interface</p>
15
+
16
+<p>Administrative <a href="admin/list">booking and routing</a> web interface</p>
17
+
18
+</body>
19
+</html>