Servlet学习
今天的学习大致分为两部分:1、Myeclipse+tomcat配置及其关系;2、Servlet技术基础学习
1、 软件开发有不同的方式,当然我们选择最方便快捷的。Eclipse和MyEclipse都可以结合Tomcat进行Java Web的开发,但是相对来说Myeclipse会更方便一些。
关于配置http://fengyongfa2006.blog.163.com/blog/static/36654659200942851129796/博客上说的比较详细。此外在进行关联配置之后,新创建的Web项目会自动拷贝一份到Tomcat的webapps里面,可以很方便的进行调试。目录上面有些区别,但是留心一下很容易就搞懂了。
2、 Servlet技术基础的学习
(1) 书上有总结,我就抄写一遍同时加上自己的总结吧
接口与类 | 作用 | 生命周期 |
Servlet接口 GenericServlet抽象类 HttpServlet抽象类 | a、 负责响应客户请求 b、 GenericServlet是Servlet接口的通用实现;而HttpServlet提供了与Http协议相关的实现 c、 覆盖父类行为、GenericServlet实现了所有ServletConig方法,所以可以直接调用ServletConfig中的getXXX()方法 d、 HttpServlet将请求分为GET、POST等方法并且提供相应服务方法 | a、 多数在首次访问的时候就被初始化;在对web.xml设置过之后可以在启动时候被初始化 b、 在应用程序被终止时,所有Servlet都被销毁 |
ServletRequest接口 HttpServletRequest接口 | a、 表示客户请求 b、 后者表示Http请求 c、 前者提供一系列读取来自客户请求的getXXX()方法,比较常用的有getInputStream()getAttribute()setAttribute()等 d、 后者是前者的子类,也提供了一系列读取Http请求的方法 | a、 容器每次接收到来自客户的请求将其包装为ServletRequest对象兵进行传递 b、 服务器请求完毕容器销毁ServletRequest |
ServletResponse接口 HttpServletResponse接口 | Servlet通过ServletResponse接口生成响应结果 同样提供了很多种方法进行读取设置响应的方式
| a、 每次收到请求都会创建结果请求结束同时销毁response对象
|
ServletConfig接口 | a、 包含Servlet的初始化信息,并且与当前Web应用的Servlet对相关联 b、 其定义的几个GetXX()方法,主要是用来获取各种初始化参数 | 创建时候是Servlet对象与这个对相关联,销毁时候销毁关联 |
ServletContext接口 | 这是容器为每个Web程序分配的总管。Servlet通过它来存取Web应用范围内的共享数据,还可以通过它来访问Servlet容器的各种资源 | A、 当容器启动一个Web应用时会为他创建一个ServletContext对象 B、 终止一个Web应用时候销毁 |
其他的就是一些小的知识点:
A、 各个接口,抽象类的关联各个类包含的函数来获取请求、回复具体数据,重点在于在获取需要的信息时候各个函数的使用
B、 在动态生成Html时候要注意<html><head>等这一类标签的拼写使用
C、 Java Web的生命周期:
启动阶段:把web.xml文件加载到内存中
为JavaWeb应用创建一个ServletContext对象
对所有的Filter进行初始化
对那些需要在Web应用启动时就被初始化的Servlet进行初始化
运行阶段:他的所有的Servlet都处于待命状态,随时可以响应客户端的特定请求,提供相应服务。
终止阶段:销毁JavaWeb应用中所有处于运行时状态的Servlet。
销毁JavaWeb应用中所有处于运行时状态的Filter
销毁所有与JavaWeb应用相关的对象
D、 数据同步与共享,通过实例比较容易理解
相关函数:
BufferedReader reader=new BufferedReader(newInputStreamReader(context.getResourceAsStream("/count/count.txt")));
String filepath=context.getRealPath("/count");
filepath=filepath+"/count.txt";
注意路径的返回。