Servlet入门笔记
来源:互联网 发布:算法 benchmark 编辑:程序博客网 时间:2024/05/22 15:38
首先我们打开任务管理器, 在任务管理器中有一选项卡就是进程,在这里能看到很多启动的进程,每个进程都对应了CPU和内存的使用情况,那进程是什么?进程就是资源(或内存)管理的最小单位。 内存是通过进程方式管理。
在java中多线程程序执行过程是这样的:首先java虚拟机启动一个进程,他同时向操作系统申请一块内存,比如说申请的内存大小为64M,这就是java虚拟机的内存,启动线程再向java虚拟机在这64M中申请一内存。
线程就是程序执行的最小单位。
二、servlet的生命周期
当用户servlet时,服务器会首先会查看在内存中是否已经有了servlet的对象,若已经有了那么就不需要创建servlet对象,若是没有servlet对象, 那就创建一个servlet对象,并紧接着调用init方法初始化该servlet对象,然后调用service方法响应用户请求,当服务器被关闭或者web应用被卸载时, servlet引擎调用destroy方法,摧毁servlet对象。在servlet生命周期中需要注意的是:在内存之中始终只有一个servlet对象,这个servlet对象是在用户第一次访问的时候被创建,init方法也只被调用一次。 那么servlet并是不是一定是在用户第一次访问时被创建,不是滴,你可以通过在配置文件中做一些手脚,让他在用户第一次访问时不创建,怎么做?你可以在web.xml中配置load-up-startup参数。让tomcat启动时就创建servlet对象。
三、在继承GenericServlet的时候不要重写有参数的init的方法init(ServletConfig config),应该覆盖无参数init方法init(),,
为什么?查看API文档可知,在init(ServletConfig config)方法内部会调用init() 方法。而且你若是覆盖init(ServletConfig config)方法,tomcat就不能帮你将初始化参数封装到ServletConfig中。
四、web开发中的路径问题
在web中 “/ ” 开头的路径代表绝对路径, 不以 “/ ” 开头的路径是相对路径, 在web开发中建议不要使用相对路径。
在服务器中 “/” 代表web应用的路径,http://localhost:8080/webapps 在客户端 “/” 代表的是 网站的路径 例如:http://localhost:8080/, 在写路径时,要思考这个路径是给谁看的,若是给服务器看的,那么“/” 代表web应用的路径,若是给客户浏览器看的,那么“/” 代表的是 网站的路径。 一般在服务器端的程序编写的路径都是给服务器看的,一般在客户端在程序都是给客户浏览器看的(前面这句是自己总结的)。
但是:
在服务器端请求重定向时,例如:服务器端的代码:
response.setStauts(302); 状态码302 准确意义是在其他地址发现请求数据
response.setHeader("location", "url");
这样服务器端实现重定向,在这里url的书写需要加上斜杠和web工程的名字,为什么????
自己思考后的结果与大家分享一下(欢迎不同意见):请求重定向不一定是在本web应用下去寻找资源,有可能要去别的web应用下面去寻找资源,所以这里 “/” 代表的是 网站的路径
五、在web project中读取文件的问题
在web project读取文件有两种方式:
1、使用文件系统路径
String filepath = "/WEB-INF/classes/test.txt";
this.getServletContext().getRealPath(filepath);
首先要明确在在web中 "/" 开头的路径代表绝对路径, “/” 代表web应用的路径
2、使用字节码对象读取文件
比如有一个类叫Demo, 在src目录下建立一个文件test.txt
filepath = "/test.txt";
第一种:Demo.class.getResourceAsStream(filepath); //这里的url要注意:filepath中的 ”/"不是web应用路径,而是相对于src的路径,在服务器中这里的"/" 代表http://localhost:8080/webapps/WEB-INF/classes 目录
为什么在使用类路径时,"/" 代表这样的路径呢????
第二种:URL url = Demo.class.getResource(filepath);
String path = url.getpath(); //资源在服务器的绝对路径
- Servlet入门笔记
- servlet入门笔记
- Servlet 入门 笔记
- 01.servlet入门笔记
- Servlet入门笔记_1
- Servlet入门笔记2
- Servlet入门笔记
- Servlet入门学习笔记
- Servlet/JSP学习笔记(4)-Servlet入门
- Servlet/JSP学习笔记(4)-Servlet入门
- javaweb入门笔记(3)-Servlet
- 学习总结之 Servlet入门知识笔记
- servlet&jsp入门.....韩顺平笔记
- http协议和servlet入门笔记
- Head First Jsp&Servlet笔记01 入门
- Servlet入门
- Servlet入门
- Servlet入门
- oracle 联机日志 恢复
- c++课程设计
- 完成《深入Linux内核架构》第二章的阅读
- 如何启动已经写好的安卓项目
- Android之创建新的View
- Servlet入门笔记
- Android应用之电话拨打
- 字符编码<转载>
- C++自守数
- 忐忑不安的心情……
- 隐藏窗口任务栏图标的三种方法
- android项目--拨打电话
- YaHoo教你如何优化网站
- Liunx(一)