Servlet和Tomcat部署
今天有空写个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部署的更多相关文章
- tomcat部署web项目的方式 转
JavaWeb开发Tomcat中三种部署项目的方法,开始Java web开发必不可少的步骤,经过查找,觉得有篇文章介绍的不错 1.在conf目录中新建Catalina\localhost目录,在该目录 ...
- Apache+Tomcat部署负载均衡(或集群)
本来只打算写Tomcat集群部署,简化Apache和Tomcat整合过程的.后来想了想,这样不便于没有用过Apache的朋友来学习本文内容.于是干脆加大篇幅,让对Apache不了解的朋友能对Apach ...
- [转]tomcat部署(1)
阅读目录 1 目录结构 2 部署 3 发布 4 测试 本篇参考Tomcat官方文档:<First Webapp>翻译,并结合自己的开发经验介绍关于tomcat部署以及发布的相关内容. ...
- Tomcat部署war应用总结
前言:罗列在Tomcat部署web应用的几种方法,供以后翻阅,其中的以helloapp为例 Tomcat目录介绍 简单目录介绍: bin目录:包含tomcat启动/关闭等脚本,支持linux.wind ...
- Tomcat系列(11)——Tomcat 部署web应用的4种方法
核心内容 1.在Tomcat中有四种部署Web应用的方式,分别是: (1)利用Tomcat自动部署(项目直接拷贝OR WAR包拷贝 到webapps下) (2)利用控制台进行部署(tomcat的man ...
- Servlet(1)—Servlet容器tomcat和HTTP协议
Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP的生命周期,以及管理他们的共享数据. Servlet容器也称JavaWeb应用容器,或者Servlet/JSP容器 ...
- spring boot (2):spring boot 打包tomcat、tomcat 部署多个项目、服务器部署项目SSL 设置(阿里云)
一.spring boot 内置tomcat配置https: 关于自签名证书可以看下上一篇 spring boot1 更详细的可以看转载 https://www.jianshu.com/p/8d4ab ...
- Tomcat部署实战
Tomcat部署实战 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.登录官网下载tomcat软件包(http://tomcat.apache.org/) 1>.在安装to ...
- Tomcat部署及优化
一.Tomcat安装部署 一.安装jdk和Tomcat 1.上传jdk和Tomcat mkdir -p /opt/tools/ /application ##jdk:jdk-8u131 tomcat: ...
随机推荐
- android106 C基本数据类型
#JNI java native interface #c的基本数据类型 * int:32位,能表示的数字是2的32次方个 * 最高位用来表示符号位,那么还剩下31位可以表示数值,所以能表示的数字就是 ...
- INSTALL_FAILED_VERSION_DOWNGRADE报错
error: INSTALL_FAILED_VERSION_DOWNGRADE 原因:模拟器或者实际的device中已经安装了同名的app,且本次的版本并不高 解决:在模拟器中卸载此同名应用,之后再运 ...
- iOS之获取当前时间日期并按固定格式显示
写一个常用的获取当前日期,时间的代码.并且能以规定的格式显示出来 1 2 3 4 5 NSDate *currentDate = [NSDate date];//获取当前时间,日期 NSDateFor ...
- iOS toolbar
初学ios,对toolbar初步了解: self.navigationItem.title=@"显示工具栏"; // 显示工具栏 //self.navigationControll ...
- 解决OOM小记
跟猜想的一样是OOM.一回来遇一不怎么熟悉的sb,给我气的....算了.....哥哥也是种种原因回的合肥.继续看问题. 这个地方的界面是这样的 划红线的地方是三个LinearLayout,每次oncl ...
- Struts1和Struts2的区别和对比(完整版)
Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 简 ...
- 学习笔记_过滤器详细_2(过滤器JavaWeb三大组件之一)
过滤器详细 5 四种拦截方式 我们来做个测试,写一个过滤器,指定过滤的资源为b.jsp,然后我们在浏览器中直接访问b.jsp,你会发现过滤器执行了! 但是,当我们在a.jsp中request.getR ...
- C# 日期转换函数
string.Format("{0:d}",dt);//2005-11-5 string.Format("{0:D}",dt);//2005年11月5日 str ...
- Haproxy配置参数
HAProxy配置中分成五部分内容,当然这些组件不是必选的,可以根据需要选择部分作为配置. ===================== global 参数是进程级的,通常和操作系统(OS)相关. ...
- iOS .pch文件的使用
什么是.pch文件预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里.这些预先编译好的代码可以是任何的C/C++代码--甚至可以是inline函数,只 ...