Jetty配置

来源:互联网 发布:知行论坛西农 编辑:程序博客网 时间:2024/05/20 11:53

前言

现在越来越多的公司用Jetty而不用Tomcat了,原因是

1.Jetty更加轻量级
2.Jetty更加灵活,可扩展性更高
总结:Jetty更满足公有云的分布式环境的需求,而Tomcat更符合企业级环境。

Jetty安装

1.去Jetty官网下载Jetty服务器
略过
2.安装eclipse插件
打开eclipse,依次点击菜单Help->Eclipse Marketplace,在Find后面的框中输入jetty,选择第一项进行install即可。
安装

启动Jetty

Jetty启动有两种方式:一种代码,一种Run As

代码运行

这里写图片描述
(备注jetty_test是工程的根目录,etc、lib、webRoot为其二级目录)
到jetty的官方网站(http://www.eclipse.org/jetty/)下载jetty的开发包;
我下载的jetty-hightide-8.0.0.v20110901.tar.gz;
把里面的lib目录的jar包和lib/jsp目录下面的jar包导入到工程里面
说明白,其实jetty.xml和webdefault.xml其实是在我下载的
jetty-hightide-8.0.0.v20110901.tar.gz里面的etc目录下面的jetty.xml和webdefault.xml

jetty.xml:

<?xml version="1.0"?><!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"><!-- =============================================================== --><!-- Configure the Jetty Server                                      --><!--                                                                 --><!-- Documentation of this file format can be found at:              --><!-- http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax        --><!--                                                                 --><!-- Additional configuration files are available in $JETTY_HOME/etc --><!-- and can be mixed in.  For example:                              --><!--   java -jar start.jar etc/jetty-ssl.xml                         --><!--                                                                 --><!-- See start.ini file for the default configuraton files           --><!-- =============================================================== --><Configure id="Server" class="org.eclipse.jetty.server.Server">    <!-- =========================================================== -->    <!-- Server Thread Pool                                          -->    <!-- =========================================================== -->    <Set name="ThreadPool">      <!-- Default queued blocking threadpool -->      <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">        <Set name="minThreads">10</Set>        <Set name="maxThreads">200</Set>        <Set name="detailedDump">false</Set>      </New>    </Set>    <!-- =========================================================== -->    <!-- Set connectors                                              -->    <!-- =========================================================== -->    <Call name="addConnector">      <Arg>          <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">            <Set name="host"><Property name="jetty.host" /></Set>            <Set name="port"><Property name="jetty.port" default="8080"/></Set>            <Set name="maxIdleTime">300000</Set>            <Set name="Acceptors">2</Set>            <Set name="statsOn">false</Set>            <Set name="confidentialPort">8443</Set>        <Set name="lowResourcesConnections">20000</Set>        <Set name="lowResourcesMaxIdleTime">5000</Set>          </New>      </Arg>    </Call>    <!-- =========================================================== -->    <!-- Set handler Collection Structure                            -->     <!-- =========================================================== -->    <Set name="handler">      <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">        <Set name="handlers">         <Array type="org.eclipse.jetty.server.Handler">           <Item>             <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>           </Item>           <Item>             <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>           </Item>         </Array>        </Set>      </New>    </Set>    <!-- =========================================================== -->    <!-- extra options                                               -->    <!-- =========================================================== -->    <Set name="stopAtShutdown">true</Set>    <Set name="sendServerVersion">true</Set>    <Set name="sendDateHeader">true</Set>    <Set name="gracefulShutdown">1000</Set>    <Set name="dumpAfterStart">false</Set>    <Set name="dumpBeforeStop">false</Set></Configure>

webdefault.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>  <!-- ===================================================================== -->  <!-- This file contains the default descriptor for web applications.       -->  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->  <!-- The intent of this descriptor is to include jetty specific or common  -->  <!-- configuration for all webapps.   If a context has a webdefault.xml    -->  <!-- descriptor, it is applied before the contexts own web.xml file        -->  <!--                                                                       -->  <!-- A context may be assigned a default descriptor by:                    -->  <!--  + Calling WebApplicationContext.setDefaultsDescriptor                -->  <!--  + Passed an arg to addWebApplications                                -->  <!--                                                                       -->  <!-- This file is used both as the resource within the jetty.jar (which is -->  <!-- used as the default if no explicit defaults descriptor is set) and it -->  <!-- is copied to the etc directory of the Jetty distro and explicitly     -->  <!-- by the jetty.xml file.                                                -->  <!--                                                                       -->  <!-- ===================================================================== --><web-app  xmlns="http://java.sun.com/xml/ns/javaee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  metadata-complete="true"  version="2.5">  <description>    Default web.xml file.      This file is applied to a Web application before it's own WEB_INF/web.xml file  </description>  <!-- ==================================================================== -->  <!-- Removes static references to beans from javax.el.BeanELResolver to   -->  <!-- ensure webapp classloader can be released on undeploy                -->  <!-- ==================================================================== -->  <listener>   <listener-class>org.eclipse.jetty.servlet.listener.ELContextCleaner</listener-class>  </listener>  <!-- ==================================================================== -->  <!-- Removes static cache of Methods from java.beans.Introspector to      -->  <!-- ensure webapp classloader can be released on undeploy                -->  <!-- ==================================================================== -->    <listener>   <listener-class>org.eclipse.jetty.servlet.listener.IntrospectorCleaner</listener-class>  </listener>  <!-- ==================================================================== -->  <!-- Context params to control Session Cookies                            -->  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->  <!--    UNCOMMENT TO ACTIVATE <context-param> <param-name>org.eclipse.jetty.servlet.SessionDomain</param-name> <param-value>127.0.0.1</param-value> </context-param> <context-param>    <param-name>org.eclipse.jetty.servlet.SessionPath</param-name> <param-value>/</param-value> </context-param> <context-param> <param-name>org.eclipse.jetty.servlet.MaxAge</param-name>    <param-value>-1</param-value> </context-param>  -->  <!-- ==================================================================== -->  <!-- The default servlet.                                                 -->  <!-- This servlet, normally mapped to /, provides the handling for static -->  <!-- content, OPTIONS and TRACE methods for the context.                  -->  <!-- The following initParameters are supported:                          -->  <!--   *  acceptRanges      If true, range requests and responses are *                    supported * *  dirAllowed        If true, directory listings are returned if no *                    welcome file is found. Else 403 Forbidden. * *  welcomeServlets   If true, attempt to dispatch to welcome files *                    that are servlets, but only after no matching static *                    resources could be found. If false, then a welcome *                    file must exist on disk. If "exact", then exact *                    servlet matches are supported without an existing file. *                    Default is true. * *                    This must be false if you want directory listings, *                    but have index.jsp in your welcome file list. * *  redirectWelcome   If true, welcome files are redirected rather than *                    forwarded to. * *  gzip              If set to true, then static content will be served as *                    gzip content encoded if a matching resource is *                    found ending with ".gz" * *  resourceBase      Set to replace the context resource base * *  resourceCache     If set, this is a context attribute name, which the servlet  *                    will use to look for a shared ResourceCache instance.  *                         *  relativeResourceBase *                    Set with a pathname relative to the base of the *                    servlet context root. Useful for only serving static content out *                    of only specific subdirectories. * *  aliases           If True, aliases of resources are allowed (eg. symbolic *                    links and caps variations). May bypass security constraints. * *  maxCacheSize      The maximum total size of the cache or 0 for no cache. *  maxCachedFileSize The maximum size of a file to cache *  maxCachedFiles    The maximum number of files to cache * *  useFileMappedBuffer *                    If set to true, it will use mapped file buffer to serve static content *                    when using NIO connector. Setting this value to false means that *                    a direct buffer will be used instead of a mapped file buffer. *                    By default, this is set to true. * *  cacheControl      If set, all static content will have this value set as the cache-control *                    header. -->  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->  <servlet>    <servlet-name>default</servlet-name>    <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>    <init-param>      <param-name>aliases</param-name>      <param-value>false</param-value>    </init-param>    <init-param>      <param-name>acceptRanges</param-name>      <param-value>true</param-value>    </init-param>    <init-param>      <param-name>dirAllowed</param-name>      <param-value>true</param-value>    </init-param>    <init-param>      <param-name>welcomeServlets</param-name>      <param-value>false</param-value>    </init-param>    <init-param>      <param-name>redirectWelcome</param-name>      <param-value>false</param-value>    </init-param>    <init-param>      <param-name>maxCacheSize</param-name>      <param-value>256000000</param-value>    </init-param>    <init-param>      <param-name>maxCachedFileSize</param-name>      <param-value>200000000</param-value>    </init-param>    <init-param>      <param-name>maxCachedFiles</param-name>      <param-value>2048</param-value>    </init-param>    <init-param>      <param-name>gzip</param-name>      <param-value>true</param-value>    </init-param>    <init-param>      <param-name>useFileMappedBuffer</param-name>      <param-value>true</param-value>    </init-param>    <init-param>      <param-name>resourceCache</param-name>      <param-value>resourceCache</param-value>    </init-param>    <!--    <init-param>      <param-name>cacheControl</param-name>      <param-value>max-age=3600,public</param-value>    </init-param>    -->    <load-on-startup>0</load-on-startup>  </servlet>  <servlet-mapping>    <servlet-name>default</servlet-name>    <url-pattern>/</url-pattern>  </servlet-mapping>  <!-- ==================================================================== -->  <!-- JSP Servlet                                                          -->  <!-- This is the jasper JSP servlet from the jakarta project              -->  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->  <!-- The JSP page compiler and execution servlet, which is the mechanism  -->  <!-- used by Glassfish to support JSP pages.  Traditionally, this servlet -->  <!-- is mapped to URL patterh "*.jsp".  This servlet supports the         -->  <!-- following initialization parameters (default values are in square    -->  <!-- brackets):                                                           -->  <!--                                                                      -->  <!--   checkInterval       If development is false and reloading is true, -->  <!--                       background compiles are enabled. checkInterval -->  <!--                       is the time in seconds between checks to see   -->  <!--                       if a JSP page needs to be recompiled. [300]    -->  <!--                                                                      -->  <!--   compiler            Which compiler Ant should use to compile JSP   -->  <!--                       pages.  See the Ant documenation for more      -->  <!--                       information. [javac]                           -->  <!--                                                                      -->  <!--   classdebuginfo      Should the class file be compiled with         -->  <!--                       debugging information?  [true]                 -->  <!--                                                                      -->  <!--   classpath           What class path should I use while compiling   -->  <!--                       generated servlets?  [Created dynamically      -->  <!--                       based on the current web application]          -->  <!--                       Set to ? to make the container explicitly set  -->  <!--                       this parameter.                                -->  <!--                                                                      -->  <!--   development         Is Jasper used in development mode (will check -->  <!--                       for JSP modification on every access)?  [true] -->  <!--                                                                      -->  <!--   enablePooling       Determines whether tag handler pooling is      -->  <!--                       enabled  [true]                                -->  <!--                                                                      -->  <!--   fork                Tell Ant to fork compiles of JSP pages so that -->  <!--                       a separate JVM is used for JSP page compiles   -->  <!--                       from the one Tomcat is running in. [true]      -->  <!--                                                                      -->  <!--   ieClassId           The class-id value to be sent to Internet      -->  <!--                       Explorer when using <jsp:plugin> tags.         -->  <!--                       [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93]   -->  <!--                                                                      -->  <!--   javaEncoding        Java file encoding to use for generating java  -->  <!--                       source files. [UTF-8]                          -->  <!--                                                                      -->  <!--   keepgenerated       Should we keep the generated Java source code  -->  <!--                       for each page instead of deleting it? [true]   -->  <!--                                                                      -->  <!--   logVerbosityLevel   The level of detailed messages to be produced  -->  <!--                       by this servlet.  Increasing levels cause the  -->  <!--                       generation of more messages.  Valid values are -->  <!--                       FATAL, ERROR, WARNING, INFORMATION, and DEBUG. -->  <!--                       [WARNING]                                      -->  <!--                                                                      -->  <!--   mappedfile          Should we generate static content with one     -->  <!--                       print statement per input line, to ease        -->  <!--                       debugging?  [false]                            -->  <!--                                                                      -->  <!--                                                                      -->  <!--   reloading           Should Jasper check for modified JSPs?  [true] -->  <!--                                                                      -->  <!--   suppressSmap        Should the generation of SMAP info for JSR45   -->  <!--                       debugging be suppressed?  [false]              -->  <!--                                                                      -->  <!--   dumpSmap            Should the SMAP info for JSR45 debugging be    -->  <!--                       dumped to a file? [false]                      -->  <!--                       False if suppressSmap is true                  -->  <!--                                                                      -->  <!--   scratchdir          What scratch directory should we use when      -->  <!--                       compiling JSP pages?  [default work directory  -->  <!--                       for the current web application]               -->  <!--                                                                      -->  <!--   tagpoolMaxSize      The maximum tag handler pool size  [5]         -->  <!--                                                                      -->  <!--   xpoweredBy          Determines whether X-Powered-By response       -->  <!--                       header is added by generated servlet  [false]  -->  <!--                                                                      -->  <!-- If you wish to use Jikes to compile JSP pages:                       -->  <!--   Set the init parameter "compiler" to "jikes".  Define              -->  <!--   the property "-Dbuild.compiler.emacs=true" when starting Jetty     -->  <!--   to cause Jikes to emit error messages in a format compatible with  -->  <!--   Jasper.                                                            -->  <!--   If you get an error reporting that jikes can't use UTF-8 encoding, -->  <!--   try setting the init parameter "javaEncoding" to "ISO-8859-1".     -->  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->  <servlet    id="jsp"  >    <servlet-name>jsp</servlet-name>    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>    <init-param>      <param-name>logVerbosityLevel</param-name>      <param-value>DEBUG</param-value>    </init-param>    <init-param>      <param-name>fork</param-name>      <param-value>false</param-value>    </init-param>    <init-param>      <param-name>xpoweredBy</param-name>      <param-value>false</param-value>    </init-param>    <!--      <init-param>        <param-name>classpath</param-name>        <param-value>?</param-value>    </init-param>    -->    <load-on-startup>0</load-on-startup>  </servlet>  <servlet-mapping>    <servlet-name>jsp</servlet-name>    <url-pattern>*.jsp</url-pattern>    <url-pattern>*.jspf</url-pattern>    <url-pattern>*.jspx</url-pattern>    <url-pattern>*.xsp</url-pattern>    <url-pattern>*.JSP</url-pattern>    <url-pattern>*.JSPF</url-pattern>    <url-pattern>*.JSPX</url-pattern>    <url-pattern>*.XSP</url-pattern>  </servlet-mapping>  <!-- ==================================================================== -->  <!-- Dynamic Servlet Invoker.                                             -->  <!-- This servlet invokes anonymous servlets that have not been defined   -->  <!-- in the web.xml or by other means. The first element of the pathInfo  -->  <!-- of a request passed to the envoker is treated as a servlet name for  -->  <!-- an existing servlet, or as a class name of a new servlet.            -->  <!-- This servlet is normally mapped to /servlet/*                        -->  <!-- This servlet support the following initParams:                       -->  <!--                                                                      -->  <!--  nonContextServlets       If false, the invoker can only load        -->  <!--                           servlets from the contexts classloader.    -->  <!--                           This is false by default and setting this  -->  <!--                           to true may have security implications.    -->  <!--                                                                      -->  <!--  verbose                  If true, log dynamic loads                 -->  <!--                                                                      -->  <!--  *                        All other parameters are copied to the     -->  <!--                           each dynamic servlet as init parameters    -->  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->  <!--    Uncomment for dynamic invocation <servlet> <servlet-name>invoker</servlet-name> <servlet-class>org.eclipse.jetty.servlet.Invoker</servlet-class> <init-param> <param-name>verbose</param-name>    <param-value>false</param-value> </init-param> <init-param> <param-name>nonContextServlets</param-name> <param-value>false</param-value> </init-param> <init-param>    <param-name>dynamicParam</param-name> <param-value>anyValue</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>invoker</servlet-name>    <url-pattern>/servlet/*</url-pattern> </servlet-mapping>  -->  <!-- ==================================================================== -->  <session-config>    <session-timeout>30</session-timeout>  </session-config>  <!-- ==================================================================== -->  <!-- Default MIME mappings                                                -->  <!-- The default MIME mappings are provided by the mime.properties        -->  <!-- resource in the org.eclipse.jetty.server.jar file.  Additional or modified  -->  <!-- mappings may be specified here                                       -->  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->  <!-- UNCOMMENT TO ACTIVATE  <mime-mapping>    <extension>mysuffix</extension>    <mime-type>mymime/type</mime-type>  </mime-mapping>  -->  <!-- ==================================================================== -->  <welcome-file-list>    <welcome-file>index.html</welcome-file>    <welcome-file>index.htm</welcome-file>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>  <!-- ==================================================================== -->  <locale-encoding-mapping-list>    <locale-encoding-mapping>      <locale>ar</locale>      <encoding>ISO-8859-6</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>be</locale>      <encoding>ISO-8859-5</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>bg</locale>      <encoding>ISO-8859-5</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>ca</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>cs</locale>      <encoding>ISO-8859-2</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>da</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>de</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>el</locale>      <encoding>ISO-8859-7</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>en</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>es</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>et</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>fi</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>fr</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>hr</locale>      <encoding>ISO-8859-2</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>hu</locale>      <encoding>ISO-8859-2</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>is</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>it</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>iw</locale>      <encoding>ISO-8859-8</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>ja</locale>      <encoding>Shift_JIS</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>ko</locale>      <encoding>EUC-KR</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>lt</locale>      <encoding>ISO-8859-2</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>lv</locale>      <encoding>ISO-8859-2</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>mk</locale>      <encoding>ISO-8859-5</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>nl</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>no</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>pl</locale>      <encoding>ISO-8859-2</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>pt</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>ro</locale>      <encoding>ISO-8859-2</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>ru</locale>      <encoding>ISO-8859-5</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>sh</locale>      <encoding>ISO-8859-5</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>sk</locale>      <encoding>ISO-8859-2</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>sl</locale>      <encoding>ISO-8859-2</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>sq</locale>      <encoding>ISO-8859-2</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>sr</locale>      <encoding>ISO-8859-5</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>sv</locale>      <encoding>ISO-8859-1</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>tr</locale>      <encoding>ISO-8859-9</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>uk</locale>      <encoding>ISO-8859-5</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>zh</locale>      <encoding>GB2312</encoding>    </locale-encoding-mapping>    <locale-encoding-mapping>      <locale>zh_TW</locale>      <encoding>Big5</encoding>    </locale-encoding-mapping>  </locale-encoding-mapping-list>  <security-constraint>    <web-resource-collection>      <web-resource-name>Disable TRACE</web-resource-name>      <url-pattern>/</url-pattern>      <http-method>TRACE</http-method>    </web-resource-collection>    <auth-constraint/>  </security-constraint></web-app>

而webdefault.xml基本可以不改,因为它是用来标识文件的语言格式,基本的一些配置;

jetty.xml我们可以做一定的修改;

例如说我们可以改下服务监听的端口号,如图:
这里写图片描述

web.xml:

(备注就是web请求的配置信息,例如说设置servlet的路由)

如下面配置:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">  <display-name></display-name>  <servlet>    <description>This is the description of my J2EE component</description>    <display-name>This is the display name of my J2EE component</display-name>    <servlet-name>HelloWorldServlet</servlet-name>    <servlet-class>org.jetty.demo.HelloWorldServlet</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>HelloWorldServlet</servlet-name>    <url-pattern>/servlet/HelloWorldServlet</url-pattern>  </servlet-mapping>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list></web-app>

好!我们现在就来建设一个如上面web.xml配置的servlet和index.jsp;
这里写图片描述

index.jsp页面

Index.jsp:

<%@ page language="java" contentType="text/html; charset=gb2312"    pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body>hello jetty! 中国!</body></html>

这里写图片描述

JFinal使用Jetty

public class AppRun {    /**     * 建议使用 JFinal 手册推荐的方式启动项目     * 运行此 main 方法可以启动项目,此main方法可以放置在任意的Class类定义中,不一定要放于此     */    public static void main(String[] args) {        JFinal.start("src/main/webapp", 8080, "/", 5);    }}
0 0
原创粉丝点击