Servlet学习笔记01——什么是servlet?
1.什么是Servlet?
sun公司制订的一种用来扩展web服务器功能的组件规范。
(1)扩展web服务器功能
早期的web服务器(apache web server,iis)
只能处理静态资源的请求(即需要事先将html文件
写好并添加到服务器上),不能够处理动态资源的
请求(即需要计算,生成html)。所以,需要扩展
这些web服务器的功能。
(了解)
早期使用CGI程序来扩展。
CGI(Common Gateway Interface):
通用网关接口,可以使用c,perl等来开发符合
CGI接口规范的程序。CGI程序开发繁琐,不好
移值,所以用得比较少了。
(2)组件规范
1)什么是组件?
符合规范,具有部分功能,并且需要部署到相应的
容器里面才能运行的软件模块。
Servlet就是一个符合Servlet规范的组件,需要部署
到Servlet容器里面才能运行。
2)什么是容器?
符合规范,提供组件的运行环境的程序。
Servlet容器(比如Tomcat 雄猫)也是要符合
相应的Servlet规范。
Servlet容器提供Servlet组件的运行环境(提供
网络相关的服务)。

(了解)
a.tomcat也是一个简单的web服务器(其实,
大部分的Servlet容器同时也是一个简单的web
服务器)。
b.对于大型的web应用,最好要安装一个专业的
web服务器(比如apache web server),由这些
服务器来抗压(并发请求量很大),另外,将
静态资源(html)存放到这些web服务器上面,
Servlet容器只负责计算。
2.如何写一个Servlet?
step1.写一个java类,实现Servlet接口或者
继承HttpServlet抽象类。
step2.编译。
step3.打包(即将Servlet变成一个组件)
要创建一个具有如下结构的文件夹:
appname (应用名,可以自定义)
WEB-INF (固定写法)
classes(固定写法,存放 .class文件)
lib(可以没有,存放 .jar文件)
web.xml(固定写法,部署描述文件)
step4.部署
将step3创建好的整个文件夹拷贝到容器指定的位置。
注:
可以将step3创建好的整个文件夹使用jar
命令压缩成.war文件,然后再拷贝。
step5.启动容器,访问Servlet。
打开浏览器,输入
http://ip:port/appname/url-pattern。
注:
ip,port:容器所在的机器的ip地址,容器所
监听的端口号(tomcat默认的端口是
8080)。
url-pattern:在web.xml中定义。
3. Servlet运行过程
比如,在浏览器地址栏输入
http://ip:port/day01/hello?username=Giving
hello Giving


4. 常见问题及解决方式
(1)404
a. 404是一个状态码,表示服务器找不到对应的资源。
b. 产生的原因:
b1.请求路径写错。
b2.没有部署成功。
(2)500
a. 500也是一个状态码,表示服务器运行出错。
b. 产生的原因:
b1.配置文件写错。
b2.源代码出错。
比如没有继承HttpServlet。
代码不严谨,比如对用户的输入的数据
没有做检查就做强制转换。
(3)405
a.405也是一个状态码,表示服务器找不到处理方法。
b.产生的原因:
a.service方法不合法:

Servlet学习笔记01——什么是servlet?的更多相关文章
- Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期
servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...
- Java Servlet学习笔记(四)Servlet客户端Http请求
Servlet 客户端 HTTP 请求 当浏览器请求网页时,它会向 Web 服务器发送特定信息,这些信息不能被直接读取,因为这些信息是作为 HTTP 请求的头的一部分进行传输的.您可以查看 HTTP ...
- # jsp及servlet学习笔记
目录 jsp及servlet学习笔记 JSP(Java Server Page Java服务端网页) 指令和动作: servlet(小服务程序) jsp及servlet学习笔记 JSP(Java Se ...
- Servlet学习笔记(四)
目录 Servlet学习笔记(四) 一.会话技术Cookie.session 1. 什么是会话技术? 2. 会话技术有什么用? 3. Cookie 3.1 什么是Cookie? 3.2 使用Cooki ...
- Servlet学习笔记(三)
目录 Servlet学习笔记(三) 一.HTTP协议 1.请求:客户端发送欸服务器端的数据 2.响应:服务器端发送给客户端的数据 3.响应状态码 二.Response对象 1.Response设置响应 ...
- Servlet学习笔记(二)
目录 Servlet学习笔记(二) Request对象 1.request和response对象: 2.request对象继承体系结构: 3.什么是HttpServletRequest ? 4.Htt ...
- 软件测试之loadrunner学习笔记-01事务
loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...
- C++ GUI Qt4学习笔记01
C++ GUI Qt4学习笔记01 qtc++signalmakefile文档平台 这一章介绍了如何把基本的C++只是与Qt所提供的功能组合起来创建一些简单的图形用户界面应用程序. 引入两个重要概 ...
- SaToken学习笔记-01
SaToken学习笔记-01 SaToken版本为1.18 如果有排版方面的错误,请查看:传送门 springboot集成 根据官网步骤maven导入依赖 <dependency> < ...
随机推荐
- SUN巡检命令
# hostname (主机名)# hostid# uname -X# uname -a # w (进程)# who# last# ps -eaf# /usr/ucb/ps -aux# prstat ...
- HDU 4635 —— Strongly connected——————【 强连通、最多加多少边仍不强连通】
Strongly connected Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u ...
- Spring-cloud之Ribbon负载均衡的使用及负载均衡策略配置(与Eurka配合使用)
什么是Ribbon,ribbon有什么用,个人先总结一下(不正确请提出讨论):Ribbon是基于客户端的负载均衡器,为我们提供了多样的负载均衡的方案,比如轮询,最小的并发请求的server,随机ser ...
- hdu 4044 树形DP 炮台打怪 (好题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4044 题目大意:给定n个节点组成的树,1为敌方基地,叶子结点为我方结点.我们可以在每个结点安放炮台,至 ...
- AOSP 源码下载
网上关于这块大部分教程都是无效的,因为墙的缘故,无法使用官方提供的下载链接,我这里使用了清华大学的镜像,是能够顺利将 AOSP 下载下来.如果你还没有安装 Ubuntu,请看<VirtualBo ...
- 用HttpSessionListener统计在线用户或做账号在线人数管理
使用HttpSessionListener接口可监听session的创建和失效 session是在用户第一次访问页面时创建 在session超时或调用request.getSession().inva ...
- java中将数组、对象、Map、List转换成JSON数据
如果要将数组.对象.Map.List转换成JSON数据,那我们需要一些jar包: json-lib-2.4-jdk15.jar ezmorph-1.0.6.jar commons-logging.ja ...
- centos6.5_64bit-禅道安装及数据库操作
linux一键安装包内置了apache, php, mysql这些应用程序,只需要下载解压缩即可运行禅道. 从7.3版本开始,linux一键安装包分为32位和64位两个包,请大家根据操作系统的情况下载 ...
- Python基础学习之语句和语法
语句和语法 python语句中有一些基本规则和特殊字符: 井号键“#”表示之后的字符为python注释: 三引号(‘‘‘ ’’’)可以多行注释 换行“\n”是标准的行分隔符(通常一个语句一行): 反斜 ...
- C#获取农历的日期(转)
//C# 获取农历日期 ///<summary> /// 实例化一个 ChineseLunisolarCalendar ///</summary> private static ...