Servlet基础

来源:互联网 发布:苏州软件测试招聘 编辑:程序博客网 时间:2024/06/05 17:49
1.什么是Servlet?
sun公司制订的一种用来扩展web服务器功能的组件
规范。
(1)扩展web服务器功能
web服务器(比如apache web server)只能够处理
静态资源的请求,不能够处理动态资源的请求,所以,
需要扩展。
早期使用CGI程序来扩展。
注:
CGI(Common Gateway Interface): 通用
网关接口,可以使用perl,c等语言来开发符合
CGI接口标准的程序。
CGI程序开发复杂,并且移植性不好。
(2)组件规范
1)什么是组件?
  符合一定规范,实现部分功能,需要部署到
相应的容器里面才能运行的软件模块。
2)什么是容器?
符合一定规范,提供组件的运行环境的程序。

2.如何写一个Servlet?
step1,写一个java类,实现Servlet接口或者
继承HttpServlet抽象类。
step2,编译
step3,打包
创建一个具有如下结构的文件夹:
appname (应用名)
WEB-INF
classes(放.class文件)
lib(可选,放.jar文件)
web.xml(部署描述文件)
step4,部署
将step3创建好的文件夹拷贝到容器。
注:
也可以将step3创建好的文件夹使用jar
命令压缩成一个以".war"为后缀的文件。
step5,启动容器,访问Servlet
http://ip:port/appname/url-pattern

3.安装Tomcat (www.apache.org)
step1,将tomcat的安装文件解压到
/home/soft01。
/opt/apache-tomcat7.tar.gz
step2,配置环境变量
JAVA_HOME  jdk的安装路径,比如
/opt/jdk6
CATALINA_HOME  tomcat的安装路径,比如
/home/soft01/apache-tomcat7
PATH  可执行文件的路径,比如 
/home/soft01/apache-tomcat7/bin
step3,启动tomcat
cd  /home/soft01/apache-tomcat7/bin
sh startup.sh (或者 sh catalina.sh run)
打开浏览器,输入
http://localhost:8080
step4,关闭tomcat
sh shutdown.sh

4.使用myeclipse开发一个简单的Servlet
step1,启动myeclipse
step2,集成tomcat
step3,创建一个web工程

5.Servlet是如何运行的?
比如,在浏览器地址栏输入
http://ip:port/web01/hello?name=Tom
step1,浏览器依据ip,port建立连接。
step2,浏览器将相关数据打包(按照http协议),
然后将请求数据包发送给容器。
step3,容器解析请求数据包,并且将解析得到的
数据封装到request对象,同时,还会创建一个
response对象。
step4,容器创建Servlet对象,然后调用该对象的
service方法。
注:
在service方法里面,可以通过request对象
来获得请求参数,然后将处理结果写到response
对象。
step5,容器从response对象当中获取处理结果,然后
打包(响应数据包),最后将这个数据包发送给浏览器。
step6,浏览器解析响应数据包,生成相应的页面。

6.常见错误
(1)404
404是一个状态码。
注:
状态码是一个三位数字,由w3c定义,表示
服务器处理请求的一种状态。
1)含义
服务器依据请求地址找不到相应的资源。
2)错误原因
a.应用没有部署
b.<servlet-name>不一致  
c.没有按照以下规则来写请求地址
http://ip:port/appname/url-pattern
(2)500
1)含义
系统出错
2)错误原因
a.类写得不规范
没有继承HttpServlet。
b.<servlet-class>写错
c.程序运行出错。
比如,对请求参数没有做检查,就做强制
转换。
(3)405
 1)含义
   找不到处理方法。
 2)错误原因
   service方法没有严格按照要求来写,
  要检查方法的返回类型,参数类型,异常类型
  和方法名。
0 0
原创粉丝点击