servlet和tomcat相关知识
来源:互联网 发布:现金流量适合比率算法 编辑:程序博客网 时间:2024/04/30 14:02
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/或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把客户请求正确的映射到相应的函数上:
<formmethod="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 进行编码。
"<ahref="+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相关知识
- Servlet和Tomcat相关知识
- Servlet相关知识
- Servlet相关知识
- servlet相关知识笔记
- servlet相关知识整理
- Servlet相关知识
- Servlet相关知识
- Servlet相关知识
- Servlet相关知识汇总
- Servlet相关知识
- Web相关知识,Tomcat
- tomcat相关知识
- tomcat相关知识总结
- tomcat相关知识
- servlet的相关知识2
- servlet的相关知识3
- 20170909 JSP SERVLET相关知识
- 【C++学习】学习const
- 做WinForm程序,在通知区域加入NotifyIcon,程序退出后不消失的解决
- 创建模式中的单例模式
- ENTER_FRAME事件简单控制往返运动
- 优化学习过程
- servlet和tomcat相关知识
- C++ 实现MergeSort算法
- 《intel汇编语言程序设计》软件完整配置详细介绍(精彩!)
- C语言写的情书
- 什么是框架,框架和设计模式的关系,为什么要用框架?
- 关于linux内核研究的网站
- Oracle悲观锁和乐观锁
- servlet
- Milw0rm SecurityFocus Exploit Archives(没想到小日本也有好东西)