第二天: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 ...
随机推荐
- StringUtil方法全集
org.apache.commons.lang.StringUtils中方法的操作对象是Java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的( ...
- Deep Learning(Ian Goodfellow) — Chapter2 Linear Algebra
线性代数是机器学习的数学基础之一,这里总结一下深度学习花书线性代数一章中机器学习主要用到的知识,并不囊括所有线性代数知识. 2.1 基础概念 Scalars: 一个数: Vctors: 一列数: Ma ...
- 解决:phantomjs helloworld.js报错: Can't open 'helloworld.js'
PhantomJS是一个无界面的,可脚本编程的WebKit浏览器引.它原生支持多种web 标准:DOM 操作,CSS选择器,JSON,Canvas 以及SVG. 当我安装好PhantomJS后,写下第 ...
- 51nod 1128 二分
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1128 1128 正整数分组 V2 基准时间限制:1 秒 空间限制:131 ...
- 插入排序—希尔排序(Shell`s Sort)原理以及Java实现
希尔排序是1959 年由D.L.Shell 提出来的,相对直接排序有较大的改进.希尔排序又叫缩小增量排序 基本思想: 先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录 ...
- python里混淆矩阵 左下角为漏报,右上角为误报
1为黑样本,0为白样本: Counter({1: 105, 0: 95}) check counter!confusion_matrix:[[83 12(预测值为1,实际为0,误报)] [15(预测值 ...
- Redis中redis.conf配置总结
redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no2. 当Redis以守护进程方式运行时,Re ...
- win7与vbox虚拟机Ubuntu设置共享文件夹
1.进入Ubuntu系统,在右上角打开设备->安装增强功能->运行->输入密码 2.在终端中安装,安装完后重新启动Ubuntu 3.在本机中设置一个共享文件夹(文件名是vbox-sh ...
- codeforces C. Pearls in a Row map的应用
C. Pearls in a Row time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- Codeforces Round #262 (Div. 2)C(二分答案,延迟标记)
这是最大化最小值的一类问题,这类问题通常用二分法枚举答案就行了. 二分答案时,先确定答案肯定在哪个区间内.然后二分判断,关键在于怎么判断每次枚举的这个答案行不行. 我是用a[i]数组表示初始时花的高度 ...