zoukankan      html  css  js  c++  java
  • [Java Web 王者归来]读书笔记2

    第二篇 基础篇

    第三章 深入Servlet技术

    1 浏览器的request http数据报中包含一些关键信息,如访问方式、所用的http版本、所用的浏览器、当前的页面地址等信息

    2 http查询数据方式

      - get 方式: 提交的内容是显示在浏览器的地址栏中的,并且用get方式提交的网址不可以超过256个字符

      - post 方式: 较get方式严格,不会将信息显示在地址栏中。需要提供数据类型和长度信息。数据类型分为普通文本数据(ASCII数据 application/x-www-form-urlencoded)和文件数据(二进制数据 multipart/form-data). Post方式常用于提交表单、用户资料以及上传数据。

    3 Sevlet 概述

    原理:Tomcat收到客户端发来的http request, tomcat对数据进行解析并封装成HttpServletRequest类型的request对象和HttpServletResponse类型的response对象。客户端的输入可以通过request对象获得,而通过对response对象的设置来完成对客户端的发送信息设置。根据浏览器采用的数据查询方式(get/post),server端程序在doGet()或者doPost()程序中进行response的设置即可。

    4 编写servlet

    多种方式实现,如:继承HttpServlet 类,并实现其doGet() 和doPost()方法

    5 关于Servlet配置

     web.xml

      NOTE:以下均为一个servlet的设置,包含在一个<servlet></servlet>标签中

      - <servlet-name>,<servlet-class> 分别对应了要配置的servlet 名字以及对应类

      - <init-param>标签中可以配置初始化参数,一个servlet可以配置多个初始化参数,分别在<servlet-name> <servlet-value>中设置名字和值。 servlet中使用getSevletContext().getInitParam(String paramName)来获取配置的初始化参数值

      - <load-on-startup>标签中配置servlet的加载方式,有0,1两种。若设置为1,则tomcat在启动时就加载该servlet,否则在第一次请求时加载。一般核心sevlet设置此项设置为1.

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
     3   <display-name>helloWorldServlet</display-name>
     4   <welcome-file-list>
     5     <welcome-file>index.html</welcome-file>
     6     <welcome-file>index.htm</welcome-file>
     7     <welcome-file>index.jsp</welcome-file>
     8     <welcome-file>default.html</welcome-file>
     9     <welcome-file>default.htm</welcome-file>
    10     <welcome-file>default.jsp</welcome-file>
    11   </welcome-file-list>
    12   <servlet>
    13     <description></description>
    14     <display-name>HelloWorld</display-name>
    15     <servlet-name>HelloWorld</servlet-name>
    16     <servlet-class>com.ibm.HelloWorld.HelloWorld</servlet-class>
    17     
    18     <!-- 第一个参数 -->
    19     <init-param>
    20         <param-name>helloween</param-name>
    21         <param-value>password </param-value>
    22     </init-param>
    23     <!-- 第二个参数 -->
    24     <init-param>
    25         <param-name>admin</param-name>
    26         <param-value>admin </param-value>
    27     </init-param>
    28     <!-- 第一个参数 -->
    29     <init-param>
    30         <param-name>babyface</param-name>
    31         <param-value>babyface </param-value>
    32     </init-param>    
    33   </servlet>
    34   <servlet-mapping>
    35     <servlet-name>HelloWorld</servlet-name>
    36     <url-pattern>/HelloWorld</url-pattern>
    37   </servlet-mapping>
    38 </web-app>
    View Code

      - 最后在标签<servlet-mapping>中配置servlet和url的映射关系。其中<servlet-name>为之前声明的某servlet,<url-pattern>中为对应的客户端URL。注意:在<url-pattern>中可以设置多个路径名来隐藏server端实现的语言方式

    6 可以从request对象中获得的信息包括:服务器IP、服务器名称、本地端口号、用户的语言环境、get/post方法、协议类型、客户端IP、客户端端口、远程用户、客户端session ID、用户请求的URL、浏览器类型、操作系统类型、从何页面单击链接到本页

  • 相关阅读:
    快速上手php:使用PhpStrom调试php
    快速上手php:使用PhpStrom部署项目
    使用自定义tld标签简化jsp的繁琐操作
    京东购物体验杂谈
    Mysql将近两个月的记录合并为一行显示
    学习WebSocket(二):使用Spring WebSocket做一个简单聊天室
    学习WebSocket(一):Spring WebSocket的简单使用
    springMVC的@ResponseBody、@RequestBody使用需要注意的地方
    如何使用maven建一个web3.0的项目
    项目管理工具 Redmine 安装试用手记
  • 原文地址:https://www.cnblogs.com/stephen-init/p/3564436.html
Copyright © 2011-2022 走看看