gojee-sunspot-solr 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. data/Gemfile +3 -0
  2. data/README.rdoc +24 -0
  3. data/bin/sunspot-installer +20 -0
  4. data/bin/sunspot-solr +80 -0
  5. data/lib/sunspot/solr/installer.rb +25 -0
  6. data/lib/sunspot/solr/installer/config_installer.rb +46 -0
  7. data/lib/sunspot/solr/installer/task_helper.rb +13 -0
  8. data/lib/sunspot/solr/java.rb +10 -0
  9. data/lib/sunspot/solr/railtie.rb +15 -0
  10. data/lib/sunspot/solr/server.rb +229 -0
  11. data/lib/sunspot/solr/tasks.rb +49 -0
  12. data/lib/sunspot_solr.rb +5 -0
  13. data/solr/README.txt +42 -0
  14. data/solr/etc/jetty.xml +219 -0
  15. data/solr/etc/webdefault.xml +379 -0
  16. data/solr/lib/jetty-6.1.26-patched-JETTY-1340.jar +0 -0
  17. data/solr/lib/jetty-util-6.1.26-patched-JETTY-1340.jar +0 -0
  18. data/solr/lib/jsp-2.1/ant-1.6.5.jar +0 -0
  19. data/solr/lib/jsp-2.1/core-3.1.1.jar +0 -0
  20. data/solr/lib/jsp-2.1/jsp-2.1.jar +0 -0
  21. data/solr/lib/jsp-2.1/jsp-api-2.1.jar +0 -0
  22. data/solr/lib/servlet-api-2.5-20081211.jar +0 -0
  23. data/solr/solr/.gitignore +1 -0
  24. data/solr/solr/README.txt +54 -0
  25. data/solr/solr/conf/admin-extra.html +31 -0
  26. data/solr/solr/conf/elevate.xml +36 -0
  27. data/solr/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  28. data/solr/solr/conf/protwords.txt +21 -0
  29. data/solr/solr/conf/schema.xml +250 -0
  30. data/solr/solr/conf/scripts.conf +24 -0
  31. data/solr/solr/conf/solrconfig.xml +934 -0
  32. data/solr/solr/conf/spellings.txt +2 -0
  33. data/solr/solr/conf/stopwords.txt +58 -0
  34. data/solr/solr/conf/synonyms.txt +31 -0
  35. data/solr/solr/conf/xslt/example.xsl +132 -0
  36. data/solr/solr/conf/xslt/example_atom.xsl +67 -0
  37. data/solr/solr/conf/xslt/example_rss.xsl +66 -0
  38. data/solr/solr/conf/xslt/luke.xsl +337 -0
  39. data/solr/start.jar +0 -0
  40. data/solr/webapps/solr.war +0 -0
  41. data/spec/server_spec.rb +98 -0
  42. data/spec/spec_helper.rb +18 -0
  43. data/sunspot_solr.gemspec +39 -0
  44. metadata +165 -0
@@ -0,0 +1,49 @@
1
+ namespace :sunspot do
2
+ namespace :solr do
3
+ desc 'Start the Solr instance'
4
+ task :start => :environment do
5
+ case RUBY_PLATFORM
6
+ when /w(in)?32$/, /java$/
7
+ abort("This command is not supported on #{RUBY_PLATFORM}. " +
8
+ "Use rake sunspot:solr:run to run Solr in the foreground.")
9
+ end
10
+
11
+ if defined?(Sunspot::Rails::Server)
12
+ Sunspot::Rails::Server.new.start
13
+ else
14
+ Sunspot::Solr::Server.new.start
15
+ end
16
+
17
+ puts "Successfully started Solr ..."
18
+ end
19
+
20
+ desc 'Run the Solr instance in the foreground'
21
+ task :run => :environment do
22
+ if defined?(Sunspot::Rails::Server)
23
+ Sunspot::Rails::Server.new.run
24
+ else
25
+ Sunspot::Solr::Server.new.run
26
+ end
27
+ end
28
+
29
+ desc 'Stop the Solr instance'
30
+ task :stop => :environment do
31
+ case RUBY_PLATFORM
32
+ when /w(in)?32$/, /java$/
33
+ abort("This command is not supported on #{RUBY_PLATFORM}. " +
34
+ "Use rake sunspot:solr:run to run Solr in the foreground.")
35
+ end
36
+
37
+ if defined?(Sunspot::Rails::Server)
38
+ Sunspot::Rails::Server.new.stop
39
+ else
40
+ Sunspot::Solr::Server.new.stop
41
+ end
42
+
43
+ puts "Successfully stopped Solr ..."
44
+ end
45
+
46
+ # for backwards compatibility
47
+ task :reindex => :"sunspot:reindex"
48
+ end
49
+ end
@@ -0,0 +1,5 @@
1
+ require 'sunspot/solr/server'
2
+
3
+ if defined?(Rails) && Rails::VERSION::MAJOR == 3
4
+ require 'sunspot/solr/railtie'
5
+ end
@@ -0,0 +1,42 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one or more
2
+ # contributor license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright ownership.
4
+ # The ASF licenses this file to You under the Apache License, Version 2.0
5
+ # (the "License"); you may not use this file except in compliance with
6
+ # the License. You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ Solr example configuration
17
+ --------------------------
18
+
19
+ To run this example configuration, use
20
+
21
+ java -jar start.jar
22
+
23
+ in this directory, and when Solr is started connect to
24
+
25
+ http://localhost:8983/solr/admin/
26
+
27
+ To add documents to the index, use the post.sh script in the exampledocs
28
+ subdirectory (while Solr is running), for example:
29
+
30
+ cd exampledocs
31
+ ./post.sh *.xml
32
+
33
+ See also README.txt in the solr subdirectory, and check
34
+ http://wiki.apache.org/solr/SolrResources for a list of tutorials and
35
+ introductory articles.
36
+
37
+ NOTE: This Solr example server references SolrCell jars outside of the server
38
+ directory with <lib> statements in the solrconfig.xml. If you make a copy of
39
+ this example server and wish to use the ExtractingRequestHandler (SolrCell),
40
+ you will need to copy the required jars into solr/lib or update the paths to
41
+ the jars in your solrconfig.xml.
42
+
@@ -0,0 +1,219 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
3
+
4
+ <!-- =============================================================== -->
5
+ <!-- Configure the Jetty Server -->
6
+ <!-- -->
7
+ <!-- Documentation of this file format can be found at: -->
8
+ <!-- http://docs.codehaus.org/display/JETTY/jetty.xml -->
9
+ <!-- -->
10
+ <!-- =============================================================== -->
11
+
12
+
13
+ <Configure id="Server" class="org.mortbay.jetty.Server">
14
+
15
+ <!-- Increase the maximum POST size to 1 MB to be able to handle large shard requests -->
16
+ <Call class="java.lang.System" name="setProperty">
17
+ <Arg>org.mortbay.jetty.Request.maxFormContentSize</Arg>
18
+ <Arg>1000000</Arg>
19
+ </Call>
20
+
21
+ <!-- =========================================================== -->
22
+ <!-- Server Thread Pool -->
23
+ <!-- =========================================================== -->
24
+ <Set name="ThreadPool">
25
+ <!-- Default bounded blocking threadpool
26
+ -->
27
+ <New class="org.mortbay.thread.BoundedThreadPool">
28
+ <Set name="minThreads">10</Set>
29
+ <Set name="lowThreads">50</Set>
30
+ <Set name="maxThreads">10000</Set>
31
+ </New>
32
+
33
+ <!-- Optional Java 5 bounded threadpool with job queue
34
+ <New class="org.mortbay.thread.concurrent.ThreadPool">
35
+ <Arg type="int">0</Arg>
36
+ <Set name="corePoolSize">10</Set>
37
+ <Set name="maximumPoolSize">250</Set>
38
+ </New>
39
+ -->
40
+ </Set>
41
+
42
+
43
+
44
+ <!-- =========================================================== -->
45
+ <!-- Set connectors -->
46
+ <!-- =========================================================== -->
47
+ <!-- One of each type! -->
48
+ <!-- =========================================================== -->
49
+
50
+ <!-- Use this connector for many frequently idle connections
51
+ and for threadless continuations.
52
+ <Call name="addConnector">
53
+ <Arg>
54
+ <New class="org.mortbay.jetty.nio.SelectChannelConnector">
55
+ <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set>
56
+ <Set name="maxIdleTime">30000</Set>
57
+ <Set name="Acceptors">2</Set>
58
+ <Set name="confidentialPort">8443</Set>
59
+ </New>
60
+ </Arg>
61
+ </Call>
62
+ -->
63
+
64
+ <!-- Use this connector if NIO is not available. -->
65
+ <!-- This connector is currently being used for Solr because the
66
+ nio.SelectChannelConnector showed poor performance under WindowsXP
67
+ from a single client with non-persistent connections (35s vs ~3min)
68
+ to complete 10,000 requests)
69
+ -->
70
+ <Call name="addConnector">
71
+ <Arg>
72
+ <New class="org.mortbay.jetty.bio.SocketConnector">
73
+ <Set name="host"><SystemProperty name="jetty.host" default="0.0.0.0"/></Set>
74
+ <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set>
75
+ <Set name="maxIdleTime">50000</Set>
76
+ <Set name="lowResourceMaxIdleTime">1500</Set>
77
+ <!-- Increase header buffer size from default of 4KB to 64KB to
78
+ prevent Solr from reaching this limit during large queries
79
+ -->
80
+ <Set name="headerBufferSize">65536</Set>
81
+ </New>
82
+ </Arg>
83
+ </Call>
84
+
85
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
86
+ <!-- To add a HTTPS SSL listener -->
87
+ <!-- see jetty-ssl.xml to add an ssl connector. use -->
88
+ <!-- java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml -->
89
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
90
+
91
+ <!-- =========================================================== -->
92
+ <!-- Set up global session ID manager -->
93
+ <!-- =========================================================== -->
94
+ <!--
95
+ <Set name="sessionIdManager">
96
+ <New class="org.mortbay.jetty.servlet.HashSessionIdManager">
97
+ <Set name="workerName">node1</Set>
98
+ </New>
99
+ </Set>
100
+ -->
101
+
102
+ <!-- =========================================================== -->
103
+ <!-- Set handler Collection Structure -->
104
+ <!-- =========================================================== -->
105
+ <Set name="handler">
106
+ <New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
107
+ <Set name="handlers">
108
+ <Array type="org.mortbay.jetty.Handler">
109
+ <Item>
110
+ <New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection"/>
111
+ </Item>
112
+ <Item>
113
+ <New id="DefaultHandler" class="org.mortbay.jetty.handler.DefaultHandler"/>
114
+ </Item>
115
+ <Item>
116
+ <New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/>
117
+ </Item>
118
+ </Array>
119
+ </Set>
120
+ </New>
121
+ </Set>
122
+
123
+ <!-- =========================================================== -->
124
+ <!-- Configure the context deployer -->
125
+ <!-- A context deployer will deploy contexts described in -->
126
+ <!-- configuration files discovered in a directory. -->
127
+ <!-- The configuration directory can be scanned for hot -->
128
+ <!-- deployments at the configured scanInterval. -->
129
+ <!-- -->
130
+ <!-- This deployer is configured to deploy contexts configured -->
131
+ <!-- in the $JETTY_HOME/contexts directory -->
132
+ <!-- -->
133
+ <!-- =========================================================== -->
134
+ <Call name="addLifeCycle">
135
+ <Arg>
136
+ <New class="org.mortbay.jetty.deployer.ContextDeployer">
137
+ <Set name="contexts"><Ref id="Contexts"/></Set>
138
+ <Set name="configurationDir"><SystemProperty name="jetty.home" default="."/>/contexts</Set>
139
+ <Set name="scanInterval">1</Set>
140
+ </New>
141
+ </Arg>
142
+ </Call>
143
+
144
+ <!-- =========================================================== -->
145
+ <!-- Configure the webapp deployer. -->
146
+ <!-- A webapp deployer will deploy standard webapps discovered -->
147
+ <!-- in a directory at startup, without the need for additional -->
148
+ <!-- configuration files. It does not support hot deploy or -->
149
+ <!-- non standard contexts (see ContextDeployer above). -->
150
+ <!-- -->
151
+ <!-- This deployer is configured to deploy webapps from the -->
152
+ <!-- $JETTY_HOME/webapps directory -->
153
+ <!-- -->
154
+ <!-- Normally only one type of deployer need be used. -->
155
+ <!-- -->
156
+ <!-- =========================================================== -->
157
+ <Call name="addLifeCycle">
158
+ <Arg>
159
+ <New class="org.mortbay.jetty.deployer.WebAppDeployer">
160
+ <Set name="contexts"><Ref id="Contexts"/></Set>
161
+ <Set name="webAppDir"><SystemProperty name="jetty.home" default="."/>/webapps</Set>
162
+ <Set name="parentLoaderPriority">false</Set>
163
+ <Set name="extract">true</Set>
164
+ <Set name="allowDuplicates">false</Set>
165
+ <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>
166
+ </New>
167
+ </Arg>
168
+ </Call>
169
+
170
+ <!-- =========================================================== -->
171
+ <!-- Configure Authentication Realms -->
172
+ <!-- Realms may be configured for the entire server here, or -->
173
+ <!-- they can be configured for a specific web app in a context -->
174
+ <!-- configuration (see $(jetty.home)/contexts/test.xml for an -->
175
+ <!-- example). -->
176
+ <!-- =========================================================== -->
177
+ <Set name="UserRealms">
178
+ <Array type="org.mortbay.jetty.security.UserRealm">
179
+ <!--
180
+ <Item>
181
+ <New class="org.mortbay.jetty.security.HashUserRealm">
182
+ <Set name="name">Test Realm</Set>
183
+ <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
184
+ </New>
185
+ </Item>
186
+ -->
187
+ </Array>
188
+ </Set>
189
+
190
+ <!-- =========================================================== -->
191
+ <!-- Configure Request Log -->
192
+ <!-- Request logs may be configured for the entire server here, -->
193
+ <!-- or they can be configured for a specific web app in a -->
194
+ <!-- contexts configuration (see $(jetty.home)/contexts/test.xml -->
195
+ <!-- for an example). -->
196
+ <!-- =========================================================== -->
197
+ <!--
198
+ <Ref id="RequestLog">
199
+ <Set name="requestLog">
200
+ <New id="RequestLogImpl" class="org.mortbay.jetty.NCSARequestLog">
201
+ <Arg><SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd.request.log</Arg>
202
+ <Set name="retainDays">90</Set>
203
+ <Set name="append">true</Set>
204
+ <Set name="extended">false</Set>
205
+ <Set name="LogTimeZone">GMT</Set>
206
+ </New>
207
+ </Set>
208
+ </Ref>
209
+ -->
210
+
211
+ <!-- =========================================================== -->
212
+ <!-- extra options -->
213
+ <!-- =========================================================== -->
214
+ <Set name="stopAtShutdown">true</Set>
215
+ <!-- ensure/prevent Server: header being sent to browsers -->
216
+ <Set name="sendServerVersion">true</Set>
217
+
218
+ </Configure>
219
+
@@ -0,0 +1,379 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+
3
+ <!-- ===================================================================== -->
4
+ <!-- This file contains the default descriptor for web applications. -->
5
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
6
+ <!-- The intent of this descriptor is to include jetty specific or common -->
7
+ <!-- configuration for all webapps. If a context has a webdefault.xml -->
8
+ <!-- descriptor, it is applied before the contexts own web.xml file -->
9
+ <!-- -->
10
+ <!-- A context may be assigned a default descriptor by: -->
11
+ <!-- + Calling WebApplicationContext.setDefaultsDescriptor -->
12
+ <!-- + Passed an arg to addWebApplications -->
13
+ <!-- -->
14
+ <!-- This file is used both as the resource within the jetty.jar (which is -->
15
+ <!-- used as the default if no explicit defaults descriptor is set) and it -->
16
+ <!-- is copied to the etc directory of the Jetty distro and explicitly -->
17
+ <!-- by the jetty.xml file. -->
18
+ <!-- -->
19
+ <!-- ===================================================================== -->
20
+ <web-app
21
+ xmlns="http://java.sun.com/xml/ns/javaee"
22
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
24
+ metadata-complete="true"
25
+ version="2.5">
26
+
27
+ <description>
28
+ Default web.xml file.
29
+ This file is applied to a Web application before it's own WEB_INF/web.xml file
30
+ </description>
31
+
32
+
33
+ <!-- ==================================================================== -->
34
+ <!-- Context params to control Session Cookies -->
35
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
36
+ <!-- UNCOMMENT TO ACTIVATE
37
+ <context-param>
38
+ <param-name>org.mortbay.jetty.servlet.SessionDomain</param-name>
39
+ <param-value>127.0.0.1</param-value>
40
+ </context-param>
41
+
42
+ <context-param>
43
+ <param-name>org.mortbay.jetty.servlet.SessionPath</param-name>
44
+ <param-value>/</param-value>
45
+ </context-param>
46
+
47
+ <context-param>
48
+ <param-name>org.mortbay.jetty.servlet.MaxAge</param-name>
49
+ <param-value>-1</param-value>
50
+ </context-param>
51
+ -->
52
+
53
+ <context-param>
54
+ <param-name>org.mortbay.jetty.webapp.NoTLDJarPattern</param-name>
55
+ <param-value>start.jar|ant-.*\.jar|dojo-.*\.jar|jetty-.*\.jar|jsp-api-.*\.jar|junit-.*\.jar|servlet-api-.*\.jar|dnsns\.jar|rt\.jar|jsse\.jar|tools\.jar|sunpkcs11\.jar|sunjce_provider\.jar|xerces.*\.jar|</param-value>
56
+ </context-param>
57
+
58
+
59
+
60
+ <!-- ==================================================================== -->
61
+ <!-- The default servlet. -->
62
+ <!-- This servlet, normally mapped to /, provides the handling for static -->
63
+ <!-- content, OPTIONS and TRACE methods for the context. -->
64
+ <!-- The following initParameters are supported: -->
65
+ <!-- -->
66
+ <!-- acceptRanges If true, range requests and responses are -->
67
+ <!-- supported -->
68
+ <!-- -->
69
+ <!-- dirAllowed If true, directory listings are returned if no -->
70
+ <!-- welcome file is found. Else 403 Forbidden. -->
71
+ <!-- -->
72
+ <!-- redirectWelcome If true, redirect welcome file requests -->
73
+ <!-- else use request dispatcher forwards -->
74
+ <!-- -->
75
+ <!-- gzip If set to true, then static content will be served-->
76
+ <!-- as gzip content encoded if a matching resource is -->
77
+ <!-- found ending with ".gz" -->
78
+ <!-- -->
79
+ <!-- resoureBase Can be set to replace the context resource base -->
80
+ <!-- -->
81
+ <!-- relativeResourceBase -->
82
+ <!-- Set with a pathname relative to the base of the -->
83
+ <!-- servlet context root. Useful for only serving -->
84
+ <!-- static content from only specific subdirectories. -->
85
+ <!-- -->
86
+ <!-- useFileMappedBuffer -->
87
+ <!-- If set to true (the default), a memory mapped -->
88
+ <!-- file buffer will be used to serve static content -->
89
+ <!-- when using an NIO connector. Setting this value -->
90
+ <!-- to false means that a direct buffer will be used -->
91
+ <!-- instead. If you are having trouble with Windows -->
92
+ <!-- file locking, set this to false. -->
93
+ <!-- -->
94
+ <!-- cacheControl If set, all static content will have this value -->
95
+ <!-- set as the cache-control header. -->
96
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
97
+ <servlet>
98
+ <servlet-name>default</servlet-name>
99
+ <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class>
100
+ <init-param>
101
+ <param-name>acceptRanges</param-name>
102
+ <param-value>true</param-value>
103
+ </init-param>
104
+ <init-param>
105
+ <param-name>dirAllowed</param-name>
106
+ <param-value>true</param-value>
107
+ </init-param>
108
+ <init-param>
109
+ <param-name>redirectWelcome</param-name>
110
+ <param-value>false</param-value>
111
+ </init-param>
112
+ <init-param>
113
+ <param-name>maxCacheSize</param-name>
114
+ <param-value>2000000</param-value>
115
+ </init-param>
116
+ <init-param>
117
+ <param-name>maxCachedFileSize</param-name>
118
+ <param-value>254000</param-value>
119
+ </init-param>
120
+ <init-param>
121
+ <param-name>maxCachedFiles</param-name>
122
+ <param-value>1000</param-value>
123
+ </init-param>
124
+ <init-param>
125
+ <param-name>gzip</param-name>
126
+ <param-value>false</param-value>
127
+ </init-param>
128
+ <init-param>
129
+ <param-name>useFileMappedBuffer</param-name>
130
+ <param-value>false</param-value>
131
+ </init-param>
132
+ <!--
133
+ <init-param>
134
+ <param-name>cacheControl</param-name>
135
+ <param-value>max-age=3600,public</param-value>
136
+ </init-param>
137
+ -->
138
+ <load-on-startup>0</load-on-startup>
139
+ </servlet>
140
+
141
+ <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
142
+
143
+
144
+ <!-- ==================================================================== -->
145
+ <!-- JSP Servlet -->
146
+ <!-- This is the jasper JSP servlet from the jakarta project -->
147
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
148
+ <!-- The JSP page compiler and execution servlet, which is the mechanism -->
149
+ <!-- used by Glassfish to support JSP pages. Traditionally, this servlet -->
150
+ <!-- is mapped to URL patterh "*.jsp". This servlet supports the -->
151
+ <!-- following initialization parameters (default values are in square -->
152
+ <!-- brackets): -->
153
+ <!-- -->
154
+ <!-- checkInterval If development is false and reloading is true, -->
155
+ <!-- background compiles are enabled. checkInterval -->
156
+ <!-- is the time in seconds between checks to see -->
157
+ <!-- if a JSP page needs to be recompiled. [300] -->
158
+ <!-- -->
159
+ <!-- compiler Which compiler Ant should use to compile JSP -->
160
+ <!-- pages. See the Ant documenation for more -->
161
+ <!-- information. [javac] -->
162
+ <!-- -->
163
+ <!-- classdebuginfo Should the class file be compiled with -->
164
+ <!-- debugging information? [true] -->
165
+ <!-- -->
166
+ <!-- classpath What class path should I use while compiling -->
167
+ <!-- generated servlets? [Created dynamically -->
168
+ <!-- based on the current web application] -->
169
+ <!-- Set to ? to make the container explicitly set -->
170
+ <!-- this parameter. -->
171
+ <!-- -->
172
+ <!-- development Is Jasper used in development mode (will check -->
173
+ <!-- for JSP modification on every access)? [true] -->
174
+ <!-- -->
175
+ <!-- enablePooling Determines whether tag handler pooling is -->
176
+ <!-- enabled [true] -->
177
+ <!-- -->
178
+ <!-- fork Tell Ant to fork compiles of JSP pages so that -->
179
+ <!-- a separate JVM is used for JSP page compiles -->
180
+ <!-- from the one Tomcat is running in. [true] -->
181
+ <!-- -->
182
+ <!-- ieClassId The class-id value to be sent to Internet -->
183
+ <!-- Explorer when using <jsp:plugin> tags. -->
184
+ <!-- [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93] -->
185
+ <!-- -->
186
+ <!-- javaEncoding Java file encoding to use for generating java -->
187
+ <!-- source files. [UTF-8] -->
188
+ <!-- -->
189
+ <!-- keepgenerated Should we keep the generated Java source code -->
190
+ <!-- for each page instead of deleting it? [true] -->
191
+ <!-- -->
192
+ <!-- logVerbosityLevel The level of detailed messages to be produced -->
193
+ <!-- by this servlet. Increasing levels cause the -->
194
+ <!-- generation of more messages. Valid values are -->
195
+ <!-- FATAL, ERROR, WARNING, INFORMATION, and DEBUG. -->
196
+ <!-- [WARNING] -->
197
+ <!-- -->
198
+ <!-- mappedfile Should we generate static content with one -->
199
+ <!-- print statement per input line, to ease -->
200
+ <!-- debugging? [false] -->
201
+ <!-- -->
202
+ <!-- -->
203
+ <!-- reloading Should Jasper check for modified JSPs? [true] -->
204
+ <!-- -->
205
+ <!-- suppressSmap Should the generation of SMAP info for JSR45 -->
206
+ <!-- debugging be suppressed? [false] -->
207
+ <!-- -->
208
+ <!-- dumpSmap Should the SMAP info for JSR45 debugging be -->
209
+ <!-- dumped to a file? [false] -->
210
+ <!-- False if suppressSmap is true -->
211
+ <!-- -->
212
+ <!-- scratchdir What scratch directory should we use when -->
213
+ <!-- compiling JSP pages? [default work directory -->
214
+ <!-- for the current web application] -->
215
+ <!-- -->
216
+ <!-- tagpoolMaxSize The maximum tag handler pool size [5] -->
217
+ <!-- -->
218
+ <!-- xpoweredBy Determines whether X-Powered-By response -->
219
+ <!-- header is added by generated servlet [false] -->
220
+ <!-- -->
221
+ <!-- If you wish to use Jikes to compile JSP pages: -->
222
+ <!-- Set the init parameter "compiler" to "jikes". Define -->
223
+ <!-- the property "-Dbuild.compiler.emacs=true" when starting Jetty -->
224
+ <!-- to cause Jikes to emit error messages in a format compatible with -->
225
+ <!-- Jasper. -->
226
+ <!-- If you get an error reporting that jikes can't use UTF-8 encoding, -->
227
+ <!-- try setting the init parameter "javaEncoding" to "ISO-8859-1". -->
228
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
229
+ <servlet id="jsp">
230
+ <servlet-name>jsp</servlet-name>
231
+ <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
232
+ <init-param>
233
+ <param-name>logVerbosityLevel</param-name>
234
+ <param-value>DEBUG</param-value>
235
+ </init-param>
236
+ <init-param>
237
+ <param-name>fork</param-name>
238
+ <param-value>false</param-value>
239
+ </init-param>
240
+ <init-param>
241
+ <param-name>xpoweredBy</param-name>
242
+ <param-value>false</param-value>
243
+ </init-param>
244
+ <!--
245
+ <init-param>
246
+ <param-name>classpath</param-name>
247
+ <param-value>?</param-value>
248
+ </init-param>
249
+ -->
250
+ <load-on-startup>0</load-on-startup>
251
+ </servlet>
252
+
253
+ <servlet-mapping>
254
+ <servlet-name>jsp</servlet-name>
255
+ <url-pattern>*.jsp</url-pattern>
256
+ <url-pattern>*.jspf</url-pattern>
257
+ <url-pattern>*.jspx</url-pattern>
258
+ <url-pattern>*.xsp</url-pattern>
259
+ <url-pattern>*.JSP</url-pattern>
260
+ <url-pattern>*.JSPF</url-pattern>
261
+ <url-pattern>*.JSPX</url-pattern>
262
+ <url-pattern>*.XSP</url-pattern>
263
+ </servlet-mapping>
264
+
265
+ <!-- ==================================================================== -->
266
+ <!-- Dynamic Servlet Invoker. -->
267
+ <!-- This servlet invokes anonymous servlets that have not been defined -->
268
+ <!-- in the web.xml or by other means. The first element of the pathInfo -->
269
+ <!-- of a request passed to the envoker is treated as a servlet name for -->
270
+ <!-- an existing servlet, or as a class name of a new servlet. -->
271
+ <!-- This servlet is normally mapped to /servlet/* -->
272
+ <!-- This servlet support the following initParams: -->
273
+ <!-- -->
274
+ <!-- nonContextServlets If false, the invoker can only load -->
275
+ <!-- servlets from the contexts classloader. -->
276
+ <!-- This is false by default and setting this -->
277
+ <!-- to true may have security implications. -->
278
+ <!-- -->
279
+ <!-- verbose If true, log dynamic loads -->
280
+ <!-- -->
281
+ <!-- * All other parameters are copied to the -->
282
+ <!-- each dynamic servlet as init parameters -->
283
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
284
+ <!-- Uncomment for dynamic invocation
285
+ <servlet>
286
+ <servlet-name>invoker</servlet-name>
287
+ <servlet-class>org.mortbay.jetty.servlet.Invoker</servlet-class>
288
+ <init-param>
289
+ <param-name>verbose</param-name>
290
+ <param-value>false</param-value>
291
+ </init-param>
292
+ <init-param>
293
+ <param-name>nonContextServlets</param-name>
294
+ <param-value>false</param-value>
295
+ </init-param>
296
+ <init-param>
297
+ <param-name>dynamicParam</param-name>
298
+ <param-value>anyValue</param-value>
299
+ </init-param>
300
+ <load-on-startup>0</load-on-startup>
301
+ </servlet>
302
+
303
+ <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping>
304
+ -->
305
+
306
+
307
+
308
+ <!-- ==================================================================== -->
309
+ <session-config>
310
+ <session-timeout>30</session-timeout>
311
+ </session-config>
312
+
313
+ <!-- ==================================================================== -->
314
+ <!-- Default MIME mappings -->
315
+ <!-- The default MIME mappings are provided by the mime.properties -->
316
+ <!-- resource in the org.mortbay.jetty.jar file. Additional or modified -->
317
+ <!-- mappings may be specified here -->
318
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
319
+ <!-- UNCOMMENT TO ACTIVATE
320
+ <mime-mapping>
321
+ <extension>mysuffix</extension>
322
+ <mime-type>mymime/type</mime-type>
323
+ </mime-mapping>
324
+ -->
325
+
326
+ <!-- ==================================================================== -->
327
+ <welcome-file-list>
328
+ <welcome-file>index.html</welcome-file>
329
+ <welcome-file>index.htm</welcome-file>
330
+ <welcome-file>index.jsp</welcome-file>
331
+ </welcome-file-list>
332
+
333
+ <!-- ==================================================================== -->
334
+ <locale-encoding-mapping-list>
335
+ <locale-encoding-mapping><locale>ar</locale><encoding>ISO-8859-6</encoding></locale-encoding-mapping>
336
+ <locale-encoding-mapping><locale>be</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
337
+ <locale-encoding-mapping><locale>bg</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
338
+ <locale-encoding-mapping><locale>ca</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
339
+ <locale-encoding-mapping><locale>cs</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
340
+ <locale-encoding-mapping><locale>da</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
341
+ <locale-encoding-mapping><locale>de</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
342
+ <locale-encoding-mapping><locale>el</locale><encoding>ISO-8859-7</encoding></locale-encoding-mapping>
343
+ <locale-encoding-mapping><locale>en</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
344
+ <locale-encoding-mapping><locale>es</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
345
+ <locale-encoding-mapping><locale>et</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
346
+ <locale-encoding-mapping><locale>fi</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
347
+ <locale-encoding-mapping><locale>fr</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
348
+ <locale-encoding-mapping><locale>hr</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
349
+ <locale-encoding-mapping><locale>hu</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
350
+ <locale-encoding-mapping><locale>is</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
351
+ <locale-encoding-mapping><locale>it</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
352
+ <locale-encoding-mapping><locale>iw</locale><encoding>ISO-8859-8</encoding></locale-encoding-mapping>
353
+ <locale-encoding-mapping><locale>ja</locale><encoding>Shift_JIS</encoding></locale-encoding-mapping>
354
+ <locale-encoding-mapping><locale>ko</locale><encoding>EUC-KR</encoding></locale-encoding-mapping>
355
+ <locale-encoding-mapping><locale>lt</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
356
+ <locale-encoding-mapping><locale>lv</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
357
+ <locale-encoding-mapping><locale>mk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
358
+ <locale-encoding-mapping><locale>nl</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
359
+ <locale-encoding-mapping><locale>no</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
360
+ <locale-encoding-mapping><locale>pl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
361
+ <locale-encoding-mapping><locale>pt</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
362
+ <locale-encoding-mapping><locale>ro</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
363
+ <locale-encoding-mapping><locale>ru</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
364
+ <locale-encoding-mapping><locale>sh</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
365
+ <locale-encoding-mapping><locale>sk</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
366
+ <locale-encoding-mapping><locale>sl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
367
+ <locale-encoding-mapping><locale>sq</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
368
+ <locale-encoding-mapping><locale>sr</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
369
+ <locale-encoding-mapping><locale>sv</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
370
+ <locale-encoding-mapping><locale>tr</locale><encoding>ISO-8859-9</encoding></locale-encoding-mapping>
371
+ <locale-encoding-mapping><locale>uk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
372
+ <locale-encoding-mapping><locale>zh</locale><encoding>GB2312</encoding></locale-encoding-mapping>
373
+ <locale-encoding-mapping><locale>zh_TW</locale><encoding>Big5</encoding></locale-encoding-mapping>
374
+ </locale-encoding-mapping-list>
375
+
376
+
377
+
378
+ </web-app>
379
+