KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jcorporate > expresso > core > servlet > Test


1 /* ====================================================================
2  * The Jcorporate Apache Style Software License, Version 1.2 05-07-2002
3  *
4  * Copyright (c) 1995-2002 Jcorporate Ltd. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  *
13  * 2. Redistributions in binary form must reproduce the above copyright
14  * notice, this list of conditions and the following disclaimer in
15  * the documentation and/or other materials provided with the
16  * distribution.
17  *
18  * 3. The end-user documentation included with the redistribution,
19  * if any, must include the following acknowledgment:
20  * "This product includes software developed by Jcorporate Ltd.
21  * (http://www.jcorporate.com/)."
22  * Alternately, this acknowledgment may appear in the software itself,
23  * if and wherever such third-party acknowledgments normally appear.
24  *
25  * 4. "Jcorporate" and product names such as "Expresso" must
26  * not be used to endorse or promote products derived from this
27  * software without prior written permission. For written permission,
28  * please contact info@jcorporate.com.
29  *
30  * 5. Products derived from this software may not be called "Expresso",
31  * or other Jcorporate product names; nor may "Expresso" or other
32  * Jcorporate product names appear in their name, without prior
33  * written permission of Jcorporate Ltd.
34  *
35  * 6. No product derived from this software may compete in the same
36  * market space, i.e. framework, without prior written permission
37  * of Jcorporate Ltd. For written permission, please contact
38  * partners@jcorporate.com.
39  *
40  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
41  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
42  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
43  * DISCLAIMED. IN NO EVENT SHALL JCORPORATE LTD OR ITS CONTRIBUTORS
44  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
45  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
46  * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
47  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
48  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
49  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
50  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51  * SUCH DAMAGE.
52  * ====================================================================
53  *
54  * This software consists of voluntary contributions made by many
55  * individuals on behalf of the Jcorporate Ltd. Contributions back
56  * to the project(s) are encouraged when you make modifications.
57  * Please send them to support@jcorporate.com. For more information
58  * on Jcorporate Ltd. and its products, please see
59  * <http://www.jcorporate.com/>.
60  *
61  * Portions of this software are based upon other open source
62  * products and are subject to their respective licenses.
63  */

64
65 /*
66  * Test.java
67  *
68  * Copyright 1999 Javacorporate Ltd.
69  */

70 package com.jcorporate.expresso.core.servlet;
71
72 import com.jcorporate.expresso.core.controller.ControllerException;
73 import com.jcorporate.expresso.core.misc.StringUtil;
74 import com.jcorporate.expresso.core.misc.upload.DefaultParameterParser;
75 import com.jcorporate.expresso.core.misc.upload.FileItem;
76 import com.jcorporate.expresso.core.misc.upload.Uploader;
77 import com.jcorporate.expresso.services.html.Cell;
78 import com.jcorporate.expresso.services.html.HtmlException;
79 import com.jcorporate.expresso.services.html.Page;
80 import com.jcorporate.expresso.services.html.Paragraph;
81 import com.jcorporate.expresso.services.html.Row;
82 import com.jcorporate.expresso.services.html.Table;
83 import com.jcorporate.expresso.services.html.Text;
84
85 import javax.servlet.ServletException JavaDoc;
86 import javax.servlet.http.HttpServletRequest JavaDoc;
87 import javax.servlet.http.HttpServletResponse JavaDoc;
88 import javax.servlet.http.HttpSession JavaDoc;
89 import java.io.IOException JavaDoc;
90 import java.util.Date JavaDoc;
91 import java.util.Enumeration JavaDoc;
92
93
94 /**
95  * @author Michael Nash
96  */

97 public class Test
98         extends DBServlet {
99
100     /**
101      * @param request
102      * @param response
103      */

104     public void doGet(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
105             throws ServletException JavaDoc, IOException JavaDoc {
106
107         try {
108             super.doGet(request, response);
109
110             HttpSession JavaDoc session = request.getSession(true);
111             Page myPage = new Page();
112
113             /* Extract the arguments from the parameters passed to this servlet */
114             Paragraph p = new Paragraph(new Text("Test v3"));
115             p.setCSSClass("jc-pageheader");
116             myPage.add(p);
117             myPage.add(new Paragraph(new Text("Test Successful")));
118
119             String JavaDoc configDir = StringUtil.notNull(getServletConfig().getServletContext().getInitParameter("configDir"));
120             myPage.add(new Paragraph(new Text("Config Dir:" + configDir)));
121             myPage.display(request, response, getString(request, "charset"));
122         } catch (HtmlException he) {
123             showError(he, request, response);
124
125             return;
126         }
127     } /* doGet(HttpServletRequest, HttpServletResponse) */
128
129
130     public String JavaDoc getTitle() {
131         return ("Test");
132     }
133
134     /**
135      * @param request
136      * @param response
137      */

138     public void doPost(HttpServletRequest JavaDoc request,
139                        HttpServletResponse JavaDoc response)
140             throws ServletException JavaDoc, IOException JavaDoc {
141         System.err.println("DOPOST");
142
143         try {
144             Uploader myUploader = new Uploader();
145             DefaultParameterParser myParser = new DefaultParameterParser();
146             myUploader.parseRequest(request, myParser, "/tmp");
147
148             String JavaDoc oneName = null;
149
150             for (Enumeration JavaDoc e = myParser.keys(); e.hasMoreElements();) {
151                 oneName = (String JavaDoc) e.nextElement();
152                 System.err.println("Param name:" + oneName);
153                 System.err.println("Param value:" +
154                         myParser.getString(oneName));
155
156                 if (myParser.hasFileItem(oneName)) {
157                     System.err.println("Item " + oneName + " has a file!");
158
159                     FileItem myFileItem = myParser.getFileItem(oneName);
160                     System.err.println("File is stored in:" +
161                             myFileItem.getStoreLocation());
162                     System.err.println("Original name was:" +
163                             myFileItem.getFileName());
164                 }
165             }
166         } catch (ControllerException ce) {
167             ce.printStackTrace(System.err);
168         }
169     }
170
171     /**
172      * @param oneSession
173      * @param myPage
174      */

175     private void showSession(HttpSession JavaDoc oneSession, Page myPage)
176             throws HtmlException {
177         myPage.add(new Text("<hr>"));
178         myPage.add(new Paragraph(new Text("Session " + oneSession.getId())));
179         myPage.add(new Paragraph(new Text("New session:" + oneSession.isNew())));
180         myPage.add(new Paragraph(new Text("Created:" + new Date JavaDoc(oneSession.getCreationTime()))));
181         myPage.add(new Paragraph(new Text("Last updated:" + new Date JavaDoc(oneSession.getLastAccessedTime()))));
182
183         // myPage.add(new Paragraph(new Text("Valid:" + new Date(oneSession.getLastAccessedTime()))));
184
Table sessionTable = new Table();
185         sessionTable.setBorder(1);
186
187         Row oneRow = null;
188         int valueCount = 0;
189         Enumeration JavaDoc names = oneSession.getAttributeNames();
190         while (names.hasMoreElements()) {
191             String JavaDoc name = (String JavaDoc) names.nextElement();
192             valueCount++;
193             oneRow = new Row();
194             oneRow.add(new Cell(new Text(name)));
195             oneRow.add(new Cell(new Text((String JavaDoc) oneSession.getAttribute(name))));
196             sessionTable.add(oneRow);
197         }
198
199         if (valueCount != 0) {
200             myPage.add(sessionTable);
201         } else {
202             myPage.add(new Paragraph(new Text("No values in session")));
203         }
204
205         oneSession.invalidate();
206     } /* showSession(HttpSession, Page) */
207
208
209 } /* Test */
210
Popular Tags