jetty是一个轻量级的web容器,速度比tomcat快,配置简单,快速启动。可以方便对web程序进行运行调试。一个例子胜过许多描述。下面举几个简单使用例子。
另注:jetty6.x版本和以前的一些版本写法有些不同,这里的例子都是真的6.1.3这个版本的
要想使用jetty,当然首先要现在相关的jar包。最好到其官方(http://www.mortbay.org/jetty-6/)进行下载,我下载时,已经推出7.0的beta版本。
工程结构
(注:灰色部分为依赖的jar包)
1 启动jetty服务
package com.css;
import org.mortbay.jetty.Handler;
import org.mortbay.jetty.Request;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.handler.AbstractHandler;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class SerJetty {
public static void main(String[] args) throws Exception {
System.out.println(" start server ... ... ");
Server server = new Server(80); //创建服务,80 为服务端口
Handler handler = new AbstractHandler() { //创建一个句柄
public void handle(String target, HttpServletRequest request, HttpServletResponse response, int dispatch) throws IOException {
response.setContentType("text/html");
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println("<h1>Hello world</h1>");
((Request) request).setHandled(true);
}
};
server.setHandler(handler);
server.start(); //启动服务
}
}
执行main函数后,打开浏览器,在地址栏中输入:http://localhost/ 就会看到如下页面展示:
2 触发servlet服务
SerJetty.java
package com.css;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.ServletHandler;
public class SerJetty {
public static void main(String[] args) throws Exception {
Server server = new Server(80);
ServletHandler handler=new ServletHandler();
server.setHandler(handler);
handler.addServletWithMapping("com.css.HelloServlet", "/*"); //com.css.HelloServlet 为对应的servlet类,/* 表示任意的url都可以触发
server.start();
}
}
HelloServlet.java
package com.css;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class HelloServlet extends HttpServlet {
public HelloServlet() {
System.out.println(">>> ");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
System.out.println(" ------------------------------- ");
response.setContentType("text/html");
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println("<h1>Hello SimpleServlet</h1>");
}
}
启动main函数中的服务,在浏览器中执行:http://localhost/ ,执行结果如图:
3 用jetty测试jsp文件
工程目录结构(注意所引入的jar包,比前面两个例子多了两个apache的jar包)
所需的jar包如图:
代码如下:
SerJetty.java
package com.css;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.ServletHandler;
import org.mortbay.jetty.webapp.WebAppContext;
public class SerJetty {
public static void main(String[] args) throws Exception {
Server server = new Server(80);
WebAppContext context = new WebAppContext("web", "/web");
server.setHandler(context);
server.start();
}
}
web/index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Simple jsp page</title></head>
<body>Place your content here </body>
</html>
启动main函数,在浏览器中输入:http://localhost/web/
执行结果:
另注:jetty6.x版本和以前的一些版本写法有些不同,这里的例子都是真的6.1.3这个版本的
要想使用jetty,当然首先要现在相关的jar包。最好到其官方(http://www.mortbay.org/jetty-6/)进行下载,我下载时,已经推出7.0的beta版本。
工程结构
(注:灰色部分为依赖的jar包)
1 启动jetty服务
package com.css;
import org.mortbay.jetty.Handler;
import org.mortbay.jetty.Request;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.handler.AbstractHandler;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class SerJetty {
public static void main(String[] args) throws Exception {
System.out.println(" start server ... ... ");
Server server = new Server(80); //创建服务,80 为服务端口
Handler handler = new AbstractHandler() { //创建一个句柄
public void handle(String target, HttpServletRequest request, HttpServletResponse response, int dispatch) throws IOException {
response.setContentType("text/html");
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println("<h1>Hello world</h1>");
((Request) request).setHandled(true);
}
};
server.setHandler(handler);
server.start(); //启动服务
}
}
执行main函数后,打开浏览器,在地址栏中输入:http://localhost/ 就会看到如下页面展示:
2 触发servlet服务
SerJetty.java
package com.css;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.ServletHandler;
public class SerJetty {
public static void main(String[] args) throws Exception {
Server server = new Server(80);
ServletHandler handler=new ServletHandler();
server.setHandler(handler);
handler.addServletWithMapping("com.css.HelloServlet", "/*"); //com.css.HelloServlet 为对应的servlet类,/* 表示任意的url都可以触发
server.start();
}
}
HelloServlet.java
package com.css;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class HelloServlet extends HttpServlet {
public HelloServlet() {
System.out.println(">>> ");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
System.out.println(" ------------------------------- ");
response.setContentType("text/html");
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println("<h1>Hello SimpleServlet</h1>");
}
}
启动main函数中的服务,在浏览器中执行:http://localhost/ ,执行结果如图:
3 用jetty测试jsp文件
工程目录结构(注意所引入的jar包,比前面两个例子多了两个apache的jar包)
所需的jar包如图:
代码如下:
SerJetty.java
package com.css;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.ServletHandler;
import org.mortbay.jetty.webapp.WebAppContext;
public class SerJetty {
public static void main(String[] args) throws Exception {
Server server = new Server(80);
WebAppContext context = new WebAppContext("web", "/web");
server.setHandler(context);
server.start();
}
}
web/index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Simple jsp page</title></head>
<body>Place your content here </body>
</html>
启动main函数,在浏览器中输入:http://localhost/web/
执行结果: