Servlet概述

转载:但偏偏 Servlet概述

一、什么是Servlet?

1、是用于服务器端处理http协议的组件。

a、组件是什么?

符合规范,实现部分功能,并且需要部署到相应的容器里面才能运行的软件模块。(还是java写的)

b、Http协议是什么?

HTTP协议是用来定义浏览器与web服务器之间如何通信以及通信的数据格式的一种应用层协议。Servlet就是一个组件,需要部署到servlet容器里面才能运行。(tomcat就是一个servlet容器+web服务器)

c、容器是什么?

符合容器的规范,提供组件运行环境的程序。

servlet容器为servlet提供运行环境。

能够充当Servlet容器这个角色的有很多软件,如Tomcat、Weblogic、JBoss等。而这些Servlet容器不仅仅具备了管理Servlet组件的功能,也具备了Web服务器的一些功能,所以很多时候只要安装一个Tomcat软件就同时具备了Web服务器及Servlet容器的双重功能。

二、Servlet的特点:

  1. Servlet存储在服务器上用于处理动态网页请求
  2. Servlet需要满足sun的规范
  3. Servlet支持拼动态资源(HTML,图片等)

三、Servlet和普通java类的区别?

  1. 需要部署到容器内才能运行。
  2. 针对客户端的多次servlet请求,通常情况下,服务器只会创建一servlet实例对象,也就是说servlet一旦创建,他就会驻留在内存之中,为后续的其他请求服务,直至web容器推出,servlet实例对象才会被销毁。
  3. 在servlet的整个生命周期内,servlet的init方法只会被调用一次,而对一个Servlet的每次访问都导致引擎调用一次servlet的service方法。对于每次访问请求,servlet引擎都会创建有哥httpservletRequest请求对象和一个httpservletReponse响应对象,然后将这两个对象作为参数传递给servlet的service()方法。servlet方法再根据请求方式分别调用doXXX方法

四、访问Servlet常见的错误:

  • 500状态码:表示系统错误。
    可能原因:
    Servlet没有继承HttpServlet或实现Servlet接口
    web.xml文件中的写错,与真正的包名类名不符
    service方法中的代码运行时抛出异常

  • 404状态码:表示依据请求路径找不到请求的资源。
    输入的地址有误(应用名大小写不正确,名称拼写不正确)
    在web.xml文件中和中的两个不一致
    没有将工程部署到Tomcat的webapps下面
    Web工程部署时的结构没有遵循Servlet的规范

  • 405状态码:容器找不到service方法来处理请求
    service方法名写错,字母顺序不对或大小写错误
    service方法参数类型与标准不一致,或参数顺序与标准不一致。一定是先HttpServletRequest,然后HttpServletResponse类型。
    service方法异常、返回值类型与标准不一致,一定是抛出ServletException、IOException。返回值类型是void。
    解决405错误的方法即检查service方法是否存在,签名(方法名、参数、返回值、异常类型)是否与覆盖的父类中的方法一致。

五、如何在Eclipse中开发一个Servlet:
1、创建一个web项目,要求具备如下目录结构:

/webapp/WEB-INF/web.xml

2、导入javaEE相关开发包

a.用maven导包:

搜索javaee,导入javaee-api

b.依赖tomcat自带的jar包,即指定服务器

项目右键->properties->target-runtimes->选择tomcat->apply->ok

3、开发Servlet

a.创建一个类,继承HttpServlet或者实现Servlet接口

b.重写父类的Service方法在web.xml中配置Servlet

4、如何配置?(以Spring框架为例)

<servlet>
  <servlet-name>dispatcherServlet</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>dispatcherServlet</servlet-name>
  <url-pattern>*.do</url-pattern>
</servlet-mapping>

5、部署项目(所谓部署:可理解为拷贝至某个目录下面)

Servers视图->右键tomcat->Add and Remove->将项目移动到右侧->Finish

启动tomcat则完成了部署

部署的代码在/tomcat/webapps下面

6、访问Servlet

打开浏览器,输入http://localhost:8080/servlet1/ts

7、重新部署

每次修改代码后需要重新部署
Servers视图->右键tomcat->publish

Servlet家族思维导图:
  
在这里插入图片描述

Servlet的访问流程:
 在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值