Servlet原理
来源:互联网 发布:js .index 编辑:程序博客网 时间:2024/05/01 08:46
简介:
Servlet是一项应用于开发动态WEB资源的技术。
调用流程:
①WEB客户端向服务器端发送URL请求资源,WEB服务器Servlet解析URL,判断是否已经装载了Servlet实例,如果有已经装载则从④开始执行,如果没有装载从从②开始执行
②则需先装载并创建该Servlet的一个实例对象,
③调用Servlet实例对象的init()方法。
④创建一个用于封装HTTP请求消息的HttpServletRequest对象、一个代表HTTP响应消息的HttpServletResponse对象,然后调用Service()方法,并将请求和响应对象作为参数传递过去;
⑤WEB应用程序被停止或宠幸启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法
配置:
eclipse中创建MyServlet类,并且继承HttpServlet接口,在MyServlet中会自动创建doGet(),doPost()方法,在Web.xml中也有如下配置:
<servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>tgb.servlet.study.ServletDemo</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/servlet/ServletDemo</url-pattern> </servlet-mapping>
由于客户端是通过URL访问web服务器中的资源的,所以Servlet程序若想被外界访问,就必须把Servlet程序映射到一个URL地址上,这个工作则有web.xml文件中使用<Servlet>元素和<servlet-mapping>元素来完成。
- <servlet>元素:用于注册Servlet
<servlet-name>:注册Servlet名称
<servlet-class>:Servlet的完整类名
- <servlet-mapping>元素:用于映射一个已注册的Servlet的对外访问路劲
<servlet-name>:Servlet的注册名称
<url-pattern>:Servlet的对外访问路径。
同一个Servlet可以被映射到多个URL上。
<servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>gacl.servlet.study.ServletDemo1</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/servlet/ServletDemo</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/why.htm</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/why.jsp</url-pattern> </servlet-mapping>
展示:
http://localhost:8080/JavaWeb_Servlet/servlet/ServletDemo
http://localhost:8080/JavaWeb_Servlet/why.htm
http://localhost:8080/JavaWeb_Servlet/why.jsp
线程安全:
当客户端并发访问同一个Servlet事,web服务器会为每一个客户端请求创建一个线程,并在这个线程上调用Servlet的Service方法,因此Service方法如果访问了同一个资源的话,就有可能应发线程安全问题。
- 解决方案一:
枷锁,可能出现的问题:假如有很多个人在同时访问这个Servelet,那么这么多的人就必须排着长队了……
- 解决方案二:
让Servlet去实现一个SingleThreadModel接口,如果某个Servlet实现了SingleThreadModel接口,那么Servlet引擎将以单线程模式来调用其Service方法。
- servlet原理
- Servlet原理
- servlet原理
- servlet 原理
- Servlet原理
- Servlet原理
- Servlet原理
- Servlet原理
- servlet原理
- Servlet学习笔记 Servlet原理
- 【WEB开发原理】servlet原理
- Servlet容器工作原理
- Servlet容器工作原理
- Servlet容器工作原理
- servlet的运行原理
- Servlet和JSP原理
- Servlet过滤器原理
- Servlet过滤器原理
- 仿QQ控件,朋友圈
- HDU 4336 Card Collector [概率DP]
- Qt从零开始制作串口调试助手-(第十二章、串口数据发送)-Creator_Ly
- 博客地址迁移
- PackageManager 获取系统安装包信息
- Servlet原理
- java网络编程
- 情有独钟
- 【Java】Java之经典循环小例子
- StringBuffer和StringBuilder
- [JSP]JSP基本元素以及和Servlet的对应关系
- super.this.static.final
- Hadoop重启后提示xxx is in safe mode.
- String详解