先要了解的是:
如何访问一个Web程序

http://计算机主机名或ip地址:端口号/程序的上下文路径

如何访问一个Web程序中的页面资源

http://计算机主机名或ip地址:端口号/程序的上下文路径/页面资源的路径

如何访问一个Web程序中的Servlet

http://计算机主机名或ip地址:端口号/程序的上下文路径/servlet的路径(也就是servlet的url模式)

下面是severlet的工作原理:
severlet的工作原理
在这里插入图片描述
在这里插入图片描述
Servlet工作原理:
->Web容器收到请求
->查找对应的Servlet
->加载Servlet类
->实例化Servlet
->调用init()方法初始化servlet
->Web容器将请求传递给servlet,调用service方法处理请求,返回响应
->后续再次请求该Servlet, web容器直接使用相同的实例,调用service方法服务请求。

第一次访问一个Servlet, servlet方法的调用顺序:init(), service(), doGet()/doPost(), destroy()

创建Servlet的三种方式

1.实现Servlet接口,需要实现Servlet的所有方法,主要是service()
2.继承GenericServlet类
必须实现抽象方法service(),其他方法需要的话重写即可
3.继承HttpServlet类
可不实现任何方法,但是因为要处理请求,所以一般重写doGet()或doPost(), 不需 要重写service,因为service会根据请求提交方式调用doGet()或doPost()。

我们常用第三种方法比较简便。

表单提交方式

1.Get
Get方式提交一个表单,表单中的参数会追加到地址栏的url后面
相对不安全
能够发送的数据量有限制,具体看浏览器的限制
Get方式提交请求多是为了从服务器请求数据,如百度的根据关键字检索内容
2.Post
Post方式提交一个表单,表单中的参数不会追加到地址栏,而是作为请求的正文发送
相对更安全一些
能够发送的数据量没有限制,但是要看服务器的处理能力
Post方式提交数据多是为了发送数据给服务器,多用于实现数据的增删改,如注册或修改个人信息等。

Servlet相关API: Servlet相关的类和接口

Servlet
GenericSerlvet
HttpServlet
ServletRequest
包含了基本的获取参数的一些方法,如getParameter(), getParameterValues() 等
ServletResponse
包含了显示响应的一些基本方法,如setContentType(), getWriter()等
HttpServletRequest(继承自ServletRequest)
在ServletRequest接口方法的基础上添加了一些操作请求报头信息的方法,如getHeader()等
HttpServletResponse(继承自ServletResponse)
在ServletResponse接口的基础上添加了一些用于设置响应报头信息的方法,如setHeader()等,如果设置的报头信息是日期,整数等类型,可考虑调用对应方法,如setDateHeader()、setIntHeader()等。
ServletConfig-Servlet配置接口
一个Web应用程序可以有很多个Servlet,每个Servlet处理一个请求,一个Servlet实例有一个对应的ServletConfig实例,存储了一个Servlet的配置信息,包括Servlet的名称和初始化参数等。ServletConfig对象在实例化一个Servlet后创建,并在Web容器初始化(init)Servlet的时候,将ServletConfig对象传入Servlet,后续可以在Servlet类中调用getServletConfig()方法获取该对象。
ServletContext-Servlet上下文接口
一个Web应用程序有一个ServletContext实例,用于在整个应用程序中共享数据,如果有一些数据是所有servlet或多个servlet需要公用的,放入ServletContext对象中, 程序启动的时候,web容器会创建一个ServletContext对象,包含上下文参数等信息,调用getServletContext()方法获取程序的上下文对象,进而获取其中的数据。

发送一个请求,不仅仅有请求参数等信息,还有请求的额外信息,如一些报头/标头信息
返回一个响应,不仅仅有响应内容信息,还有响应的额外信息,如一些响应报头/标头信息

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐