m2eclipse实例3 - HelloWebonJetty

 

这里我们实现一个借助于Maven的运行在Jetty上的Web应用。

#1 new一个Maven project

#2 选择maven-archetype-webapp

#3 我们对它默认生成的index.jsp稍作修改:【如果是运行在Jetty7上就不用修改了,参照书上的写法就可以了】

<html>
<body>
<h2>Hello World!</h2>
<a href="/helloWebonJetty/hello">Hello Servlet</a>  
</body>
</html>

 #4 我们加一个HelloServlet.java。这里需要注意的是,你需要额外自己建个叫java的文件夹,在\src\main目录下面(可能有其他的比较好的方法,不过我暂时还不清楚)。它默认会建成resources下面,所以一定要记得修改。还有要记得在pom.xml加入servlet的依赖。

package com.licanjing.helloWebonJetty;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloServlet extends HttpServlet
{
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        response.setContentType("text/html");
        response.setStatus(HttpServletResponse.SC_OK);
        response.getWriter().println("<h1>Hello Servlet</h1>");
        response.getWriter().println("session=" + request.getSession(true).getId());
    }
}

 #5 在web.xml中加入如下servlet配置:

    <servlet>
    <servlet-name>Hello</servlet-name>
    <servlet-class>com.licanjing.helloWebonJetty.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Hello</servlet-name>
    <url-pattern>/hello/*</url-pattern>
  </servlet-mapping>

    <servlet>
    <servlet-name>Hello</servlet-name>
    <servlet-class>com.licanjing.helloWebonJetty.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Hello</servlet-name>
    <url-pattern>/hello/*</url-pattern>
  </servlet-mapping>

#6 maven install然后就可以运行了

不过我这里有个严重的疏忽,Jetty的插件忘记装了。不过可以在tomcat里运行一下。放到tomcat里运行通过。

 

顺便还发现一个有趣的东西,在tomcat的启动log里面:

Sep 20, 2010 3:02:03 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\tomcat6\webapps\helloWebonJetty\WEB-INF\lib\geronimo-servlet_2.4_spec-1.1.jar) - jar not loaded. See Servlet Spec 2
.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

 

接下来我就得装jetty对于eclipse的插件了。

 

你可能感兴趣的:(eclipse,maven,tomcat,Web,servlet)