maven jetty插件配置啓動restful-web

Pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<groupId>com.example</groupId>
	<artifactId>simple-service-webapp</artifactId>
	<packaging>war</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>simple-service-webapp</name>

	<build>
		<finalName>simple-service-webapp</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.5.1</version>
				<inherited>true</inherited>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>

			<!-- jetty插件 -->
			<plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>maven-jetty-plugin</artifactId>
				<version>6.1.5</version>
				<configuration>
					<!-- 添加這行 -->
					<webDefaultXml>src/main/resources/jetty/webdefault.xml</webDefaultXml>
					<webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>
					<scanIntervalSeconds>3</scanIntervalSeconds>
					<contextPath>/</contextPath>
					<connectors>
						<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
							<port>8088</port>
						</connector>
					</connectors>
				</configuration>
			</plugin>
		</plugins>
	</build>


	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.glassfish.jersey</groupId>
				<artifactId>jersey-bom</artifactId>
				<version>${jersey.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>

		<dependency>
			<groupId>org.glassfish.jersey.containers</groupId>
			<artifactId>jersey-container-servlet-core</artifactId>
			<!-- use the following artifactId if you don't need servlet 2.x compatibility -->
			<!-- artifactId>jersey-container-servlet</artifactId -->
		</dependency>
		<!-- uncomment this to get JSON support <dependency> <groupId>org.glassfish.jersey.media</groupId> 
			<artifactId>jersey-media-moxy</artifactId> </dependency> -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
		</dependency>
	</dependencies>
	<properties>
		<jersey.version>2.9</jersey.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>
</project>

<webDefaultXml>src/main/resources/jetty/webdefault.xml</webDefaultXml>  在maven項目這個路徑下要配有webdefault.xml
<contextPath>/</contextPath> jetty訪問路徑  <span style="font-family: Arial, Helvetica, sans-serif;"><port>8088</port>  </span>http://localhost:8088/


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>  
  
  
  <!-- ==================================================================== -->  
  <!-- Context params to control Session Cookies                            -->  
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->  
  <!-- UNCOMMENT TO ACTIVATE  
  <context-param>  
    <param-name>org.mortbay.jetty.servlet.SessionDomain</param-name>  
    <param-value>127.0.0.1</param-value>  
  </context-param>  
  
  <context-param>  
    <param-name>org.mortbay.jetty.servlet.SessionPath</param-name>  
    <param-value>/</param-value>  
  </context-param>  
  
  <context-param>  
    <param-name>org.mortbay.jetty.servlet.MaxAge</param-name>  
    <param-value>-1</param-value>  
  </context-param>  
  -->  
  
  <context-param>  
    <param-name>org.mortbay.jetty.webapp.NoTLDJarPattern</param-name>  
    <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>  
  </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.        -->  
  <!--                                                                      -->  
  <!--   redirectWelcome  If true, redirect welcome file requests           -->  
  <!--                    else use request dispatcher forwards              -->  
  <!--                                                                      -->  
  <!--   gzip             If set to true, then static content will be served-->   
  <!--                    as gzip content encoded if a matching resource is -->  
  <!--                    found ending with ".gz"                           -->  
  <!--                                                                      -->  
  <!--   resoureBase      Can be set to replace the context resource base   -->  
  <!--                                                                      -->  
  <!--   relativeResourceBase                                               -->  
  <!--                    Set with a pathname relative to the base of the   -->  
  <!--                    servlet context root. Useful for only serving     -->  
  <!--                    static content from only specific subdirectories. -->  
  <!--                                                                      -->  
  <!--   useFileMappedBuffer                                                -->  
  <!--                    If set to true (the default), a  memory mapped    -->  
  <!--                    file buffer will be used to serve static content  -->  
  <!--                    when using an NIO connector. Setting this value   -->  
  <!--                    to false means that a direct buffer will be used  -->  
  <!--                    instead. If you are having trouble with Windows   -->  
  <!--                    file locking, set this to false.                  -->  
  <!--                                                                      -->  
  <!--  cacheControl      If set, all static content will have this value   -->  
  <!--                    set as the cache-control header.                  -->  
  <!--                                                                      -->  
  <!--  maxCacheSize      Maximum size of the static resource cache         -->  
  <!--                                                                      -->  
  <!--  maxCachedFileSize Maximum size of any single file in the cache      -->  
  <!--                                                                      -->  
  <!--  maxCachedFiles    Maximum number of files in the cache              -->  
  <!--                                                                      -->  
  <!--  cacheType         "nio", "bio" or "both" to determine the type(s)   -->  
  <!--                    of resource cache. A bio cached buffer may be used-->  
  <!--                    by nio but is not as efficient as a nio buffer.   -->  
  <!--                    An nio cached buffer may not be used by bio.      -->  
  <!--                                                                      -->  
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->  
  <servlet>  
    <servlet-name>default</servlet-name>  
    <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class>  
    <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>redirectWelcome</param-name>  
      <param-value>false</param-value>  
    </init-param>  
    <init-param>  
      <param-name>maxCacheSize</param-name>  
      <param-value>4000000</param-value>  
    </init-param>  
    <init-param>  
      <param-name>maxCachedFileSize</param-name>  
      <param-value>254000</param-value>  
    </init-param>  
    <init-param>  
      <param-name>maxCachedFiles</param-name>  
      <param-value>1000</param-value>  
    </init-param>  
    <init-param>  
      <param-name>cacheType</param-name>  
      <param-value>both</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>false</param-value>        <!--?true??false??????????????,?????????????????? update by chenmk 2013.6.24-->  
    </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.mortbay.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.mortbay.jetty.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>  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章