当前位置:编程学习 > JAVA >>

通过Jetty搭建一个简单的Servlet运行环境

最近在做一些简单的Servlet开发的时候,感觉每次调试的时候都要发布到tomcat上很麻烦,把程序共享给同事也很麻烦,需要帮他设置本地的tomcat环境. 在网上找了找其他的Servlet运行环境,发现用Jetty可以很方便的实现嵌入式Web container.这里我记录一下通过Jetty搭建简单Servlet运行环境的过程,希望对有同样需要的朋友有所帮助.
 
整个环境的代码可以在https://github.com/mcai4gl2/jettysetup找到. 代码包括了IntelliJ的项目文件,如果需要eclipse项目文件,请在下载代码后运行 mvn eclipse:eclipse 来生成eclipse项目文件. (当然, 请在本地安装Maven).
 
设置Maven Dependency:
[plain]  
<dependencies>  
        <!-- jetty -->  
        <dependency>  
            <groupId>org.eclipse.jetty</groupId>  
            <artifactId>jetty-server</artifactId>  
            <version>${jetty.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.eclipse.jetty</groupId>  
            <artifactId>jetty-servlet</artifactId>  
            <version>${jetty.version}</version>  
        </dependency>  
        <!-- spring -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-webmvc</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
        <!-- log4j -->  
        <dependency>  
            <groupId>log4j</groupId>  
            <artifactId>log4j</artifactId>  
            <version>1.2.17</version>  
        </dependency>  
        <!-- utils -->  
        <dependency>  
            <groupId>org.apache.commons</groupId>  
            <artifactId>commons-io</artifactId>  
            <version>1.3.2</version>  
        </dependency>  
    </dependencies>  
 
设置servlet-context.xml:
[html]  
<?xml version="1.0" encoding="UTF-8"?>  
<beans:beans xmlns="http://www.springframework.org/schema/mvc"  
             xmlns:beans="http://www.springframework.org/schema/beans"  
             xmlns:context="http://www.springframework.org/schema/context"  
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
             xsi:schemaLocation="  
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd  
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">  
  
    <interceptors>  
        <interceptor>  
            <mapping path="/*"/>  
            <beans:bean class="weblog.examples.jettysetup.LoggingInterceptor"/>  
        </interceptor>  
    </interceptors>  
  
    <context:annotation-config/>  
  
    <context:component-scan base-package="weblog.examples.jettysetup.serlvet"/>  
</beans:beans>  
一个简单的Main Class:
[java]  
public static void main(String[] args) throws Exception {  
        try {  
            DOMConfigurator.configure(Thread.currentThread().getContextClassLoader().getResource("log4j.xml"));  
  
            Server server = new Server();  
  
            SelectChannelConnector connector = new SelectChannelConnector();  
            connector.setPort(7411);  
            server.setConnectors(new Connector[] {connector});  
  
            DispatcherServlet servlet = new DispatcherServlet();  
            servlet.setContextConfigLocation("classpath:servlet-context.xml");  
  
            ServletContextHandler context = new ServletContextHandler();  
            context.setContextPath("/");  
            context.addServlet(new ServletHolder("baseServlet", servlet), "/");  
  
            HandlerCollection handlers = new HandlerCollection();  
            handlers.setHandlers(new Handler[] { context, new DefaultHandler()});  
            server.setHandler(handlers);  
  
            XmlWebApplicationContext wctx = new XmlWebApplicationContext();  
            wctx.setConfigLocation("");  
            wctx.setServletContext(servlet.getServletContext());  
            wctx.refresh();  
  
            context.setAttribute(XmlWebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, wctx);  
            server.start();  
  
            log.info("Jetty embedded server started");  
  
            log.info("Press any key to stop");  
            System
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,