第一个java web之jetty

前言

博主自2012年从业以来以C#为主要编程语言,很少涉足java。随着企业应用的需求提升,需要高并发、高可用。net成熟的解决方案不够丰富,java能满足当前需求。渴望与急需java的知识,开始学习java,接下来便是java之旅!接下来内容仅供参考个人和初学者参考!

正文

一、首先需要搭建开发环境(本人使用10.12.5)

  1. Mac下配置Java Web开发环境(Mac 10.12)
  2. 设置环境变量
/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc

sudo vi ~/.bashrc

export MAVEN_HOME=/usr/local/apache-maven-3.5.3
export PATH=${PATH}:${MAVEN_HOME}/bin

/.bashrc无效设置/.bash_profile(重开控制窗口有效<编辑后执行source ~/.bash_profile>)

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

二、java编写调试

  1. jetty下载
  2. 新建项目
    新建Java Project,默认配置即可;

新建项目

src目录上右击,新建class,文件名JettyServerStart;修改内容为:

import java.io.IOException;

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

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;

/**   
 * @Title: JettyServerStart.java
 * @Package default
 * @Description: 第一个java web 之 jetty
 * @author jilonglv E-mail: jilonglv@gmail.com
 * @version 2018-04-22 21:46:27 
 */
public class JettyServerStart {
	
	public static void main(String[] args) throws Exception{
		
		Server server=new Server(8080);
		//第一种方式:通过构造函数,设置默认的session
		ServletContextHandler context=new ServletContextHandler(ServletContextHandler.SESSIONS);
		context.setContextPath("/");
		
		server.setHandler(context);

		//第二种方式:设置session
		//Create the SessionHandler (wrapper) to handle the sessions
		/*HashSessionManager manager = new HashSessionManager();
        SessionHandler sessions = new SessionHandler(manager);
        context.setHandler(sessions);*/
		
		context.addServlet(new ServletHolder(new HelloServlet()), "/*");
		
		server.start();
		server.join();
	}
}

class HelloServlet extends HttpServlet{
	
	private static final long serialVersionUID = 1L;
    private String greeting = "Hello World!";  
 
    public HelloServlet() {
    }  
 
    public HelloServlet(String greeting) {
        this.greeting = greeting;
    }  
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
    		throws ServletException, IOException {
    	 response.setContentType("text/html");
         response.setStatus(HttpServletResponse.SC_OK);
         response.getWriter().println("<h1>"+greeting+"</h1>");
         response.getWriter().println("session=" + request.getSession(true).getId()); 
    }
}

修改属性:

修改属性

引用jar(7个)包:

jetty-server-9.4.9.v20180320.jar
jetty-servlet-9.4.9.v20180320.jar
servlet-api-3.1.jar
jetty-util-9.4.9.v20180320.jar
jetty-http-9.4.9.v20180320.jar
jetty-io-9.4.9.v20180320.jar
jetty-security-9.4.9.v20180320.jar

引用jar:

引用jar

测试输入:http://127.0.0.1:8080

运行测试

效果图:

结果

总结

在学习中可能会遇到的问题:
1、对开发工具不熟悉(本文做了截图说明)
2、编译过程不清楚(主要指class、jar等之间的关系)可参照java学习路线极乐君的路线图(java学习路线),这里学学jar打包即可(jar包)

参考

jetty 应用blog

posted @ 2018-04-22 22:21  腾飞梦龙  阅读(629)  评论(0)    收藏  举报