jetty内嵌web页面服务入门

一个特别好的Demo,记录一下

访问: http://127.0.0.1:8989/?name=name

 

package wang.jettyTest2;

import org.eclipse.jetty.server.Server;

public class JettyServer {
	public static void main(String[] args) throws Exception {
                //访问http://127.0.0.1:8989/?name=name
		Server server = new Server(8989);
		server.setHandler(new TestHandler());
		server.start();
		server.join();
	}
}
package wang.jettyTest2;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.handler.AbstractHandler;

public class TestHandler extends AbstractHandler {
	 
    @Override
    public void handle(String target, Request baseRequest, HttpServletRequest request,
            HttpServletResponse response) throws IOException, ServletException {
        //用户请求的uri
        //http://localhost:8080/index.html?name=rolin  -> target=/index.html
        System.out.println("target is :" + target);
        
        //设置http头信息
        response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");
        response.setStatus(HttpServletResponse.SC_OK);
        
        baseRequest.setHandled(true);
        
        //获取向浏览器输出的流
        PrintWriter out = response.getWriter();
        if("/favicon.ico".equals(target)){//jetty默认会在每次请求结束,再请求一次这个uri
            System.out.println("request /favicon.ico");
            out.write("404");
        }else{
            System.out.println("request other!");
            //out.print("{['name':'name','id':'id']}");
            out.print("<h3>hello jetty!</h3>");
            //其他请求参数
            if(request.getParameter("name") != null) {
                out.print("<h3>your name is "+request.getParameter("name")+"!</h3>");
            }
        }
    }
 
}