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的语法。
先写到这里,如果有其他的想起来了我再改。

あなたの指先で跃动する电光は、私の一生変わらない信仰である。

浙公网安备 33010602011771号