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> < ... 
随机推荐
- Linux网卡操作
			单个网卡操作 [root@localhost ~]# ifdown eth0 #关闭网络 [root@localhost ~]# ifup eth0 #启动网络 网络服务: [root@localho ... 
- mysql主从数据库错误处理
			方法一:忽略错误后,继续同步 该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况 解决: stop slave; #表示跳过一步错误,后面的数字可变set glob ... 
- C语言实现通用链表初步(三)----单元测试
			前两节,我们已经完成了链表的一些操作,快来测试一下吧. 这里使用的单元测试工具名字叫"check". START_TEST(my_slist_1) { struct student ... 
- pat1080. Graduate Admission (30)
			1080. Graduate Admission (30) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue It ... 
- Angularjs ui router,路由嵌套 父controller执行问题
			解决方式来源:https://stackoverflow.com/questions/25316591/angularjs-ui-router-state-reload-child-state-onl ... 
- one + two = 3
			读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出. 输入 测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =", ... 
- 多个ModelForm组合成一个表单
			打个比方: 我将用户的基本信息 如用户名密码存在继承了Django auth认证组件中的 AbstractUser 类的模型中,并和第二个存了Details模型中,此模型继承UserInfo模型 继承 ... 
- InvocationTargetException异常
			package com.smbea.demo.reflect; /** * 越界异常 * @author hapday * @date 2017年1月20日 @time下午7:59:01 */ pub ... 
- CRM的划分
			CRM提供完整的客户生命周期管理解决方案,帮助您管理各项与客户有关的事件,包括市场.销售以及客户支持等方面,优化事件处理流程,从而赢得更多客户,并提高客户满意度. 按企业经营类型划分 ... 
- Android开发之——依赖冲突Program type already present
			前言 实际开发中,为了提高开发速度和效率,总避免不了引用第三方提供的依赖和类库,如果含有相同依赖的类库被我们引用时,而他们的版本又不相同,就有可能会导致一系列问题和异常,本文结合本人时间总结和他人经验 ... 
