第二天:tomcat体系结构和第一个Servlet
1、 打war包


2、 Tomcat体系再说明:


问题:如何去配置默认主机???
3、tomcat和servlet在网络中的位置
4、 servlet快速入门案例
1)、开发servlet的三种方法
a、实现servlet接口
B、通过继承GenericServlet
C、通过继承HttpServlet
需求:请使用实现接口的方式来实现一个Servlet,要求该Servlet可以显示Hello world!!!,同时显示当前的时间。
步骤:
A、
先建立web应用
B、
在该web应用下建立WEB-INF目录(并在下面建立一个web.xml配置文件),lib目录,classes目录(我们的Servlet就在该目录下开发)

C、
开发MyFIrst
MyFirst.java文件
package com.lyw;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*; public class MyFirst implements Servlet
{
//该函数用于初始化Servlet,即就是把该Servlet装载到内存中,该函数只会被调用一次
public void init(ServletConfig config)throws ServletException{ }
//该函数是得到ServletConfig对象
public ServletConfig getServletConfig(){
return null;
}
//该函数是服务函数,我们的业务逻辑代码就是写在这儿的,该函数每次请求都会被调用
public void service(ServletRequest req,ServletResponse res)throws ServletException,java.io.IOException {
System.out.print("hello world!!!"+new java.util.Date());
res.getWriter().println("hello world!!!"+new java.util.Date());
}
//该函数是得到Servlet的一些配置信息
public java.lang.String getServletInfo(){
return null;
}
//该函数是销毁该Servlet,从内存中清除,该函数被调用一次
public void destroy(){ }
}
D、
这时候根据Servlet的规范,我们还需要部署该Servlet,在web.xml文件中部署。
web.xml文件:(部署web应用)
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 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"
version="3.0"
metadata-complete="true">
<!--根据Servlet规范需要将Servlet部署到web.xml文件下,该文件可以从examples下拷贝-->
<servlet>
<!--servlet-name是给该Servlet取个名字,该名字可以自己去定义,但最好使用该Servlet的名字,这样方便后期的查找-->
<servlet-name>Myfirst</servlet-name>
<!--servlet-class是用来指定该Servlet放到哪个包下面的:包.类名(类名不要扩展名)-->
<servlet-class>com.lyw.MyFirst</servlet-class>
</servlet> <!-- Define the Manager Servlet Mapping -->
<!--Servlet的映射-->
<servlet-mapping>
<!--这个Servlet的名字要和上面的名字一样才可以匹配的上-->
<servlet-name>Myfirst</servlet-name>
<!--url-pattern这里就是访问该Servlet的资源名部分-->
<url-pattern>/helloworld</url-pattern>
</servlet-mapping> </web-app>
5、404错误可能出现的问题是???
A、未部署Web应用(即没有配置web.xml文件)
B、URL输入错误(即我们在地址栏中)
c、web应用目录放置错误,检查下自己的虚拟目录有没有问题
第二天:tomcat体系结构和第一个Servlet的更多相关文章
- Tomcat的部署+第一个Servlet
Tomcat部署 1.下载tomcat,添加到eclipse 2.配置环境变量(path) 3.win+r,输入Startup(如果没用,就管理员启动命令) 或者找到tomcat安装包,在bin目录找 ...
- 对于Servlet、Servlet容器以及一个Servlet容器-Tomcat
Servlet.Servlet容器等内容讲解 转载自http://blog.csdn.net/iAm333 对于Servlet.Servlet容器以及一个Servlet容器-Tomcat这些概念讲解的 ...
- MyEclipse第一个Servlet程序 --解决Win7系统下MyEclipse与Tomcat连接问题
前言 本文旨在帮助学习java web开发的人员,熟悉环境,在Win7系统下运行自己的第一个Servlet程序,因为有时候配置不当或系统原因可能会运行不成功,这给初学者带来了一定烦恼,我也是为此烦恼过 ...
- how tomcat works 札记(两)----------一个简单的servlet集装箱
app1 (看着眼前这章建议读者,看how tomcat works 札记(一个)----------一个简单的webserver http://blog.csdn.net/dlf123321/art ...
- 用java写一个servlet,可以将放在tomcat项目根目录下的文件进行下载
用java写一个servlet,可以将放在tomcat项目根目录下的文件进行下载,将一个完整的项目进行展示,主要有以下几个部分: 1.servlet部分 Export 2.工具类:TxtFileU ...
- Tomcat是一个Servlet容器?
"Tomcat是一个Servlet容器",这句话对于2019年的程序员应该是耳熟能详的. 单纯的思考一下这句话,我们可以抽象出来这么一段代码: class Tomcat { Lis ...
- 部署第一个servlet应用到tomcat上
部署第一个servlet应用到tomcat上 搭建环境 eclipse的EE版本 eclipse官网 创建一个java的应用程序 1.File->new java project 导入servl ...
- Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期
servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...
- 【Java框架型项目从入门到装逼】第四节 - 编写第一个Servlet程序
在开始这一节之前呢,我们还需要把Tomcat配置到Eclipse中,配置的方式很简单,打开Eclipse,Window,Preferences,进入到这个页面: 将Tomcat的安装目录配置到Ecli ...
随机推荐
- Codeforces 893E Counting Arrays:dp + 线性筛 + 分解质因数 + 组合数结论
题目链接:http://codeforces.com/problemset/problem/893/E 题意: 共q组数据(q <= 10^5),每组数据给定x,y(x,y <= 10^6 ...
- swoole帮助文档
入门指引 [编辑本页] Swoole虽然是标准的PHP扩展,实际上与普通的扩展不同.普通的扩展只是提供一个库函数.而swoole扩展在运行后会接管PHP的控制权,进入事件循环.当IO事件发生后,swo ...
- unity脚本生命流程
渲染 OnPreCull: 在相机剔除场景之前调用此函数.相机可见的对象取决于剔除.OnPreCull 函数调用发生在剔除之前. OnBecameVisible/OnBecameInvisible: ...
- LeetCode OJ:Binary Search Tree Iterator(二叉搜索树迭代器)
Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the ro ...
- PHP中获取文件扩展名的N种方法
PHP中获取文件扩展名的N种方法 从网上收罗的,基本上就以下这几种方式: 第1种方法:function get_extension($file){substr(strrchr($file, '.'), ...
- listening 1
It was regrettable that such great issues had to be the thrust and parry of a general election. But ...
- C#面向对象(四):其他面向对象知识
前文链接: C#面向对象(一):明确几个简单的概念作为开胃菜 C#面向对象(二):封装和继承 C#面向对象(三):多态 今天是这个系列的收尾文章了,来谈谈其他面向对象知识. 1.嵌套类 1.1概念 在 ...
- BZOJ4355: Play with sequence
BZOJ4355: Play with sequence https://lydsy.com/JudgeOnline/problem.php?id=4355 分析: 模板题. 把\(2\)操作看成先区 ...
- 神秘常量!用0x077CB531计算末尾0的个数,32位数首位相连
大家或许还记得 Quake III 里面的一段有如天书般的代码,其中用到的神秘常量 0x5F3759DF 究竟是怎么一回事,着实让不少人伤透了脑筋.今天,我见到了一段同样诡异的代码. 下面这个 ...
- git之cherry-pick
当想把当前分支提交的代码,也在其他分支提交,那可以用cherry-pick命令. 1 假设在master分支commit的id为:abc12345; 2 切换到其他分支,如develop分支; 3 在 ...