`
java_hanyu
  • 浏览: 71758 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

servlet学习笔记(二)

阅读更多
一、复习
servlet接口的实现类中的service()方法,在继承HttpServlet类时,如果没有覆盖父类的service()方法,
那么父类的service()方法会根据请求类型的不同会分别调用覆盖的doGet(),doPost()方法,如果响应两
种请求的动作相同,那么可以直接覆盖service()方法。如果覆盖了
doGet(),doPost()方法之一,那么就会只对一种请求作出相应。在浏览器的地址栏操作按回车键,或者是
热连接,都是get请求,form的method属性如果不指定,默认为get请求。

我们可以通过ServletRequest对象或HttpServletRequest对象的方法来获取请求中传送的参数。
getParameter(String name)方法,可以获得form表单中指定名字的参数,多参数同名时,只取一个。
getParameterNames(),可以获得一个迭代器Enumeration,通过这个迭代器,来获得form表单中参数的名字。
getParameterValues(String name)获得指定的所有同名参数的值。

get请求,会将参数显示在浏览器的地址栏上,其显示格式,在地址之后会以问号开始,以'&'分隔参数,
可以通过HttpServletRequest对象的getQueryString()方法来获得get请求的参数值。

ServletRequest对象的getInputStream()方法可以获得一个由Socket得来的输入流,可以使用这个流来
实现文件的上传。getReader()方法可以直接获取post请求的参数。

注意:getParameter()与getReader()方法不能同时调用

ServletContext对象是Servlet的上下文对象,这个对象是在服务器启动时创建的,他可以看作是
一个应用的对象,他可以看作是包含Servlet,管理Servlet的对象。


二、servlet的生命周期

遵守servlet规范的类,就可以通过服务器产生对象(反射机制),并处理请求。

servlet接口中的方法
所有的servlet都必须实现javax.servlet.Servlet接口

public class TestServlet implements Servlet {
ServletConfig config;
public void init(ServletConfig config) throws ServletException {
this.config=config;
//这个ServletConfig对象是由服务器生成,也就是有系统提供的,通过他可以获得启动信息。ServletConfig对象和Servlet是一一对应的。
//这个方法是在Servlet创建后调用的。如果要是用到ServletConfig对象是一定要为对象赋值。
}

public ServletConfig getServletConfig() {
return this.config;
}

public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
...;//这个方法是用来处理请求的核心方法
}

public String getServletInfo() {
return "....";//这个是用来写Servlet信息的,用来写作者,以及版本信息
}

public void destroy() {
...;//这个方法是用来销毁Servlet对象的
}

}

HttpServlet和GenericServlet都实现了Servlet接口。
HttpServlet中的service(HttpServletRequest request,HttpServletResponse response)方法是通过service(ServletRequest request,ServletResponse response)方法的调用来实现对请求的处理。

1、Servlet的生命周期分为四个阶段
(1)创建Servlet对象,通过服务器反射机制创建Servlet对象,第一次请求时才会创建。(默认)
(2)调用Servlet对象的init()方法,初始化Servlet的信息,init()方法只会在创建后被调用一次
(3)响应请求,调用service()或者是doGet(),doPost()方法来处理请求,这些方法是运行的在多线程状态下的。
(4)在长时间没有被调用或者是服务器关闭时,会调用destroy()方法来销毁Servlet对象。


2、servlet创建时机:
(1)第一个请求到来的时候创建
(2)在web.xml中<servlet>标签下添加<load-on-startup>2</load-on-startup>,则在服务器启动的时候就创建
     标签体是正数的时候,启动服务器,即创建servlet
     并且当多个<servlet>标签都定义了这个时,数字小的先加载

3、初始化参数
可以通过<init-param>标签来配置初始化参数,可以用ServletConfig对象的
getInitParameter(String name)方法来得到参数。

<init-param>
<param-name>...</param-name>
<param-value>...</param-value>
</init-param>

三、多线程下的操作
多线程下所操作的变量,如果操作的是一个变量,且兼有读写操作,就要考虑加上同步,但同步不能乱加,否则会造成死锁问题。
init()和destroy()方法都是运行在单线程下的。

四、分布式模型
把系统部署在不同的地址空间执行
在有限的硬件条件下,服务更多的用户
在Servlet中可以访问,JDBC,RMI(远程方法调用),以及跨语言平台的组件等资源。
在Servlet中是用JDBC很容易,也就是在Servlet中调用JDBC中的方法,就可以实现对数据库的访问

五、有参和无参的init方法。
  public void init(ServletConfig config)throws ServletException
  {
        this.config = config;
        init();
  }

  public void init()throws ServletException
  {
.....;//覆盖了的无参的init()方法,会在Servlet创建,调用有参的init方法时
也会被调用。
  }
 
  先覆盖init(),有父类调init(config)
  init()方法可抛异常,初始化成功才进入service()方法中
 
 
六、war文件
扩展名为“.war”的文件放在tomcat的webapps下,当服务器启动的时候,自动把文件解压开
注意:文件名字,就是将来访问时应用的名字 
分享到:
评论

相关推荐

    JSP Servlet 学习笔记 第2版 林信良 随书光盘 共三卷

    JSP Servlet 学习笔记 第2版 林信良 随书光盘 第3卷

    Servlet学习笔记(java的Servlet)

    Servlet学习笔记(java的Servlet)。 jsp的学习基础。此笔记可让你5天内学会使用Servlet,可快速入门,也可当手册使用。 更多:http://download.csdn.net/user/daillo/all

    JSP_Servlet学习笔记(第2版).pdf

    《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet;或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 《JSP & Servlet学习笔记(第2版)》针对Servlet 3.0的...

    林学良Jsp&Servlet学习笔记

    **林学良Jsp&Servlet学习笔记**: 这份学习资料可能是对JSP和Servlet基础知识的系统性讲解,涵盖了上述概念和原理,适合初学者入门。通过阅读这份笔记,你可以了解JSP和Servlet的基本语法、生命周期、以及如何将它们...

    JSP&Servlet学习笔记.pdf

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。  本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...

    Java相关课程系列笔记之九Servlet学习笔记

    Java相关课程系列笔记之九Servlet学习笔记 Java相关课程系列笔记之十JSP学习笔记 Java相关课程系列笔记之十一Ajax学习笔记 Java相关课程系列笔记之十二jQuery学习笔记 Java相关课程系列笔记之十三Struts2学习笔记 ...

    吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案

    吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案 本资源为吉林大学珠海学院JSP&Servlet学习笔记(第二版)的课后答案,涵盖了JSP和Servlet相关的知识点。本笔记共分为九章,每章节都包含了相关的问题答案,...

    [JSP&Servlet;学习笔记(第2版)]

    **JSP(Java Server Pages)与Servlet...这个**[JSP&Servlet学习笔记(第2版)]**会涵盖这些主题,并可能包括示例代码、最佳实践和常见问题解答,帮助读者全面掌握JSP和Servlet的使用技巧,进一步提升Java Web开发能力。

    jsp&servlet学习笔记(第2版)光盘

    jsp&servlet学习笔记(第2版)光盘,买书附赠光盘,完片版本。

    JSP_Servlet学习笔记(第2版)

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP &Servlet;时遇到的概念、操作、应用或认证考试等问题及解决方案。  本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...

    [JSP&Servlet学习笔记(第2版)] 林信良

    [JSP&Servlet学习笔记(第2版)] 林信良

    Servlet学习笔记

    ### Servlet学习笔记精炼知识点 #### 一、Servlet初始化与加载机制 1. **Servlet注册与实例化**:在Web应用中,一个Servlet的生命周期始于它的注册与实例化过程。通常,这一过程是在Web服务器启动时,根据`web.xml...

    jsp/servlet个人学习笔记

    学习 JSP 和 Servlet 要注重理论与实践相结合,不仅要理解它们的工作原理,还要通过编写实际项目来提升技能。同时,不断关注新技术,如 Spring Boot 和微服务架构,这将有助于你更好地适应 Java Web 开发的未来趋势...

    JSP &amp; Servlet学习笔记(第2版)

    书 名:JSP & Servlet学习笔记(第2版) 作 者:(台湾)林信良 著 出 版 社:清华大学出版社 出版时间:2012-5-1 ISBN:9787302283669 纸书页数:456页 定 价:¥ 58.00 内容简介: 本书是作者多年来...

    JSP & Servlet学习笔记

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。, 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做...

    JSP&Servlet学习笔记(第2版)_打印版

    根据提供的文件信息,标题为“JSP&Servlet学习笔记(第2版)_打印版”,描述指出文档经过空白边裁剪处理以便于打印。虽然提供的部分内文无法直接转化为明确的知识点,但我们可以根据标题和描述推测该文档的主要内容,...

    JSP Servlet学习笔记

    JSP Servlet学习笔记,java编程相关知识

Global site tag (gtag.js) - Google Analytics