今天有空写个Servlet来玩一下。用EditPlus写一个简单的Servlet,FirstServlet.java,如下:

  

import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class FirstServlet extends HttpServlet {
public FirstServlet() { } protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head>");
out.println("<title>First Servlet</title>");
out.println("</head><body>");
out.println("Hello Servlet");
out.println("</body></html>");
out.close();
} protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head>");
out.println("<title>First Servlet</title>");
out.println("</head><body>");
out.println("Hello Servlet");
out.println("</body></html>");
out.close();
}
}

然后用javac FirstServlet.java编译,会产生一个FirstServlet.class文件。如果编译出现javax.servlet找不到之类的错误的话,首先找到Tomcat---->lib目录下的servlet-api.jar包(当然,前提是你要先安装Tomcat),然后就是将servlet-api.jar包放到JDK -->jre--->lib-->ext目录下面,重新编译,就可以了(因为servlet-api.jar包并非java库的,是属于javaWeb范畴了,所以要从tomcat里面拷出来放在jdk里面,编译的时候才能找到该jar包,这里还要注意一点,记得是放在jdd里面的jre,而不是放在和jdk同级的jre文件夹里面), 把该FirstServlet.class文件复制到Tomcat的安装目录~\apache-tomcat-8.0.32\webapps\ROOT\WEB-INF\classes下面,如果你自己那里没有classes文件夹,则自己手工建一个即可.

然后跟着把servlet在web.xml文件里面注册,添加节点如下(要包在根节点<web-app>里面):

  <servlet>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/servlet/FirstServlet</url-pattern>
</servlet-mapping>
<servlet>

  <servlet>节点是指定包含的Servlet类,<servlet-mapping>节点是指定servlet映射的Url。

  配置好了,然后是启动Tomcat,启动过程中还遇到了点小插曲(详看 启动Tomcat出现Using CATALINA_BASE ),启动tomcat成功之后,最后当然就是在浏览器里面输入http://localhost:8080/servlet/FirstServlet,便会在页面上看到:

Hello Servlet

 大功告成。
 最后说下servlet,其实就是运行在服务器的java程序,是专门用来接收web请求以及相应web请求的,其不能单独运行,要运行在servlet容器里面,比如tomcat,weblogic等。servlet容器接收到web请求之后,会把请求封装成httpRequest,并且生成httpResponse响应,然后把他们通过参数的方式传递给servlet(doPost, doGet, service),经过处理之后,通过response的方法,再通过servlet容器来把response响应返回给客户端。

Servlet和Tomcat部署的更多相关文章

  1. tomcat部署web项目的方式 转

    JavaWeb开发Tomcat中三种部署项目的方法,开始Java web开发必不可少的步骤,经过查找,觉得有篇文章介绍的不错 1.在conf目录中新建Catalina\localhost目录,在该目录 ...

  2. Apache+Tomcat部署负载均衡(或集群)

    本来只打算写Tomcat集群部署,简化Apache和Tomcat整合过程的.后来想了想,这样不便于没有用过Apache的朋友来学习本文内容.于是干脆加大篇幅,让对Apache不了解的朋友能对Apach ...

  3. [转]tomcat部署(1)

      阅读目录 1 目录结构 2 部署 3 发布 4 测试 本篇参考Tomcat官方文档:<First Webapp>翻译,并结合自己的开发经验介绍关于tomcat部署以及发布的相关内容. ...

  4. Tomcat部署war应用总结

    前言:罗列在Tomcat部署web应用的几种方法,供以后翻阅,其中的以helloapp为例 Tomcat目录介绍 简单目录介绍: bin目录:包含tomcat启动/关闭等脚本,支持linux.wind ...

  5. Tomcat系列(11)——Tomcat 部署web应用的4种方法

    核心内容 1.在Tomcat中有四种部署Web应用的方式,分别是: (1)利用Tomcat自动部署(项目直接拷贝OR WAR包拷贝 到webapps下) (2)利用控制台进行部署(tomcat的man ...

  6. Servlet(1)—Servlet容器tomcat和HTTP协议

    Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP的生命周期,以及管理他们的共享数据. Servlet容器也称JavaWeb应用容器,或者Servlet/JSP容器 ...

  7. spring boot (2):spring boot 打包tomcat、tomcat 部署多个项目、服务器部署项目SSL 设置(阿里云)

    一.spring boot 内置tomcat配置https: 关于自签名证书可以看下上一篇 spring boot1 更详细的可以看转载 https://www.jianshu.com/p/8d4ab ...

  8. Tomcat部署实战

    Tomcat部署实战 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.登录官网下载tomcat软件包(http://tomcat.apache.org/) 1>.在安装to ...

  9. Tomcat部署及优化

    一.Tomcat安装部署 一.安装jdk和Tomcat 1.上传jdk和Tomcat mkdir -p /opt/tools/ /application ##jdk:jdk-8u131 tomcat: ...

随机推荐

  1. oracle学习----特殊的连接方式

    1.笛卡儿积 merge join cartesion SQL> select ename,dname from emp,dept; 已选择56行. 执行计划------------------ ...

  2. Leetcode Python Solution(continue update)

    leetcode python solution 1. two sum (easy) Given an array of integers, return indices of the two num ...

  3. Linux动态查看网络流量iptraf

    iptraf工具可以动态查看网络流量 yum install iptraf 查看所有网卡流量 iptraf -g

  4. Magento网站如何添加一个可配置产品

    有的产品,比如服装,同一件衣服有S.M.L.XL.XXL等尺码供客户选择,或者有多种颜色可以供客户选择,Magento中管这种有选项供客户选择的产品叫做可配置产品 (Configurable Prod ...

  5. Asp.Net静态资源动态压缩之WebOptimization

    一.Asp.Net中对Css/Js的动态压缩工具 WebOptimization 在Asp.NetMVC自带的模板项目中自动引入了当前WebOptimization工具.如果使用的空模板Nuget命令 ...

  6. ajax跨域访问 java controller 和 cxf(webservice) 配置方式(CORS)

    1. controller跨域访问,配置方式 重点在这里: <mvc:cors> <mvc:mapping path="/*" allowed-origins=& ...

  7. win向linux传文件

    使用pscp.exe即可. 下载pscp.exe(http://pan.baidu.com/s/1jG6zmx4) 复制到windows/system32目录下即可. 然后可在cmd命令行下使用psc ...

  8. Java—static、this、super用法总结

        通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量.(理解为加了static的就是全局变量)但是,并不是说有了这种便利,你便可 ...

  9. Visual C++ 打印编程技术-编程基础

    背景: windows产生前,操作系统(如DOS等)都不提供支持图像处理的打印机驱动程序,使得程序员为打印出图像,不得不针对使用的打印机 自己编写设备驱动程序,导致了大量的.不必要的重复开发. 随着w ...

  10. OC - 7.Foundation框架的简单介绍

    OC语言-07-OC语言-Foundation框架   结构体 NSRange/CGRange 用来表示一个元素在另一个元素中的范围,NSRange等价于CGRange 包含两个属性: NSUInte ...