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方法不合法:

猜你喜欢

转载自www.cnblogs.com/author-huweidong/p/9212096.html
今日推荐