servlet和tomcat相关知识
2009-12-08 22:26
225 查看
Servlet
相关知识
一、
servlet
的定义
1.Servlet
是接受来自网络的请求(
form
表单,以及其他的请求),并对不同请求作出不同的响应。
2.Servlet
是一个位于服务器端的独立于平台和协议的Java
应用程序,
可以生成动态的web
页面,
也可以像jsp
一样直接输出信息。
3.
Servlet
是基于
Http
协议运行在
web
容器中,
web
容器可以控制
Servlet
对象的生命周期,控制请求由
Servlet
对象处理。
4.Servlet
必须在
web.xml
文件中注册服务器启动的时候
,
可以根据这些配置来加载
Servlet
类。
二、
tomcat
1
.
web
服务器,常用的
web
服务器有
Tomcat
,
Jboss
等,我们所用到的
Tomcat
是一个开源的服务器,
Tomcat
是一个用
java
语言编写的
web
服务器
,所以需要有相应的
java
运行环境,也就是
JVM
,还要配置
tomcat
的具体路径。
2.
配置环境变量:
CATALINA_HOME=/XXXX/XXX
3.tomcat
是否启动:地址栏输入
ttp://localhost:8080/
或
[/b]
http://127.0.0.1:8080/
可以访问到
tomcat
的主页就是启动成功了。
4.
要想停止
tomcat
服务器要使用
shutdown.sh
(
windows
中使用
shutdown.bat
),如果直接关闭启动窗口,就会造成
8080
端口占用错误,这时可以在使用
shutdown.sh
关闭一下服务器。
5. tomcat
可以识别的资源只有在
webapps
文件夹下,
webapps
也就是
web
应用文件夹,
webapps
下的文件夹这些文件夹中存放的就是
web
应用。
6.web
应用是有格式规范的:
7.
在
tomcat
服务器中,访问应用下的资源可以在端口号后加上
web
应用文件夹的名字
就可以看到资源
http://localhost:8080/xxxxx/xxxx.html
,
WEB-INF
文件夹中的资源是受保护的,不能够通过网络访问到。
三、
Servlet
的作用
1.Servlet
主要用来在控制层
结合mvc
模式做控制转发.
2.Servlet
的应用:
表单是HTML
中使用最广泛的传递信息的手段,Servlet
使用HttpServlet
类中的方法与表单进行交互
,HttpServer
把客户请求正确的映射到相应的函数上:
<form
method="get
或
post" action=" url-pattern">
......
</form>
a) doGet
用于处理
GET
请求
b) doPost
用于处理
POST
请求
四、
Servlet
中请求响应过程
五、
Servlet
的调用过程
1.
用户通过浏览器向
web
服务器发送请求
http://
服务器
ip
地址:端口号
/web
应用名
2.
服务器为用户定位所需要的资源:
静态资源:
XX.html
静态页面,读取文件内容并发送到客户端
动态资源:
1
解析
web.xml
定位
Servlet
类的名字
2
装载类(
WEB-INF/classes
的类文件或
WEB-INF/lib
下的
jar
文件)
3
创建该对象的实例
Class.forName("servle
的类名
").newInstance();
<servlet-mapping>
<servlet-name>servlet
的名字(要和
servlet
标签中的相同)
</servlet-name>
<url-pattern>/
指定
servlet
相对于应用目录的路径
</url-pattern>
</servlet-mapping>
url-parttern
的配置,这个
url
就是
Servlet
的虚拟路径
http://
服务器
ip
地址:端口号
/
应用文件夹名
/url-pattern
六、
Servlet
的生命周期分为以下四个阶段
(
1
)创建
Servlet
对象,通过服务器反射机制创建
Servlet
对象,第一次请求时才会创建
。
(
2
)调用
Servlet
对象的
init()
方法,初始化
Servlet
的信息,
init()
方法只会在创建后被调用一次
(
3
)响应请求,调用
service()
或者是
doGet()
,
doPost()
方法来处理请求,这些方法是运行的在多线程状态下的。
(
4
)在长时间没有被调用或者是服务器关闭时,会调用
destroy()
方法来销毁
Servlet
对象。
七、
cookie
和
session
会话
Cookie
:
Cookie
是服务器发送给浏览器的纯文本信息,用户以后访问同一个
Web
服务器时浏览器会把它们原样发送给服务器。通过让服务器读取它原先保存到客户端的信息,网站能够为浏览者提供一系列的方便
.(
例如不用经常写登陆信息
)
Session
:session
总是放在服务器上的,每个客户会跟一个sessionID
(为了标识他是那个客户端的)对应。因为HTTP
是无连接的,如何区分同一个客户的多次请求呢,就需要客户端每次发请求的时候,发送相应的sessionID
。
Cookie
和
session
的比较:
1
、存在的位置:
cookie
保存在客户端,
session
保存在服务器端
2
、安全性:
cookie
的安全性比
session
弱
3
、网络传输量
cookie
通过网络在客户端和服务器端传输
session ID
。
重写URL
把 session ID
加到一个连接可以使用一对方法来简化:response.encodeURL()
使 URL
包含 session ID
,如果你需要使用重定向,可以使用 response.encodeRedirectURL ()
来对 URL
进行编码。
"<a
href="+resp.encodeURL(req.getRequestURL().toString())+">test</a
>
"//
重写
URL
:
encodeURL(),
如果浏览器的
cookie
没有禁掉,则这句话没有对
req.getRequestURL().toString()
作任何处理,还是保持这个字符串的原样;如果
cookie
被禁掉了
,
则在字符串的后面加上一字符串
"
;
"+session ID
encodeURL ()
及 encodeRedirectedURL ()
方法首先判断 cookies
是否被浏览器支持;如果支持,则参数 URL
被原样返回,session ID
将通过 cookies
来维持。
相关文章推荐
- Servlet和Tomcat相关知识
- JSP和servlet的相关知识点
- j2ee tomcat https 证书等一系列相关知识的学习总结
- jsp/servlet相关技术及知识
- 第5天:Servlet相关知识(一)
- servlet的一些用法及相关知识的一些总结
- Servlet和Tomcat的基础知识
- servlet的相关知识2
- tomcat相关知识
- Servlet相关知识
- Servlet相关知识
- Servlet相关知识
- tomcat里的servlet就是线程相关的问题!
- 第6天:Servlet相关知识(二)
- 探讨.get .post .ajax ztree 还有后台servlet传递数据的相关知识
- jsp与tomcat相关知识整理
- servlet的一些相关知识的总结
- javaweb相关知识 servlet+jsp+dao之间的关系
- Servlet和Applet(Java小应用程序)相关知识!!!!------阿冬专栏
- tomcat发布相关的知识