Servlets & JSP 学习笔记001

《Head First Servlets & JSP》的学习笔记


 第一章 为什么使用Servlet&JSP:前言与概述

  • HTTP代表超文本传输协议(HyperTexe Transfer Protocol), 这是Web上使用的网络协议。HTTP运行在TCP/IP之上。
  • HTTP使用一种请求/响应模型,客户做出一个HTTP请求,Web服务器返回一个HTTP响应,再由浏览器(根据响应的内容类型)确定如何进行处理。
  • 如果来自服务器的响应是一个HTML页面,就会把HTML增加到HTTP响应中。
  • HTTP请求包括请求URL(客户想要访问的资源)、HTTP方法(GET、POST等),以及(可选)表单参数数据(也称为“查询串”)。
  • HTTP响应包括一个状态码、内容类型(也成为MIME类型),以及响应的实际内容(HTML、图像等)。
  • GET请求会把表单数据追加到UTL的最后。
  • POST请求将表单数据包括在请求的体中。
  • MIME类型告诉浏览器要接受哪一类数据,以便浏览器知道如何加以处理(呈现HTML、显示图片、播放音乐等)。
  • UTL代表同一资源定位符(Uniform Resource Locator)。Web上的每一个资源都有自己的唯一地址,都采用这种URL格式。首先是一个协议,然后是服务器名以及一个可选的端口号,再后面通常是一个特定的路径和资源名。如果URL对应一个GET请求,那么他还可能包含一个可选的查询串。
  • Web服务器擅长提供静态HTML页面,但是如果需要页面中有动态创建的数据(如当前时间),就需要某种辅助应用与服务器协作。如果不用Java术语来说,这些辅助应用(大多用Perl编写)通常称为CGI,这代表公共网关接口(Common Gateway Interface)。
  • 把HTML放在println()语句中的做法很糟糕,也很容易出错,不过JSP可以解决这个问题,它允许把Java放在HTML页面中,而不是把HTML放在Java代码中。

 


请求和响应的理解:

 GET和POST的区别:

请求是POST

响应是GET

URL:

 

额外参数:   ?username=zuosy&password=23333333333

Servlet揭秘(编写、部署运行):

用IDE就不会那么麻烦了,我用的Eclipse

首先建一个project

如果项目里面没有web.xml文件就这样做

eg:project1项目右击->Java EE Tools->Generate Deployment....

就会在WEB-BIF下面有一个web.xml文件

新建一个Ch1Servlet.java     直接新建Servlet就行。

内容大致如下:

 

 1 import javax.servlet.*;
 2 import javax.servlet.http.*;
 3 import java.io.*;
 4 
 5 public class Ch1Servlet extends HttpServlet {
 6 
 7     public void doGet(HttpServletRequest reque, HttpServletResponse response) 
 8             throws IOException {
 9         PrintWriter out = response.getWriter();
10         java.util.Date today = new java.util.Date();
11         out.println("<html>" +
12                 "<body>" + 
13                 "<h1 align=center>HF\'s Chapter1 Servlet</h1>" +
14                 "<br>" + today + "</body>" + "</html>");
15 
16     }
17 }

 

然后再步数描述文件

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 3          xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
 4          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
 5          http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
 6          version="3.1">
 7 
 8     <servlet>
 9         <servlet-name>Chapter1 Servlet</servlet-name>
10         <servlet-class>project1.Ch1Servlet</servlet-class>
11     </servlet>
12     
13     <servlet-mapping>
14         <servlet-name>Chapter1 Servlet</servlet-name>
15         <url-pattern>/Serv1</url-pattern>
16     </servlet-mapping>
17 
18 </web-app>

 

xml文件讲解传送门: web.xml文件详解

 重点:

--每个Web应用有一个部署描述文件。

--一个部署描述文件可以声明多个servlet。

--<servlet-name> 把 <servlet> 元素与相应的 <servlet-mapping>元素绑定。

--<servlet-class>是Java类。(完整的路径)

--<url-pattern>是客户所用的请求名。(就是浏览器上输入的那个)

 

运行项目之后:

 

 注意:

String直接量里没有回车(真正的回车)。所以用pringln写HTML是很愚蠢的事情。

所以就有了JSP。Servlet是把HTML代码放到Java中;JSP是把Java代码放到HTML中。

JSP页面里面基本不方Java代码,会有一些JSP的语法。

 

先写到这里,如果有其他的想起来了我再改。

 

posted @ 2017-09-30 10:56  御坂美琴2604  阅读(265)  评论(0)    收藏  举报