• R/O
  • SSH
  • HTTPS

sweep: 提交


Commit MetaInfo

修订版55 (tree)
时间2022-09-10 19:08:03
作者iwao

Log Message

wire frameの作製

更改概述

差异

--- branches/webapps/tomcat-users.xml (nonexistent)
+++ branches/webapps/tomcat-users.xml (revision 55)
@@ -0,0 +1,10 @@
1+
2+<tomcat-users>
3+<role rolename="staff"/>
4+<role rolename="customer"/>
5+<role rolename="admin"/>
6+<user username="aaa" password="aaa123!" roles="staff,customer"/>
7+<user username="bbb" password="bbb123!" roles="customer"/>
8+<user username="ccc" password="ccc123!" roles="staff"/>
9+<user username="admin1" password="secret123!" roles="admin,staff,customer"/>
10+</tomcat-users>
--- branches/webapps/wire-frame/src/sweep/web/DemoServlet.java (nonexistent)
+++ branches/webapps/wire-frame/src/sweep/web/DemoServlet.java (revision 55)
@@ -0,0 +1,93 @@
1+package sweep.web;
2+
3+/** 紙芝居用に利用するサーブレット。
4+ * 初期パラメータの forward:xxx に対応して画面を変更することができる。
5+ * <p>リクエストの page で表示に利用するサーブレットを切り替えることができる。
6+ */
7+public class DemoServlet extends javax.servlet.http.HttpServlet {
8+javax.servlet.ServletConfig conf;
9+boolean empty(String tt) { return tt == null || tt.trim().length() == 0; }
10+
11+public void init(javax.servlet.ServletConfig config) throws javax.servlet.ServletException {
12+ conf = config;
13+ super.init(config);
14+ paramsEncoding = getInitParameter(JSPbase.PARAMS_ENCODING_NAME, JSPbase.DEFAULT_ENCODING);
15+ javax.servlet.ServletContext sc = conf.getServletContext();
16+ sc.log(conf.getServletName() + ": #init " + JSPbase.PARAMS_ENCODING_NAME+ ": " + paramsEncoding);
17+}
18+
19+protected void doGet(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
20+ throws javax.servlet.ServletException, java.io.IOException {
21+ String page = "forward:" + getParameter("page", "index", req);
22+ forward(page, req, res);
23+}
24+
25+protected void doPost(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
26+ throws javax.servlet.ServletException, java.io.IOException {
27+ String enc = req.getCharacterEncoding(); if (empty(enc)) req.setCharacterEncoding(paramsEncoding);
28+ String page = "forward:" + getParameter("page", "index", req);
29+ forward(page, req, res);
30+}
31+
32+static String DEFAULT_PARAM_ENCODING = "ISO8859_1";
33+
34+/** 初期パラメータを入手する。
35+ * 見つからなければ コンテキストのパラメータを探す。それでも見つからなければ def を返却する
36+ */
37+String getInitParameter(String name, String def) {
38+ String tt = conf.getInitParameter(name);
39+ if (!empty(tt)) return tt;
40+ tt = conf.getServletContext().getInitParameter(name);
41+ if (!empty(tt)) return tt;
42+ return def;
43+}
44+
45+protected static String [] EMPTY_VALUES = {};
46+protected String paramsEncoding;
47+
48+String str(String tt) throws java.io.IOException {
49+ if (empty(paramsEncoding)) return tt;
50+ return empty(tt) ? "" : new String(tt.getBytes(DEFAULT_PARAM_ENCODING), paramsEncoding);
51+}
52+
53+/** ブラウザから渡ってくるパラメータを入手する。渡ってきていない場合のデフォルト値付き */
54+String getParameter(String name, String def, javax.servlet.ServletRequest req) throws java.io.IOException {
55+ String tt = req.getParameter(name);
56+ return empty(tt) ? def : str(tt);
57+}
58+
59+String [] getParameterValues(String name, javax.servlet.ServletRequest req) throws java.io.IOException {
60+ String [] ta = req.getParameterValues(name);
61+ if (ta == null || ta.length == 0) return EMPTY_VALUES;
62+ for (int i = 0; i < ta.length; i++) ta[i] = str(ta[i]);
63+ return ta;
64+}
65+
66+/** パラメータに値があるか診断する */
67+boolean hasParameter(String name, javax.servlet.http.HttpServletRequest req) {
68+ return !empty(req.getParameter(name));
69+}
70+
71+/** ページ切り替え。
72+ * @param path 切り替え先のURI。forward: で始まっている、
73+ * あるいはコロン(:)を含んでいなければ forward: を付与して初期パラメータから遷移先を入手する。
74+ * 遷移先のURLに // が含まれていれば ブラウザにリダイレクト要求するが、
75+ * そうでない場合は サーバ内で forward する。
76+ */
77+void forward(String path, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
78+ throws javax.servlet.ServletException, java.io.IOException {
79+ String rpath = path != null && path.startsWith("forward:") ? conf.getInitParameter(path) :
80+ path != null && path.indexOf(':') < 0 ? conf.getInitParameter("forward:" + path) : path;
81+ if (!empty(rpath)) {
82+ if (rpath.indexOf("//") > 0) { res.sendRedirect(rpath); return; }
83+ req.setAttribute(JSPbase.CONFIG_ATTR, conf);
84+ // このサーブレットの初期パラメータに定義されているフォワード情報を利用してもらう。
85+ req.getRequestDispatcher(rpath).forward(req, res);
86+ }
87+ else {
88+ res.sendError(res.SC_NOT_FOUND, "path: " + path + " not found in init-param for " +
89+ conf.getServletName() + " of " + req.getServletPath());
90+ javax.servlet.ServletContext sc = conf.getServletContext();
91+ sc.log("WARNING: " + conf.getServletName() + ": paht: " + path + " not found.");
92+ }
93+}}
--- branches/webapps/wire-frame/src/sweep/web/FileInfo.java (nonexistent)
+++ branches/webapps/wire-frame/src/sweep/web/FileInfo.java (revision 55)
@@ -0,0 +1,13 @@
1+package sweep.web;
2+
3+/** ファイルの基本情報のVO */
4+public class FileInfo {
5+public String fileName, fileSize, description, folderName, fns[];
6+public long size, modifiedOn;
7+public void setFileName(String tt) { fileName = tt; }
8+public void setFolderName(String tt) { folderName = tt; }
9+public void setFileSize(String tt) { fileSize = tt; }
10+public void setSize(int tt) { size = tt; }
11+public void setDescription(String tt) { description = tt; }
12+public void setFn(String [] tt) { fns = tt; }
13+}
--- branches/webapps/wire-frame/src/sweep/web/JSPbase.java (nonexistent)
+++ branches/webapps/wire-frame/src/sweep/web/JSPbase.java (revision 55)
@@ -0,0 +1,301 @@
1+package sweep.web;
2+
3+/** このパッケージが提供する一連の機能を利用するJSPの継承元になるクラス。
4+ * このクラスを継承するJSPの共通機能を定義することができる。
5+ */
6+public abstract class JSPbase extends WebShared implements javax.servlet.jsp.HttpJspPage {
7+public static String DEFAULT_ENCODING = "utf-8", PARAMS_ENCODING_NAME = "prams-encoding";
8+public static String CONFIG_ATTR = "waf.config";
9+
10+protected String u(Object ref, javax.servlet.http.HttpServletResponse resp) {
11+ return resp.encodeURL(u(ref));
12+}
13+
14+/** 初期パラメータを入手する。サーブレット・パラメータに定義されていなければ、コンテキスト・パラメータから探す。
15+ * @param defString パラメータが定義されていないときに採用するデフォルト値。
16+ */
17+protected String initParameter(String name, String defString, javax.servlet.ServletConfig config) {
18+ String tt = config.getInitParameter(name);
19+ if (!empty(tt)) tt = config.getServletContext().getInitParameter(name);
20+ return empty(tt) ? defString : tt.trim();
21+}
22+
23+public void jspInit() { }
24+public void jspDestroy() { }
25+public void destroy() { jspDestroy(); }
26+
27+private javax.servlet.ServletConfig config;
28+public javax.servlet.ServletConfig getServletConfig() { return config; }
29+public String getServletInfo() { return getClass().getName(); }
30+
31+protected String paramsEncoding;
32+public void init(javax.servlet.ServletConfig config) throws javax.servlet.ServletException {
33+ this.config = config;
34+ paramsEncoding = initParameter(PARAMS_ENCODING_NAME, DEFAULT_ENCODING, config);
35+ jspInit();
36+}
37+
38+
39+protected static String [] EMPTY_VALUES = {};
40+
41+protected String valueOf(int index, String aa[]) {
42+ return aa == null || index < aa.length ? aa[index] :"";
43+}
44+
45+protected String str(String tt) throws java.io.IOException {
46+ return empty(tt) ? "" : new String(tt.getBytes("ISO8859_1"), paramsEncoding);
47+}
48+
49+protected boolean hasParameter(String name, javax.servlet.ServletRequest req) throws java.io.IOException {
50+ return!empty(req.getParameter(name));
51+}
52+
53+protected String getParameter(String name, javax.servlet.ServletRequest req) throws java.io.IOException {
54+ String tt = req.getParameter(name); return str(tt);
55+}
56+
57+protected String [] getParameterValues(String name, javax.servlet.ServletRequest req) throws java.io.IOException {
58+ String [] ta = req.getParameterValues(name);
59+ if (ta == null || ta.length == 0) return EMPTY_VALUES;
60+ for (int i = 0; i < ta.length; i++) ta[i] = str(ta[i]);
61+ return ta;
62+}
63+
64+/** パラメータに値があるか診断する */
65+protected boolean hasParameter(String name, javax.servlet.http.HttpServletRequest req) {
66+ return !empty(req.getParameter(name));
67+}
68+
69+protected String basename(String url) {
70+ int pos = url.lastIndexOf("/");
71+ return url.substring(pos + 1);
72+}
73+
74+/** ページ切り替え。Pathが forward: で始まっていれば初期パラメータから遷移先を入手する */
75+protected void forward(String path, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
76+ throws javax.servlet.ServletException, java.io.IOException {
77+ javax.servlet.ServletConfig conf = (javax.servlet.ServletConfig)req.getAttribute(CONFIG_ATTR);
78+ if (conf == null) conf = config;
79+ // 制御元の config を入手する。できなければ自分のを利用する。
80+ javax.servlet.ServletContext sc = conf.getServletContext();
81+ String rpath = path != null && path.startsWith("forward:") ? conf.getInitParameter(path) :
82+ path != null && path.indexOf(':') < 0 ? conf.getInitParameter("forward:" + path) : path;
83+ if (!empty(rpath)) {
84+ sc.log("#forward: " + path + " to " + rpath);
85+ if (rpath.indexOf("//") > 0)
86+ res.sendRedirect(rpath);
87+ else
88+ req.getRequestDispatcher(rpath).forward(req, res);
89+ }
90+ else {
91+ res.sendError(res.SC_NOT_FOUND, "path: " + path + " not found in init-param for " +
92+ conf.getServletName() + " of " + req.getServletPath());
93+ sc.log("WARNING: " + conf.getServletName() + ": paht: " + path + " not found.");
94+ }
95+}
96+
97+/* POST時にパラメータのエンコーディングを設定する */
98+public void service(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
99+ javax.servlet.http.HttpServletRequest req = (javax.servlet.http.HttpServletRequest)request;
100+ if ("POST".equalsIgnoreCase(req.getMethod())) {
101+ if (!empty(paramsEncoding) && empty(req.getCharacterEncoding()))
102+ req.setCharacterEncoding(paramsEncoding);
103+ }
104+ _jspService(req, (javax.servlet.http.HttpServletResponse)response);
105+}}
106+
107+
108+/** パッケージの共通機能が定義されています。 */
109+class WebShared {
110+static final boolean empty1(String tt) { return tt == null || tt.trim().length() == 0; }
111+protected boolean empty(String tt) { return tt == null || tt.trim().length() == 0; }
112+protected boolean empty(Object [] aa) { return aa == null || aa.length == 0; }
113+protected boolean empty(java.util.Collection coll) { return coll == null || coll.isEmpty(); }
114+
115+static java.io.File file(String name) { return new java.io.File(name); }
116+static java.io.File file(String name, String dir) { return !empty1(dir) ? new java.io.File(dir,name) : file(name); }
117+
118+static String nvl(Object t,String r) { return t == null ? r : t.toString(); }
119+
120+/** 現在のunix時刻の入手 */
121+long timeMillis() { return System.currentTimeMillis(); }
122+
123+public static java.io.PrintStream syserr = System.err;
124+static final char WIDE_SPACE_CHAR = '\u3000';
125+protected static String [] EMPTY_VALUES = {};
126+
127+/** テキストの前後の空白を除く。いわゆる全角スペースにも対応する。*/
128+protected static String trim(String tt) {
129+ if (tt == null) return "";
130+ int st = 0, len = tt.length();
131+ char cc;
132+ while (st < len && (Character.isWhitespace(cc = tt.charAt(st)) || cc == WIDE_SPACE_CHAR)) st++;
133+ while (st < len && (Character.isWhitespace(cc = tt.charAt(len - 1)) || cc == WIDE_SPACE_CHAR)) len--;
134+ return st > 0 || len < tt.length() ? tt.substring(st,len) : tt;
135+}
136+
137+/** 先頭の空白文字を除去したテキストを返す */
138+static String ltrim(String t) {
139+ if (t == null) return t;
140+ int p = 0, len = t.length();
141+ char cc;
142+ while (p < len && (Character.isWhitespace(cc = t.charAt(p)) || cc == WIDE_SPACE_CHAR)) p++;
143+ return t.substring(p);
144+}
145+
146+/** 末尾の空白文字を除去したテキストを返す */
147+static String rtrim(String t) {
148+ int p = t.length() - 1;
149+ char cc;
150+ while (p > 0 && (Character.isWhitespace(cc = t.charAt(p)) || cc == WIDE_SPACE_CHAR)) p--;
151+ return t.substring(0, p + 1);
152+}
153+
154+/** 真偽値の判定。*/
155+static boolean testFlag(String t, boolean def) {
156+ if (t == null || t.length() < 1) return def;
157+ switch(t.charAt(0)) {
158+ case 't': case 'T': case 'y': case 'Y': case '1': return true;
159+ case 'f': case 'F': case 'n': case 'N': return false;
160+ }
161+ return "on".equalsIgnoreCase(t);
162+}
163+
164+
165+/** HTML特殊文字の置き換え。*/
166+static StringBuilder q(StringBuilder buf, Object a) {
167+ if (buf == null || a == null) return buf;
168+ String s = a.toString(), t;
169+ int len = s.length();
170+ for (int i = 0; i < len; i++) {
171+ char c = s.charAt(i);
172+ switch (c) {
173+ case '<': t = "&lt;"; break;
174+ case '>': t = "&gt;"; break;
175+ case '&': t = "&amp;"; break;
176+ case '"': t = "&quot;"; break;
177+ default: buf.append(c); continue;
178+ }
179+ buf.append(t);
180+ }
181+ return buf;
182+}
183+
184+protected String q(Object a) {
185+ return q(new StringBuilder(80), a).toString();
186+}
187+
188+protected String q(String a) {
189+ return q(new StringBuilder(80), a).toString();
190+}
191+
192+protected String qq(Object a) {
193+ if (a == null) return "&nbsp;";
194+ return q(new StringBuilder(80), a).toString();
195+}
196+
197+static String Hex = "0123456789ABCDEF";
198+
199+/** urlencode変換したテキストを得る。想定するエンコーディングは "utf-8"。
200+ * 別のエンコードを指定する場合は {@link #u(Object, String)} を利用すること。
201+ * @param tt こちらのオブジェクトの #toString を呼び出し、それをurlencode変換する。
202+*/
203+protected String u(Object tt) {
204+ if (tt == null) return "";
205+ try {
206+ return u(tt, "UTF-8");
207+ } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
208+}
209+
210+protected String u(Object t, String encoding) throws java.io.UnsupportedEncodingException {
211+ if (t == null) return "";
212+ byte [] tb = t.toString().getBytes(encoding);
213+
214+ StringBuilder sb = new StringBuilder();
215+ for (int i = 0; i < tb.length; i++) {
216+ char ch = (char)tb[i];
217+ switch(tb[i]) {
218+ case 0x20:
219+ sb.append('+');
220+ continue;
221+ case '.': case '-': case '_':
222+ sb.append(ch);
223+ continue;
224+ default:
225+ if ((ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')) {
226+ sb.append(ch);
227+ continue;
228+ }
229+ sb.append('%').append(Hex.charAt((ch >> 4) & 0xf)).append(Hex.charAt((ch & 0xf)));
230+ }
231+ }
232+ return sb.toString();
233+}
234+
235+static int _copyBufferSize = 1024;
236+
237+/** ストリームの内容をコピーします。
238+ * <p>srcは自動的に閉じられます。
239+ * @param dst 出力先ストリーム
240+ * @param src 入力元ストリーム
241+ */
242+long copyStream(java.io.OutputStream dst, java.io.InputStream src) throws java.io.IOException{
243+ long ct = 0;
244+ if (src == null) return ct;
245+ if (dst == null) { syserr.println("#copyStream: dst is null"); return ct; }
246+
247+ Thread th = Thread.currentThread();
248+
249+ byte buf[] = new byte[_copyBufferSize]; int n;
250+ try {
251+ while ((n = src.read(buf)) > 0) {
252+ if (th.isInterrupted()) throw new java.io.IOException("Thread interrupted");
253+ /*
254+ * スレッドに割り込みがかかっている場合は中断します。
255+ */
256+ ct += n; dst.write(buf, 0, n); }
257+ return ct;
258+ } finally { src.close(); }
259+}}
260+
261+
262+/** このパッケージの実装クラスが投げるIO例外 */
263+class WebIOException extends java.io.IOException {
264+Throwable detail;
265+
266+WebIOException(String msg) { super(msg); }
267+WebIOException(Throwable cause) { this(cause.getMessage(), cause); }
268+WebIOException(String msg, Throwable cause) { super(msg); detail = cause; }
269+
270+public String getMessage() {
271+ if(detail == null) return super.getMessage();
272+ String msg = super.getMessage(), nest = detail.toString();
273+ if (msg.equals(nest)) return msg;
274+ return new StringBuffer(msg.length() + nest.length() + 100).
275+ append(msg).append("; nested exception is: \n\t").append(nest).toString();
276+}
277+
278+public void printStackTrace() { printStackTrace(System.err); }
279+public void printStackTrace(java.io.PrintStream out) {
280+ if(detail == null) {
281+ super.printStackTrace(out);
282+ return;
283+ }
284+ synchronized(out) {
285+ super.printStackTrace(out);
286+ out.println("\tnested exception is: ");
287+ detail.printStackTrace(out);
288+ }
289+}
290+
291+public void printStackTrace(java.io.PrintWriter out) {
292+ if(detail == null) {
293+ super.printStackTrace(out);
294+ return;
295+ }
296+ synchronized(out) {
297+ super.printStackTrace(out);
298+ out.println("\tnested exception is: ");
299+ detail.printStackTrace(out);
300+ }
301+}}
--- branches/webapps/wire-frame/src/sweep/web/ProfileInfo.java (nonexistent)
+++ branches/webapps/wire-frame/src/sweep/web/ProfileInfo.java (revision 55)
@@ -0,0 +1,24 @@
1+package sweep.web;
2+
3+/** ユーザ・プロフィール情報を保持するVO */
4+public class ProfileInfo extends UserBasicInfo {
5+public String yomi, roman, zip, address1, address2, roomNo, phone, fax, gender;
6+public String pcode, gcode, person, subject, reason, description;
7+public long modifiedOn, createdOn;
8+public void setYomi(String tt) { yomi = tt; }
9+public void setRoman(String tt) { roman = tt; }
10+public void setZip(String tt) { zip = tt; }
11+public void setAddress1(String tt) { address1 = tt; }
12+public void setAddress2(String tt) { address2 = tt; }
13+public void setRoomNo(String tt) { roomNo = tt; }
14+public void setPhone(String tt) { phone = tt; }
15+public void setFax(String tt) { fax = tt; }
16+public static String MAILE = "M", FEMAIL = "F", UNKOWN = "U", JURIDICAL_PERSON = "J";
17+public void setGender(String tt) { gender = tt; }
18+public void setPersonCode(String tt) { pcode = tt; }
19+public void setGroupCode(String tt) { gcode = tt; }
20+public void setPerson(String tt) { person = tt; }
21+public void setReason(String tt) { reason = tt; }
22+public void setSubject(String tt) { subject = tt; }
23+public void setDescription(String tt) { description = tt; }
24+}
--- branches/webapps/wire-frame/src/sweep/web/UserBasicInfo.java (nonexistent)
+++ branches/webapps/wire-frame/src/sweep/web/UserBasicInfo.java (revision 55)
@@ -0,0 +1,12 @@
1+package sweep.web;
2+
3+/** サインアップ等で利用するユーザ基本情報を保持するVO */
4+public class UserBasicInfo {
5+public String name, email, passwd, oldPasswd, account, hash;
6+public void setName(String tt) { name = tt; }
7+public void setEmail(String tt) { email = tt; }
8+public void setPassword(String tt) { passwd = tt; }
9+public void setOldPassword(String tt) { oldPasswd = tt; }
10+public void setAccount(String tt) { account = tt; }
11+public void setHash(String tt) { hash = tt; }
12+}
--- branches/webapps/wire-frame/webapp/WEB-INF/web-2.5.xml (nonexistent)
+++ branches/webapps/wire-frame/webapp/WEB-INF/web-2.5.xml (revision 55)
@@ -0,0 +1,46 @@
1+<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
3+
4+<display-name>fire-frame-JavaEE5</display-name>
5+<description>
6+画面遷移を遷移を確認するための紙芝居Webアプリケーション。
7+JavaEE6/Servlet API 2.5向け
8+</description>
9+
10+<context-param>
11+ <param-name>param-encoding</param-name>
12+ <param-value>utf-8</param-value>
13+ <description>エンコーディング指定</description>
14+</context-param>
15+
16+<servlet>
17+ <servlet-name>demo</servlet-name>
18+ <description>ワイヤーフレーム用のJSPに遷移する</description>
19+ <servlet-class>webdemo.DemoServlet</servlet-class>
20+ <init-param>
21+ <description>初期画面</description>
22+ <param-name>forward:index</param-name>
23+ <param-value>/index.html</param-value>
24+ </init-param>
25+ <init-param>
26+ <description>HTML4のテンプレート画面</description>
27+ <param-name>forward:html4</param-name>
28+ <param-value>/demodoc/temp4.jsp</param-value>
29+ </init-param>
30+ <init-param>
31+ <description>HTML5のテンプレート画面</description>
32+ <param-name>forward:html5</param-name>
33+ <param-value>/demodoc/temp5.jsp</param-value>
34+ </init-param>
35+</servlet>
36+
37+<servlet-mapping>
38+ <servlet-name>demo</servlet-name>
39+ <url-pattern>/aa/*</url-pattern>
40+</servlet-mapping>
41+
42+<welcome-file-list>
43+ <welcome-file>index.html</welcome-file>
44+</welcome-file-list>
45+
46+</web-app>
--- branches/webapps/wire-frame/webapp/WEB-INF/web-3.0.xml (nonexistent)
+++ branches/webapps/wire-frame/webapp/WEB-INF/web-3.0.xml (revision 55)
@@ -0,0 +1,242 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
3+xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"
4+xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" >
5+
6+<display-name>fire-frame-JavaEE6</display-name>
7+<description>
8+画面遷移を遷移を確認するための紙芝居Webアプリケーション。
9+JavaEE6/Servlet API 3.0向け
10+</description>
11+
12+<context-param>
13+ <param-name>param-encoding</param-name>
14+ <param-value>utf-8</param-value>
15+ <description>エンコーディング指定</description>
16+</context-param>
17+
18+<servlet>
19+ <servlet-name>demo</servlet-name>
20+ <description>ワイヤーフレーム用のJSPに遷移する</description>
21+ <servlet-class>webdemo.DemoServlet</servlet-class>
22+ <init-param>
23+ <description>初期画面</description>
24+ <param-name>forward:index</param-name>
25+ <param-value>/index.html</param-value>
26+ </init-param>
27+ <init-param>
28+ <description>HTML4のテンプレート画面</description>
29+ <param-name>forward:html4</param-name>
30+ <param-value>/sitedoc/temp4.jsp</param-value>
31+ </init-param>
32+ <init-param>
33+ <description>HTML5のテンプレート画面</description>
34+ <param-name>forward:html5</param-name>
35+ <param-value>/sitedoc/temp5.jsp</param-value>
36+ </init-param>
37+</servlet>
38+
39+<servlet>
40+ <servlet-name>sign-up</servlet-name>
41+ <description>アカウント登録(顧客向け)</description>
42+ <servlet-class>webdemo.DemoServlet</servlet-class>
43+ <init-param>
44+ <description>初期画面</description>
45+ <param-name>forward:index</param-name>
46+ <param-value>/authdoc/sign-up.jsp</param-value>
47+ </init-param>
48+ <init-param>
49+ <description>入力確認画面</description>
50+ <param-name>forward:confirm</param-name>
51+ <param-value>/authdoc/sign-up-confirm.jsp</param-value>
52+ </init-param>
53+ <init-param>
54+ <description>メール送付連絡画面</description>
55+ <param-name>forward:mailsent</param-name>
56+ <param-value>/authdoc/sign-up-mailsent.jsp</param-value>
57+ </init-param>
58+ <init-param>
59+ <description>送付メール文確認画面(テスト用)</description>
60+ <param-name>forward:message</param-name>
61+ <param-value>/authdoc/sign-up-mailtext.jsp</param-value>
62+ </init-param>
63+</servlet>
64+
65+<servlet>
66+ <servlet-name>confirm</servlet-name>
67+ <description>ユーザ登録最終手続き用</description>
68+ <servlet-class>webdemo.DemoServlet</servlet-class>
69+ <init-param>
70+ <description>初期画面</description>
71+ <param-name>forward:index</param-name>
72+ <param-value>/authdoc/confirm-hash.jsp</param-value>
73+ </init-param>
74+ <init-param>
75+ <description>確認完了</description>
76+ <param-name>forward:done</param-name>
77+ <param-value>/authdoc/confirm-done.jsp</param-value>
78+ </init-param>
79+ <init-param>
80+ <description>法人登録画面</description>
81+ <param-name>forward:account</param-name>
82+ <param-value>/authdoc/confirm-account.jsp</param-value>
83+ </init-param>
84+</servlet>
85+
86+<servlet>
87+ <servlet-name>reset-passwd</servlet-name>
88+ <description>パスワードリセット(顧客向け)</description>
89+ <servlet-class>webdemo.DemoServlet</servlet-class>
90+ <init-param>
91+ <description>初期画面</description>
92+ <param-name>forward:index</param-name>
93+ <param-value>/authdoc/reset-passwd.jsp</param-value>
94+ </init-param>
95+ <init-param>
96+ <description>確認画面</description>
97+ <param-name>forward:confirm</param-name>
98+ <param-value>/authdoc/reset-confirm.jsp</param-value>
99+ </init-param>
100+</servlet>
101+
102+<servlet>
103+ <servlet-name>change-passwd</servlet-name>
104+ <description>パスワード変更(顧客向け)</description>
105+ <servlet-class>webdemo.DemoServlet</servlet-class>
106+ <init-param>
107+ <description>初期画面</description>
108+ <param-name>forward:index</param-name>
109+ <param-value>/authdoc/passwd-change.jsp</param-value>
110+ </init-param>
111+ <init-param>
112+ <description>パスワード変更の確認画面</description>
113+ <param-name>forward:confirm</param-name>
114+ <param-value>/authdoc/passwd-confirm.jsp</param-value>
115+ </init-param>
116+</servlet>
117+
118+<servlet>
119+ <servlet-name>files</servlet-name>
120+ <description>パスワード変更(顧客向け)</description>
121+ <servlet-class>webdemo.DemoServlet</servlet-class>
122+ <init-param>
123+ <description>初期画面</description>
124+ <param-name>forward:index</param-name>
125+ <param-value>/testdoc/files.jsp</param-value>
126+ </init-param>
127+</servlet>
128+
129+<servlet-mapping>
130+ <servlet-name>files</servlet-name>
131+ <url-pattern>/bb/*</url-pattern>
132+</servlet-mapping>
133+
134+<servlet-mapping>
135+ <servlet-name>demo</servlet-name>
136+ <url-pattern>/aa/*</url-pattern>
137+ <url-pattern>/home/*</url-pattern>
138+ <url-pattern>/staff/*</url-pattern>
139+</servlet-mapping>
140+
141+<servlet-mapping>
142+ <servlet-name>sign-up</servlet-name>
143+ <url-pattern>/signup/*</url-pattern>
144+</servlet-mapping>
145+
146+<servlet-mapping>
147+ <servlet-name>confirm</servlet-name>
148+ <url-pattern>/confirm/*</url-pattern>
149+</servlet-mapping>
150+
151+<servlet-mapping>
152+ <servlet-name>reset-passwd</servlet-name>
153+ <url-pattern>/reset/*</url-pattern>
154+</servlet-mapping>
155+
156+<servlet-mapping>
157+ <servlet-name>change-passwd</servlet-name>
158+ <url-pattern>/chpass/*</url-pattern>
159+</servlet-mapping>
160+
161+<security-constraint>
162+ <web-resource-collection>
163+ <web-resource-name>管理者向け画面</web-resource-name>
164+ <url-pattern>/admin/*</url-pattern>
165+ <http-method>HEAD</http-method>
166+ <http-method>GET</http-method>
167+ <http-method>POST</http-method>
168+ </web-resource-collection>
169+ <auth-constraint>
170+ <role-name>admin</role-name>
171+ </auth-constraint>
172+</security-constraint>
173+
174+<security-constraint>
175+ <web-resource-collection>
176+ <web-resource-name>一般社員画面</web-resource-name>
177+ <url-pattern>/staff/*</url-pattern>
178+ <http-method>HEAD</http-method>
179+ <http-method>GET</http-method>
180+ <http-method>POST</http-method>
181+ </web-resource-collection>
182+ <auth-constraint>
183+ <role-name>admin</role-name>
184+ <role-name>staff</role-name>
185+ </auth-constraint>
186+</security-constraint>
187+
188+<security-constraint>
189+ <web-resource-collection>
190+ <web-resource-name>一般ユーザ画面</web-resource-name>
191+ <url-pattern>/home/*</url-pattern>
192+ <http-method>HEAD</http-method>
193+ <http-method>GET</http-method>
194+ <http-method>POST</http-method>
195+ </web-resource-collection>
196+ <auth-constraint>
197+ <role-name>staff</role-name>
198+ </auth-constraint>
199+</security-constraint>
200+
201+<!-- Basic認証を利用する場合
202+開発時はこちらが便利
203+-->
204+<login-config>
205+ <auth-method>BASIC</auth-method>
206+ <realm-name>demo realm</realm-name>
207+</login-config>
208+
209+<!-- Form認証を利用する場合
210+サインアウトの機能を実装する場合はこちら
211+
212+<login-config>
213+ <auth-method>FORM</auth-method>
214+ <realm-name>demodoc-form-realm</realm-name>
215+ <form-login-config>
216+ <form-login-page>/demodoc/signin.html</form-login-page>
217+ <form-error-page>/demodoc/signin-error.html</form-error-page>
218+ </form-login-config>
219+</login-config>
220+-->
221+
222+<security-role>
223+ <description>サイト職員向けのロール</description>
224+ <role-name>staff</role-name>
225+</security-role>
226+
227+<security-role>
228+ <description>サイト一般利用者向けのロール</description>
229+ <role-name>customer</role-name>
230+</security-role>
231+
232+<security-role>
233+ <description>職員管理者向けのロール</description>
234+ <role-name>admin</role-name>
235+</security-role>
236+
237+<welcome-file-list>
238+ <welcome-file>index.html</welcome-file>
239+ <welcome-file>index.htm</welcome-file>
240+</welcome-file-list>
241+
242+</web-app>
--- branches/webapps/wire-frame/webapp/WEB-INF/web.xml (nonexistent)
+++ branches/webapps/wire-frame/webapp/WEB-INF/web.xml (revision 55)
@@ -0,0 +1,47 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
4+ version="2.4">
5+<display-name>fire-frame-J2EE1.4</display-name>
6+<description>
7+画面遷移を遷移を確認するための紙芝居Webアプリケーション。
8+J2EE1.4/Servlet API 2.4向け
9+</description>
10+
11+<context-param>
12+ <param-name>param-encoding</param-name>
13+ <param-value>utf-8</param-value>
14+ <description>エンコーディング指定</description>
15+</context-param>
16+
17+<servlet>
18+ <servlet-name>demo</servlet-name>
19+ <description>ワイヤーフレーム用のJSPに遷移する</description>
20+ <servlet-class>sweep.web.DemoServlet</servlet-class>
21+ <init-param>
22+ <description>初期画面</description>
23+ <param-name>forward:index</param-name>
24+ <param-value>/index.html</param-value>
25+ </init-param>
26+ <init-param>
27+ <description>HTML4のテンプレート画面</description>
28+ <param-name>forward:html4</param-name>
29+ <param-value>/sitedoc/temp4.jsp</param-value>
30+ </init-param>
31+ <init-param>
32+ <description>HTML5のテンプレート画面</description>
33+ <param-name>forward:html5</param-name>
34+ <param-value>/sitedoc/temp5.jsp</param-value>
35+ </init-param>
36+</servlet>
37+
38+<servlet-mapping>
39+ <servlet-name>demo</servlet-name>
40+ <url-pattern>/aa/*</url-pattern>
41+</servlet-mapping>
42+
43+<welcome-file-list>
44+ <welcome-file>index.html</welcome-file>
45+</welcome-file-list>
46+
47+</web-app>
--- branches/webapps/wire-frame/webapp/index.html (nonexistent)
+++ branches/webapps/wire-frame/webapp/index.html (revision 55)
@@ -0,0 +1,21 @@
1+<!DOCTYPE html>
2+<html>
3+<head><title>sample web app</title>
4+<meta http-equiv="content-type" charset="UTF-8">
5+</head>
6+<body>
7+<h2>wire frame</h2>
8+<p>アプリの画面遷移を確認するための紙芝居Webアプリケーション</p>
9+
10+<h3>テンプレートの確認</h3>
11+<ul>
12+<li><a href='sitedoc/temp4.jsp'>HTML4 テンプレート (JSP直接参照)</a></li>
13+<li><a href='sitedoc/temp5.jsp'>HTML5 テンプレート(JSP直接参照)</a></li>
14+
15+<li><a href='aa?page=html4'>HTML4 テンプレート</a></li>
16+<li><a href='aa?page=html5'>HTML5 テンプレート</a></li>
17+
18+</ul>
19+
20+
21+</body></html>
\ No newline at end of file
--- branches/webapps/wire-frame/webapp/sitedoc/README.md (nonexistent)
+++ branches/webapps/wire-frame/webapp/sitedoc/README.md (revision 55)
@@ -0,0 +1,13 @@
1+## sitedoc
2+
3+このフォルダにはサイトの共通画面で利用されるJSPと関連ファイルが含まれています。
4+
5+
6+| JSPファイル | 説明 |
7+| --- | --- |
8+| body-footer.inc.jsp | ページ下部に出力するHTMLを生成する |
9+| body-header.inc.jsp | ページ上部に出力するHTMLを生成する |
10+| error-check.jsp | エラー画面の検査用HTML |
11+| header.inc.jsp | HTMLのヘッダー部に出力するHTMLを生成する |
12+| temp4.jsp | HTML4ドキュメントの雛型 |
13+| temp5.jsp | HTML5ドキュメントの雛型 |
\ No newline at end of file
Show on old repository browser