在tomcat上全手工部署Servlet3.0

从头写java文件的方式,编译成CLASS文件,加强对SERVLET容器的理解。

稍后试试JAR和WAR包。

文件内容(跟以前用IDE的一样):

HelloServlet.java:

package cc.openhome;

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

/**
 * Servlet implementation class HelloServlet
 */
@WebServlet(urlPatterns = {"/hello.view"})
public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String name = request.getParameter("name");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1> Hello!" + name + "! </h1>");
        out.println("</body>");
        out.println("</html>");
        out.close();
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

web.xml(这个文件可有可无的,在用servlet3.0注解的情况下,当里,用了注解,也可以定义另一个URL):

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

  <servlet>
      <servlet-name>firstServlet</servlet-name>
      <servlet-class>cc.openhome.HelloServlet</servlet-class>
      <load-on-startup>0</load-on-startup>
  </servlet>

  <servlet-mapping>
      <servlet-name>firstServlet</servlet-name>
      <url-pattern>/first.do</url-pattern>
  </servlet-mapping>

</web-app>

注意目录的摆放:

。HelloServlet.java文件位于C:\apache-tomcat-8.0.30\webapps\First\WEB-INF\classes目录下。
。编译命令为:

。C:\apache-tomcat-8.0.30\webapps\First\WEB-INF\classes>javac -cp .;C:\apache-tomcat-8.0.30\lib\servlet-api.jar -d . HelloServlet.java

。生成的HelloServlet.class文件位于:C:\apache-tomcat-8.0.30\webapps\First\WEB-INF\classes\cc\openhome目录下。
。web.xml当然位于C:\apache-tomcat-8.0.30\webapps\First\WEB-INF目录下。

于是用

http://127.0.0.1:8080/First/first.do?name=hello

http://127.0.0.1:8080/First/hello.view?name=hello

都会指定到同一个servlet.

时间: 2024-09-18 21:46:53

在tomcat上全手工部署Servlet3.0的相关文章

Servlet3.0中Servlet的使用

1.注解配置        在以往我们的Servlet都需要在web.xml文件中进行配置(Servlet3.0同样支持),但是在Servlet3.0中引入了注解,我们只需要在对应的Servlet类上使用@WebServlet注解进行标记,我们的应用启动之后就可以访问到该Servlet.对于一个@WebServlet而言,有一个属性是必须要的,那就是它的访问路径.@WebServlet中有两个属性可以用来表示Servlet的访问路径,分别是value和urlPatterns.value和urlP

在win2003上IIS部署可能出现的问题的解决方案

一.在IIS上部署运行多个版本的ASP.NET Framework 在浏览器中,请求失败的错误提示信息: Server Application Unavailable The web application you are attempting to access on this web server is currently unavailable.  Please hit the "Refresh" button in your web browser to retry your

ip地址-SSH项目部署到tomcat上,访问项目的IP地址在哪里确定的

问题描述 SSH项目部署到tomcat上,访问项目的IP地址在哪里确定的 就是说把项目部署到tomcat上后,访问项目的页面时候那个IP在哪里确定的?我之前一直都是用localhost,想改一改 解决方案 如果是服务器本地就用localhost,或127.0.0.1.远程访问就要知道你tomcat所在机器的IP,在cmd中输入ipconfig即可获得.... 解决方案二: 找到你tomcat所在,然后打开conf文件夹:用记事本打开[server.xml]文件:在该文件中找到 unpackWAR

局域网-tomcat安装在server服务器上并部署java web项目,自身能访问但其他机器访问失败

问题描述 tomcat安装在server服务器上并部署java web项目,自身能访问但其他机器访问失败 在64位的server服务器上(IP:18.1.1.231)放了tomcat6.0.37,免安装版,在其上部署了java web项目SYXM,打开服务器的浏览器中,http://localhost:8080/SYXM,http://18.1.1.231:8080/SYXM,http://127.0.0.1:8080/SYXM,都可以访问 但是在自己的台式机上(IP:192.168.150.4

EJB 3.0在WAS V7上开发部署的最佳实践

引言 IBM WebSphere Application Server 从 7.0 版本起开始正式支持 EJB 3.0(在之前的 6.1 版本有发布针对 EJB 3.0 的功能部件包).目前建立于 WAS V7 上的 EJB 3.0 应用并不常见.作者在实际项目中总结了使用 WAS V7 部署 EJB 3.0 应用遇到的一些问题(部分为开发细节)及最佳实践,并试图通过一些简单的例子将这些经验展现给需要在 WAS V7 环境下开发 EJB 3.0 应用的开发者们. 本文建立在如下条件之上: 使用

将html5项目部署到tomcat上,并实现安卓手机访问

最近在使用Webstorm开发项目中前端相关的内容,但是涉及到使用ajax技术,不能够跨域访问相关json文件和服务,需要将前端代码部署到tomcat服务器上.但是,如果通过手动拷贝的方式,太过于复杂,大大降低了开发的效率,但实在无法割舍Webstorm,只好查阅了一些资料,解决部署的问题. 具体的步骤如下:  html5项目如图: (1)打开设置setting面板 (2)找到Project Settting中的Deployment选项. 没有tomcat的,请到apache官网下载:http:

web and jmf-WEB项目中导入JMF jar包部署到tomcat上出错

问题描述 WEB项目中导入JMF jar包部署到tomcat上出错 错误信息如下: 解决方案 Eclipse部署Java Web项目到Tomcat出错 解决方案二: 违规访问造成的.换一个低版本的包试试

tomcat上部署了一个项目,一访问就会自动关闭

问题描述 tomcat上部署了一个项目,一访问就会自动关闭 ay 12, 2015 9:49:47 PM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["http-bio-8888"] May 12, 2015 9:49:47 PM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["a

server-eclipse在tomcat上部署的项目没有办法更新

问题描述 eclipse在tomcat上部署的项目没有办法更新 在tomcat上webapps里删除此项目然后重新部署,发现服务器上始终都是最开始的那个项目 ,项目上右键debug as---debug on servier总会提示XXX is required and cannot be removed on server,求助 - -! 解决方案 http://www.cnblogs.com/ywl925/p/3815173.html 解决方案二: 现在eclipse中remove,,不就行