Jetty 7 + eclipse + servlet 最简单的HELLO WORLD

部署环境:

http://blog.csdn.net/lego2816/article/details/42650545


参考资料:

http://blog.sina.com.cn/u/1632737354

http://bbs.itheima.com/thread-115511-1-1.html


可能出现的问题:

1.打包成WAR,WEB项目的目录组织:

http://blog.csdn.net/wk843620202/article/details/9179923


http://blog.csdn.net/bluesnail216/article/details/7744607


2. SAE 报错 500,404

注意JRE是1.6版本的,然后不要加乱七八槽的JAR文件。

http://blog.csdn.net/u012510614/article/details/38009763


一、DEMO:(dynamic web project -- eclipse上运行成功,经过改正JRE为1.6版本后再SAE上部署成功。)


HelloWorldServlet

package org.jetty.demo;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//Servlet
public class HelloWorldServlet extends HttpServlet {
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        System.out.println("doGet");
        resp.getWriter().write("hello world!");
        resp.getWriter().close();
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        System.out.println("doPost");
        super.doPost(req, resp);
    }
}


JettyServerStart
其实可以不要这个main的,我试过仍旧可以运行。

package org.jetty.demo;  

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;
 
public class JettyServerStart {  
 
   
    public static void main(String[] args) throws Exception {
    	Server server = new Server(8081);  
    	  
        WebAppContext context = new WebAppContext();  
        context.setContextPath("/");  
        server.setHandler(context);  
        server.start();  
        server.join();
   
    }
} 



web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">  
<display-name></display-name>
 
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>HelloWorldServlet</servlet-name>
    <servlet-class>org.jetty.demo.HelloWorldServlet</servlet-class>
  </servlet>
 
  <servlet-mapping>
    <servlet-name>HelloWorldServlet</servlet-name>
    <url-pattern>/HelloWorldServlet</url-pattern>
  </servlet-mapping>
 
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>


index.jsp


<%@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
hello jetty! 中国!
</body>
</html>

lib目录下我是把JETTY/lib里的JAR和JSP目录下的JAR全复制进去了。然后在BuildPath中添加所需的JAR。

最后运行的时候,路径中记得输入PROJECT的名字 。当初忘记加工程名,看了一个下午。。


二、SAE上部署servlet

把以上工程导出成war格式的,删除其中LIB里包含的所有JAR,以免与SAE冲突。



WEB-INF下:


classes中是WEB PROJECT中的类文件,lib中是需要的一些JAR,在这里我已经把lib中的JAR全部删除了。

上传到自己的JAVA应用中,输入对应的URL即可访问。


启示:

不要害怕失败,成功是必然的,只是时间的问题。

在网上搜寻资料的过程很苦,但是在完成后记得要做一个总结,避免再犯同样的错误。


你可能感兴趣的:(eclipse,servlet,jetty)