`
vipygt
  • 浏览: 35450 次
社区版块
存档分类
最新评论

Servlet笔记

 
阅读更多

1.Servlet是服务器小应用程序,用来完成B/S架构下客户端请求的响应处理,平台独立性能优良一般需要在容器中运行,容器一般选择Tomcat,Servlet API为Servlet提供了统一的编程接口。
2.Web Application的概念,必须要有WEB-INF文件夹,文件夹下要有web.xml(该web app的配置文件)、lib(该web app用到的库文件)、classed(存放编译好的servlet)和META-INF文件夹,存放该web app的context,符合J2EE标准。静态页面要放在WEB-INF外面,javax.servlet是一般的包,没有考虑到具体的协议,所以一般用具体的包。比如,继承javax.servlet.http这个子包里面的类。servlet只是一个接口,没有定义具体的类。
3.doget()方法,不是你自己写程序调用,而是Tomcat在程序需要调用的时候帮助调用的。PrintWriter自动flush,不抛异常。Tomcat的好处在于他帮助你处理Socket相关的东西,不需要你自己写Socket,而只写其他的东西。写完程序之后,没有main方法等,没法运行,所以需要部署到Tomcat里面。servlet里面有service方法,tomcat会在适当的时候帮忙调用。
4.HttpServlet类里面的两个service方法,其中一个是从接口带来的service,它会把相关的请求分发到另一个受保护的service方法,这个是添加的service方法,而且这个service则调用响应的doPost、doGet方法。理论上讲,只要重写此service方法,也可实现直接doPost、doGet方法。另:只要以/开头的都叫绝对路径,不以/开头的叫相对路径。
5.tomcat的地址栏是区分大小写的。如果配置的时候class不是一个裸体类,而是有包的话,那么在web.xml里面配置的时候就要在class里面写上包。
6.servlet的生命周期:在服务器内部,只有一个servlet的对象,加载classLoader,客户端第一次访问,实例化new,初始化init(),以多线程的方式处理请求service doGet doPost,退出服务destroy(),在reloading之后会执行destroy().以上都是tomcat帮忙完成的。init()只执行一次,第一次初始化的时候执行。关于多线程的情况是,tomcat内部会有一个线程池,提前准备很多线程,当一个客户端的请求过来之后,分配一个线程。这些线程访问的都是同一个对象。destroy方法在退出服务的时候调用。
7.为什么有两个GenericServlet有两个init(),其中一个init里面有一个this.init(),这是为防止程序员重写init方法时忘了调用super.init(),所以另外多出一个内部什么都没写的init(),从而建议程序员在重写init()的时候调用这个init().
8.解决乱码问题。set方式:response.setContentType("text/html;charset=GBK"),request.setCharacterEncoding("GBK");.get方式是:在server.xml里面80端口的那个标签加URIEncoding="GBK".如何从上一个页面取得参数?

表单代码:

<form id="form1" name="form1" method="post" action="ThreeParams">
  <table width="343" border="1">
    <tr>
      <td width="92">param1</td>
      <td width="94"><input name="param1" type="text" id="param1" />      </td>
    </tr>
    <tr>
      <td>param2</td>
      <td><label>
        <input name="param2" type="text" id="param2" />
      </label></td>
    </tr>
    <tr>
      <td>param3</td>
      <td><input name="param3" type="text" id="param3" /></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><label>
        <input type="submit" value="提交" />
      </label></td>
    </tr>
  </table>
  </form>
java代码:

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class ThreeParams extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        PrintWriter out = resp.getWriter();
        out.println(req.getParameter("param1"));
        out.println(req.getParameter("param2"));
        out.println(req.getParameter("param3"));
        out.flush();
        out.close();
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        doGet(req, resp);
    }

}
具体的过程就是从表单请求中获得表单中的三个参数,然后依次打印。另外,表单中的post方法和get方法的区别就是get方法是将数据附加在url上传递过来,所以能够传递的数据有限;而post方法是将数据按照块的方式传递过来。

分享到:
评论

相关推荐

    韩顺平 2011细说Servlet笔记

    韩顺平老师的“2011细说Servlet笔记”是针对这一主题的深入讲解,旨在提供全面且实用的学习资料。在本篇中,我们将深入探讨Servlet的相关知识点,包括其原理、配置、生命周期以及与HTTP协议的交互。 1. **Servlet...

    韩顺平servlet笔记.rar下载

    韩顺平老师的Servlet笔记是对这一技术的深入讲解,旨在帮助学习者掌握Servlet的使用和概念。以下是对Servlet技术的详细说明: 1. **Servlet简介**:Servlet是Java Servlet API的实现,它提供了一种标准的方式来扩展...

    B站韩顺平2011最细servlet笔记全

    "B站韩顺平2011最细servlet笔记全"是韩顺平老师在2011年发布的关于Servlet的详细学习资料,涵盖了Servlet的基础到高级应用,是学习Servlet的宝贵资源。 Servlet主要知识点包括: 1. **Servlet基础**:了解Servlet...

    servlet 笔记

    ### Servlet基础知识及应用详解 #### 一、Servlet概述 Servlet是一种服务器端的Java技术,用于扩展应用程序的功能。它主要用于Web应用程序开发,可以处理客户端发送到Web服务器的各种请求,并且能够生成动态网页。...

    韩顺平servlet笔记

    【标题】:“韩顺平servlet笔记”是一个关于Servlet编程技术的学习资料,主要由知名IT讲师韩顺平讲解。这个笔记涵盖了Tomcat服务器的配置、Cookie和Session的使用,是针对初学者和进阶者的一份实用教程。 【描述】...

    servlet笔记

    servlet笔记,用于从前端jsp传递数据到服务器,还有一些需要注意的要点,新手可以看看

    老杜Servlet笔记.zip

    哔哩哔哩上老杜的Servlet笔记。 2020-5-05 Servlet学习 Tomcat 服务器配置 2020-5-08 UML 2020-5-08 Servlet学习 2020-5-09 Servlet学习 2020-5-10 Servlet学习 2020-5-11 Servlet学习---Cookie 2020-5-11 Servlet中...

    韩顺平servlet笔记(必看完整版)

    【Servlet笔记概述】 Servlet是Java EE(现在称为Java EE或Jakarta EE)中的一种核心技术,用于构建动态Web应用程序。在Java Web开发中,Servlet扮演着处理HTTP请求和响应的核心角色。本笔记将深入探讨Servlet的...

    韩顺平细说servlet笔记

    【Servlet技术详解】 Servlet是Java Web开发中的核心组件,它是一种服务器端的Java应用程序,用于扩展服务器的功能,处理HTTP请求并生成HTTP响应。在Java EE(Enterprise Edition)框架下,Servlet扮演着重要的角色...

    韩顺平 细说servlet 笔记 完整版

    Servlet是Java EE(现在称为Jakarta EE)平台的一部分,它提供了一种服务器端编程模型,使得开发者能够创建动态、交互式的Web应用程序。在B/S(Browser/Server,浏览器/服务器)架构中,Servlet作为服务器端的程序,...

    jsp&servlet笔记

    jsp&servlet笔记jsp&servlet笔记jsp&servlet笔记

    韩顺平servlet笔记(必看完整版).doc

    java-&gt;servlet-&gt;jsp [技术总是有一个演变过程],文档主要是韩顺平的servlet的视频教学笔记,笔记比较齐全,有需要的朋友可以下载.

    黑马程序员servlet笔记代码

    《黑马程序员servlet笔记代码》全面解析了Java Web开发中的核心组件——Servlet,以及与之相关的HTTP协议基础知识。本文将深入探讨这些知识点,帮助开发者更好地理解和应用Servlet技术。 首先,我们要理解HTTP(超...

    韩顺平2011细说servlet笔记1

    标题和描述均提到了“韩顺平2011细说servlet笔记1”,这表明文档主要关注于Servlet技术的介绍和应用,特别是在Java Web开发领域。以下是对文档中提及的关键知识点的详细解析: ### J2EE技术演进 文档首先提到了...

Global site tag (gtag.js) - Google Analytics