初始提交
diff --git a/tomcat-uidm/webapps/examples/jsp/cal/Entries.java.html b/tomcat-uidm/webapps/examples/jsp/cal/Entries.java.html
new file mode 100644
index 0000000..6093d31
--- /dev/null
+++ b/tomcat-uidm/webapps/examples/jsp/cal/Entries.java.html
@@ -0,0 +1,74 @@
+<html><body><pre>

+/*

+* Licensed to the Apache Software Foundation (ASF) under one or more

+* contributor license agreements.  See the NOTICE file distributed with

+* this work for additional information regarding copyright ownership.

+* The ASF licenses this file to You under the Apache License, Version 2.0

+* (the "License"); you may not use this file except in compliance with

+* the License.  You may obtain a copy of the License at

+*

+*     http://www.apache.org/licenses/LICENSE-2.0

+*

+* Unless required by applicable law or agreed to in writing, software

+* distributed under the License is distributed on an "AS IS" BASIS,

+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+* See the License for the specific language governing permissions and

+* limitations under the License.

+*/

+package cal;

+

+import java.util.Hashtable;

+import javax.servlet.http.*;

+

+public class Entries {

+

+  private Hashtable entries;

+  private static final String[] time = {"8am", "9am", "10am", "11am", "12pm", 

+					"1pm", "2pm", "3pm", "4pm", "5pm", "6pm",

+					"7pm", "8pm" };

+  public static final int rows = 12;

+

+  public Entries () {   

+   entries = new Hashtable (rows);

+   for (int i=0; i &lt; rows; i++) {

+     entries.put (time[i], new Entry(time[i]));

+   }

+  }

+

+  public int getRows () {

+    return rows;

+  }

+

+  public Entry getEntry (int index) {

+    return (Entry)this.entries.get(time[index]);

+  }

+

+  public int getIndex (String tm) {

+    for (int i=0; i&lt;rows; i++)

+      if(tm.equals(time[i])) return i;

+    return -1;

+  }

+

+  public void processRequest (HttpServletRequest request, String tm) {

+    int index = getIndex (tm);

+    if (index >= 0) {

+      String descr = request.getParameter ("description");

+      ((Entry)entries.get(time[index])).setDescription (descr);

+    }

+  }

+

+}

+

+

+

+

+

+

+

+

+

+

+

+

+

+</pre></body></html>

diff --git a/tomcat-uidm/webapps/examples/jsp/cal/Entry.java.html b/tomcat-uidm/webapps/examples/jsp/cal/Entry.java.html
new file mode 100644
index 0000000..f982750
--- /dev/null
+++ b/tomcat-uidm/webapps/examples/jsp/cal/Entry.java.html
@@ -0,0 +1,57 @@
+<html><body><pre>

+/*

+* Licensed to the Apache Software Foundation (ASF) under one or more

+* contributor license agreements.  See the NOTICE file distributed with

+* this work for additional information regarding copyright ownership.

+* The ASF licenses this file to You under the Apache License, Version 2.0

+* (the "License"); you may not use this file except in compliance with

+* the License.  You may obtain a copy of the License at

+*

+*     http://www.apache.org/licenses/LICENSE-2.0

+*

+* Unless required by applicable law or agreed to in writing, software

+* distributed under the License is distributed on an "AS IS" BASIS,

+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+* See the License for the specific language governing permissions and

+* limitations under the License.

+*/

+

+package cal;

+

+public class Entry {

+

+  String hour;

+  String description;

+  String color;

+

+  public Entry (String hour) {

+    this.hour = hour;

+    this.description = "";

+

+  }

+

+  public String getHour () {

+    return this.hour;

+  }

+

+  public String getColor () {

+    if (description.equals("")) return "lightblue";

+    else return "red";

+  }

+

+  public String getDescription () {

+    if (description.equals("")) return "None";

+    else return this.description;

+  }

+

+  public void setDescription (String descr) {

+    description = descr;

+  }

+ 

+}

+

+

+

+

+

+</pre></body></html>

diff --git a/tomcat-uidm/webapps/examples/jsp/cal/JspCalendar.java.html b/tomcat-uidm/webapps/examples/jsp/cal/JspCalendar.java.html
new file mode 100644
index 0000000..e1b4b83
--- /dev/null
+++ b/tomcat-uidm/webapps/examples/jsp/cal/JspCalendar.java.html
@@ -0,0 +1,156 @@
+<html><body><pre>

+/*

+* Licensed to the Apache Software Foundation (ASF) under one or more

+* contributor license agreements.  See the NOTICE file distributed with

+* this work for additional information regarding copyright ownership.

+* The ASF licenses this file to You under the Apache License, Version 2.0

+* (the "License"); you may not use this file except in compliance with

+* the License.  You may obtain a copy of the License at

+*

+*     http://www.apache.org/licenses/LICENSE-2.0

+*

+* Unless required by applicable law or agreed to in writing, software

+* distributed under the License is distributed on an "AS IS" BASIS,

+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+* See the License for the specific language governing permissions and

+* limitations under the License.

+*/

+

+package cal;

+

+import java.util.*;

+

+public class JspCalendar {

+    Calendar  calendar = null;

+    Date currentDate;

+

+    public JspCalendar() {

+	calendar = Calendar.getInstance();

+	Date trialTime = new Date();

+	calendar.setTime(trialTime);

+    }

+

+

+    public int getYear() {

+	return calendar.get(Calendar.YEAR);

+    }

+    

+    public String getMonth() {

+	int m = getMonthInt();

+	String[] months = new String [] { "January", "February", "March",

+					"April", "May", "June",

+					"July", "August", "September",

+					"October", "November", "December" };

+	if (m > 12)

+	    return "Unknown to Man";

+	

+	return months[m - 1];

+

+    }

+

+    public String getDay() {

+	int x = getDayOfWeek();

+	String[] days = new String[] {"Sunday", "Monday", "Tuesday", "Wednesday", 

+				      "Thursday", "Friday", "Saturday"};

+

+	if (x > 7)

+	    return "Unknown to Man";

+

+	return days[x - 1];

+

+    }

+    

+    public int getMonthInt() {

+	return 1 + calendar.get(Calendar.MONTH);

+    }

+

+    public String getDate() {

+	return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();	

+    }

+

+    public String getCurrentDate() {

+        Date dt = new Date ();

+	calendar.setTime (dt);

+	return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();

+

+    }

+

+    public String getNextDate() {

+        calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() + 1);

+	return getDate ();

+    }

+

+    public String getPrevDate() {

+        calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() - 1);

+	return getDate ();

+    }

+

+    public String getTime() {

+	return getHour() + ":" + getMinute() + ":" + getSecond();

+    }

+

+    public int getDayOfMonth() {

+	return calendar.get(Calendar.DAY_OF_MONTH);

+    }

+

+    public int getDayOfYear() {

+	return calendar.get(Calendar.DAY_OF_YEAR);

+    }

+

+    public int getWeekOfYear() {

+	return calendar.get(Calendar.WEEK_OF_YEAR);

+    }

+

+    public int getWeekOfMonth() {

+	return calendar.get(Calendar.WEEK_OF_MONTH);

+    }

+

+    public int getDayOfWeek() {

+	return calendar.get(Calendar.DAY_OF_WEEK);

+    }

+     

+    public int getHour() {

+	return calendar.get(Calendar.HOUR_OF_DAY);

+    }

+    

+    public int getMinute() {

+	return calendar.get(Calendar.MINUTE);

+    }

+

+

+    public int getSecond() {

+	return calendar.get(Calendar.SECOND);

+    }

+

+  

+    public int getEra() {

+	return calendar.get(Calendar.ERA);

+    }

+

+    public String getUSTimeZone() {

+	String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific",

+				       "Mountain", "Central", "Eastern"};

+	

+	return zones[10 + getZoneOffset()];

+    }

+

+    public int getZoneOffset() {

+	return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000);

+    }

+

+

+    public int getDSTOffset() {

+	return calendar.get(Calendar.DST_OFFSET)/(60*60*1000);

+    }

+

+    

+    public int getAMPM() {

+	return calendar.get(Calendar.AM_PM);

+    }

+}

+

+

+

+

+

+</pre></body></html>

diff --git a/tomcat-uidm/webapps/examples/jsp/cal/TableBean.java.html b/tomcat-uidm/webapps/examples/jsp/cal/TableBean.java.html
new file mode 100644
index 0000000..a81a66b
--- /dev/null
+++ b/tomcat-uidm/webapps/examples/jsp/cal/TableBean.java.html
@@ -0,0 +1,102 @@
+<html><body><pre>

+/*

+* Licensed to the Apache Software Foundation (ASF) under one or more

+* contributor license agreements.  See the NOTICE file distributed with

+* this work for additional information regarding copyright ownership.

+* The ASF licenses this file to You under the Apache License, Version 2.0

+* (the "License"); you may not use this file except in compliance with

+* the License.  You may obtain a copy of the License at

+*

+*     http://www.apache.org/licenses/LICENSE-2.0

+*

+* Unless required by applicable law or agreed to in writing, software

+* distributed under the License is distributed on an "AS IS" BASIS,

+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+* See the License for the specific language governing permissions and

+* limitations under the License.

+*/

+package cal;

+

+import javax.servlet.http.*;

+import java.util.Hashtable;

+

+public class TableBean {

+

+  Hashtable table;

+  JspCalendar JspCal;

+  Entries entries;

+  String date;

+  String name = null;

+  String email = null;

+  boolean processError = false;

+

+  public TableBean () {

+    this.table = new Hashtable (10);

+    this.JspCal = new JspCalendar ();

+    this.date = JspCal.getCurrentDate ();

+  }

+

+  public void setName (String nm) {

+    this.name = nm;

+  }

+

+  public String getName () {

+    return this.name;

+  }

+  

+  public void setEmail (String mail) {

+    this.email = mail;

+  }

+

+  public String getEmail () {

+    return this.email;

+  }

+

+  public String getDate () {

+    return this.date;

+  }

+

+  public Entries getEntries () {

+    return this.entries;

+  }

+

+  public void processRequest (HttpServletRequest request) {

+

+    // Get the name and e-mail.

+    this.processError = false;

+    if (name == null || name.equals("")) setName(request.getParameter ("name"));  

+    if (email == null || email.equals("")) setEmail(request.getParameter ("email"));

+    if (name == null || email == null ||

+		name.equals("") || email.equals("")) {

+      this.processError = true;

+      return;

+    }

+

+    // Get the date.

+    String dateR = request.getParameter ("date");

+    if (dateR == null) date = JspCal.getCurrentDate ();

+    else if (dateR.equalsIgnoreCase("next")) date = JspCal.getNextDate ();

+    else if (dateR.equalsIgnoreCase("prev")) date = JspCal.getPrevDate ();

+

+    entries = (Entries) table.get (date);

+    if (entries == null) {

+      entries = new Entries ();

+      table.put (date, entries);

+    }

+

+    // If time is provided add the event.

+	String time = request.getParameter("time");

+    if (time != null) entries.processRequest (request, time);

+  }

+

+  public boolean getProcessError () {

+    return this.processError;

+  }

+}

+

+

+

+

+

+

+</pre></body></html>

diff --git a/tomcat-uidm/webapps/examples/jsp/cal/cal1.jsp b/tomcat-uidm/webapps/examples/jsp/cal/cal1.jsp
new file mode 100644
index 0000000..a691df4
--- /dev/null
+++ b/tomcat-uidm/webapps/examples/jsp/cal/cal1.jsp
@@ -0,0 +1,95 @@
+<HTML>

+<!--

+ Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+-->

+<HEAD><TITLE> 

+	Calendar: A JSP APPLICATION

+</TITLE></HEAD>

+

+

+<BODY BGCOLOR="white">

+

+<%@ page language="java" import="cal.*" %>

+<jsp:useBean id="table" scope="session" class="cal.TableBean" />

+

+<%

+	table.processRequest(request);

+	if (table.getProcessError() == false) {

+%>

+

+<!-- html table goes here -->

+<CENTER>

+<TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15>

+<TR>

+<TD ALIGN=CENTER> <A HREF=cal1.jsp?date=prev> prev </A>

+<TD ALIGN=CENTER> Calendar:<%= table.getDate() %></TD>

+<TD ALIGN=CENTER> <A HREF=cal1.jsp?date=next> next </A>

+</TR>

+</TABLE>

+

+<!-- the main table -->

+<TABLE WIDTH=60% BGCOLOR=lightblue BORDER=1 CELLPADDING=10>

+<TR>

+<TH> Time </TH>

+<TH> Appointment </TH>

+</TR>

+<FORM METHOD=POST ACTION=cal1.jsp>

+<%

+	for(int i=0; i<table.getEntries().getRows(); i++) {

+	   cal.Entry entr = table.getEntries().getEntry(i);	

+%>

+	<TR>

+	<TD> 

+	<A HREF=cal2.jsp?time=<%= entr.getHour() %>>

+		<%= entr.getHour() %> </A>

+	</TD>

+	<TD BGCOLOR=<%= entr.getColor() %>>

+	<% out.print(util.HTMLFilter.filter(entr.getDescription())); %>

+	</TD> 

+	</TR>

+<%

+	}

+%>

+</FORM>

+</TABLE>

+<BR>

+

+<!-- footer -->

+<TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15>

+<TR>

+<TD ALIGN=CENTER>  <% out.print(util.HTMLFilter.filter(table.getName())); %> : 

+		     <% out.print(util.HTMLFilter.filter(table.getEmail())); %> </TD>

+</TR>

+</TABLE>

+</CENTER>

+

+<%

+	} else {

+%>

+<font size=5>

+	You must enter your name and email address correctly.

+</font>

+<%

+	}

+%>

+

+

+</BODY>

+</HTML>

+

+

+

+

diff --git a/tomcat-uidm/webapps/examples/jsp/cal/cal1.jsp.html b/tomcat-uidm/webapps/examples/jsp/cal/cal1.jsp.html
new file mode 100644
index 0000000..f9c3689
--- /dev/null
+++ b/tomcat-uidm/webapps/examples/jsp/cal/cal1.jsp.html
@@ -0,0 +1,97 @@
+<html><body><pre>

+&lt;HTML>

+&lt;!--

+ Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+-->

+&lt;HEAD>&lt;TITLE> 

+	Calendar: A JSP APPLICATION

+&lt;/TITLE>&lt;/HEAD>

+

+

+&lt;BODY BGCOLOR="white">

+

+&lt;%@ page language="java" import="cal.*" %>

+&lt;jsp:useBean id="table" scope="session" class="cal.TableBean" />

+

+&lt;%

+	table.processRequest(request);

+	if (table.getProcessError() == false) {

+%>

+

+&lt;!-- html table goes here -->

+&lt;CENTER>

+&lt;TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15>

+&lt;TR>

+&lt;TD ALIGN=CENTER> &lt;A HREF=cal1.jsp?date=prev> prev &lt;/A>

+&lt;TD ALIGN=CENTER> Calendar:&lt;%= table.getDate() %>&lt;/TD>

+&lt;TD ALIGN=CENTER> &lt;A HREF=cal1.jsp?date=next> next &lt;/A>

+&lt;/TR>

+&lt;/TABLE>

+

+&lt;!-- the main table -->

+&lt;TABLE WIDTH=60% BGCOLOR=lightblue BORDER=1 CELLPADDING=10>

+&lt;TR>

+&lt;TH> Time &lt;/TH>

+&lt;TH> Appointment &lt;/TH>

+&lt;/TR>

+&lt;FORM METHOD=POST ACTION=cal1.jsp>

+&lt;%

+	for(int i=0; i&lt;table.getEntries().getRows(); i++) {

+	   cal.Entry entr = table.getEntries().getEntry(i);	

+%>

+	&lt;TR>

+	&lt;TD> 

+	&lt;A HREF=cal2.jsp?time=&lt;%= entr.getHour() %>>

+		&lt;%= entr.getHour() %> &lt;/A>

+	&lt;/TD>

+	&lt;TD BGCOLOR=&lt;%= entr.getColor() %>>

+	&lt;% out.print(util.HTMLFilter.filter(entr.getDescription())); %>

+	&lt;/TD> 

+	&lt;/TR>

+&lt;%

+	}

+%>

+&lt;/FORM>

+&lt;/TABLE>

+&lt;BR>

+

+&lt;!-- footer -->

+&lt;TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15>

+&lt;TR>

+&lt;TD ALIGN=CENTER>  &lt;% out.print(util.HTMLFilter.filter(table.getName())); %> : 

+		     &lt;% out.print(util.HTMLFilter.filter(table.getEmail())); %> &lt;/TD>

+&lt;/TR>

+&lt;/TABLE>

+&lt;/CENTER>

+

+&lt;%

+	} else {

+%>

+&lt;font size=5>

+	You must enter your name and email address correctly.

+&lt;/font>

+&lt;%

+	}

+%>

+

+

+&lt;/BODY>

+&lt;/HTML>

+

+

+

+

+</pre></body></html>

diff --git a/tomcat-uidm/webapps/examples/jsp/cal/cal2.jsp b/tomcat-uidm/webapps/examples/jsp/cal/cal2.jsp
new file mode 100644
index 0000000..b6d435b
--- /dev/null
+++ b/tomcat-uidm/webapps/examples/jsp/cal/cal2.jsp
@@ -0,0 +1,45 @@
+<HTML>

+<!--

+ Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+-->

+

+<HEAD><TITLE> 

+	Calendar: A JSP APPLICATION

+</TITLE></HEAD>

+

+

+<BODY BGCOLOR="white">

+<jsp:useBean id="table" scope="session" class="cal.TableBean" />

+

+<% 

+	String time = request.getParameter ("time");

+%>

+

+<FONT SIZE=5> Please add the following event:

+<BR> <h3> Date <%= table.getDate() %>

+<BR> Time <%= util.HTMLFilter.filter(time) %> </h3>

+</FONT>

+<FORM METHOD=POST ACTION=cal1.jsp>

+<BR> 

+<BR> <INPUT NAME="date" TYPE=HIDDEN VALUE="current">

+<BR> <INPUT NAME="time" TYPE=HIDDEN VALUE="<%= util.HTMLFilter.filter(time) %>">

+<BR> <h2> Description of the event <INPUT NAME="description" TYPE=TEXT SIZE=20> </h2>

+<BR> <INPUT TYPE=SUBMIT VALUE="submit">

+</FORM>

+

+</BODY>

+</HTML>

+

diff --git a/tomcat-uidm/webapps/examples/jsp/cal/cal2.jsp.html b/tomcat-uidm/webapps/examples/jsp/cal/cal2.jsp.html
new file mode 100644
index 0000000..2548ce7
--- /dev/null
+++ b/tomcat-uidm/webapps/examples/jsp/cal/cal2.jsp.html
@@ -0,0 +1,47 @@
+<html><body><pre>

+&lt;HTML>

+&lt;!--

+ Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+-->

+

+&lt;HEAD>&lt;TITLE> 

+	Calendar: A JSP APPLICATION

+&lt;/TITLE>&lt;/HEAD>

+

+

+&lt;BODY BGCOLOR="white">

+&lt;jsp:useBean id="table" scope="session" class="cal.TableBean" />

+

+&lt;% 

+	String time = request.getParameter ("time");

+%>

+

+&lt;FONT SIZE=5> Please add the following event:

+&lt;BR> &lt;h3> Date &lt;%= table.getDate() %>

+&lt;BR> Time &lt;%= util.HTMLFilter.filter(time) %> &lt;/h3>

+&lt;/FONT>

+&lt;FORM METHOD=POST ACTION=cal1.jsp>

+&lt;BR> 

+&lt;BR> &lt;INPUT NAME="date" TYPE=HIDDEN VALUE="current">

+&lt;BR> &lt;INPUT NAME="time" TYPE=HIDDEN VALUE="&lt;%= util.HTMLFilter.filter(time) %>">

+&lt;BR> &lt;h2> Description of the event &lt;INPUT NAME="description" TYPE=TEXT SIZE=20> &lt;/h2>

+&lt;BR> &lt;INPUT TYPE=SUBMIT VALUE="submit">

+&lt;/FORM>

+

+&lt;/BODY>

+&lt;/HTML>

+

+</pre></body></html>

diff --git a/tomcat-uidm/webapps/examples/jsp/cal/calendar.html b/tomcat-uidm/webapps/examples/jsp/cal/calendar.html
new file mode 100644
index 0000000..d77cea5
--- /dev/null
+++ b/tomcat-uidm/webapps/examples/jsp/cal/calendar.html
@@ -0,0 +1,43 @@
+<html>

+<!--

+ Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+-->

+

+<head>

+<title>Untitled Document</title>

+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+</head>

+

+<body bgcolor="#FFFFFF">

+<p><font color="#0000FF"><a href="login.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>

+

+<h2> Source Code for Calendar Example. <br>

+<h3><a href="cal1.jsp.html">cal1.jsp<font color="#0000FF"></a>

+  </font> </h3>

+<h3><a href="cal2.jsp.html">cal2.jsp<font color="#0000FF"></a>

+  </font> </h3>

+

+<br>

+<h2> Beans.

+<h3><a href="TableBean.java.html">TableBean<font color="#0000FF"></a>

+  </font> </h3>

+<h3><a href="Entries.java.html">Entries<font color="#0000FF"></a>

+  </font> </h3>

+<h3><a href="Entry.java.html">Entry<font color="#0000FF"></a>

+  </font> </h3>

+

+</body>

+</html>

diff --git a/tomcat-uidm/webapps/examples/jsp/cal/login.html b/tomcat-uidm/webapps/examples/jsp/cal/login.html
new file mode 100644
index 0000000..398b39b
--- /dev/null
+++ b/tomcat-uidm/webapps/examples/jsp/cal/login.html
@@ -0,0 +1,47 @@
+<html>

+<!--

+ Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+-->

+

+<head>

+	<title> Login page for the calendar. </title>

+</head>

+

+<body bgcolor="white">

+<center>

+

+	<font size=7 color="red"> Please Enter the following information: </font>

+

+<br>

+	<form method=GET action=cal1.jsp>

+

+		<font size=5> Name <input type=text name="name" size=20>

+		</font>

+		<br>

+		<font size=5> Email <input type=text name="email" size=20>

+		</font>

+		<br>

+		<input type=submit name=action value="Submit">

+

+	</form>

+<hr>

+<font size=3 color="red"> Note: This application does not implement the complete 

+functionality of a typical calendar application. It demonstrates a way JSP can be 

+used with html tables and forms.</font>

+

+</center>

+</body>

+</html>