《Head First Servlets & JSP》(中文版) BB,KS & BB著, 苏钰函,林剑译,中国电力出版社

数据交互

Web浏览器和Web服务器:通过Http协议交互HTML数据。

到底什么是MIME类型

对一个Http响应:
Content-Type(内容类型)响应首部的值称为MIME类型。
MIME类型告诉浏览器要接收的数据是什么类型,这样浏览器才能知道如何显示这些数据。
MIME类型值与HTTP请求“Accept”首部中所列的值相关。如下图一个请求和一个响应首部信息:

Web服务器自己不做的两件事

  • 动态内容
    Web服务器应用只提供静态页面,需要“辅助程序”提供动态页面内容。Servlet就是这样的一个“辅助应用”。
  • 保存数据
    用户发送来数据,需要保存到一个文件或数据库中,为此需要一个应用,Web服务器只负责找到那个应用并把数据传给它。

JSP的作用

第一个Servlet程序中,HTML标签写在JAVA代码中了,并且是作为String直接量写入的,引号和其他的语法会是一种灾难。
那么,如果反过来,在HTML中写Java代码呢?——JSP,会相对好一些。更好的是,在新的JSP规范中,页面设计人员应该尽可能少地在JSP中放入Java代码甚至根本不放,而是放一些调用具体Java方法的标记——JSP语法。

附件

  • 要点
  • 第一个Servlet程序Ch1Servlet.java
  1. publicclassCh1ServletextendsHttpServlet{
  2. publicvoid doGet(HttpServletRequest request,
  3. HttpServletResponse response)throwsIOException{
  4. PrintWriterout=response.getWriter();
  5. java.util.Date today =new java.util.Date();
  6. out.println("<html>"+
  7. "<body>"+
  8. "<h1 align=center>Chapter1 Servlet</h1>"+
  9. "<br/>"+today+"</body>"+"</html>");
  10. }
  11. }

《Head First Servlets & JSP》-1-前言的更多相关文章

  1. Head First Servlets & JSP 学习笔记 第十一章 —— Web应用部署

    jar:java archive(java归档) war:web archive(web归档) war文件只是Web应用结构的一个快照,采用了一种更可移植的压缩形式(它实际上就是一个jar文件).建立 ...

  2. Head First Servlets & JSP 学习笔记 第九章 —— 使用JSTL

    JSTL1.1 不是JSP2.0规范的一部分!你能访问Servlet和JSP API 不意味着你能访问JSTL! 使用JSTL之前,需要将两个文件("jstl.jar" 和 &qu ...

  3. Head First Servlets & JSP 学习笔记 第七章 —— 作为JSP

    <%@ …… %> 这是指令 <%@ page ……import="java.util.Date" %> 这是page指令,import是page指令的一个 ...

  4. Head First Servlets & JSP 学习笔记 第五章 —— 作为Web应用

    初始化参数:(init-param) 初始化参数写在web.xml文件中:(写在<servlet>标签内部) <servlet> <servlet-name>Bee ...

  5. Head First Servlets & JSP 学习笔记 第三章 —— MVC迷你教程

    临渊羡鱼,不如退而结网!是时候动手搞事情了! 我们的四大步骤: ①分析用户的视图(也就是浏览器要显示的东西),以及高层体系结构: (这个就是所谓的前端吧?用JSP?JSP可以当成Html来用吧?高层体 ...

  6. Head First Servlets & JSP 学习笔记 第二章 —— Web应用体系结构

    Servlet没有main()方法,所以Servlet受其他人控制,这个其他人就是容器!而Tomcat就是一种容器. 容器向Servlet提供Http请求和Http响应:容器来调用Servlet的do ...

  7. 《Head First Servlets & JSP》-11-Web应用部署

    Web目录 WAR文件 WAR文件只是Web应用结构的一个快照,采用了一种更可移植的压缩形式. 建立WAR文件时,就是把整个Web应用结构(去掉Web应用上下文目录,就是把WEB-INF之上的一级目录 ...

  8. 《Head First Servlets & JSP》-9-使用JSTL

    安装JSTL1.1的说明 JSTL1.1不是JSP2.0规范的一部分,能访问servlet和JSP API并不意味着能访问JSTL. 使用JSTL之前,需要将jstl.jar文件安装到Web应用的WE ...

  9. 《Head First Servlets & JSP》-10-定制标记开发

    标记文件:很想include,但是比include更好 建立和使用标记文件的最简方法 取一个被包含文件(如Header.jsp),把它重命名为带有一个.tag扩展名(Header.tag): 把标记文 ...

随机推荐

  1. Eclipse中Maven配置操作

    1.修改为自己的maven路径 2.对应的自己的仓库设置

  2. Rebranding(字母代换)

    个人心得:题目意思就是每次给出可以互换的字母,如果每次命令的时候就执行的话一定会超时. 所以我就是将输入的字母从a到z的数目和路径依次保存,再建立一个book数组表示字母现在所指的字母 ,一开始就直接 ...

  3. FastAdmin 中的 formatter flag 分析

    FastAdmin 中的 formatter flag 分析 效果 首先看看效果,这里的文字和颜色可以根据数据改变. 这是系统自带的分类管理. 代码 功能在 \public\assets\js\bac ...

  4. [转]Cache-Control max-age=0

    Cache-Control max-age=0   Cache-Control  no-cache — 强制每次请求直接发送给源服务器,而不经过本地缓存版本的校验.这对于需要确认认证应用很有用(可以和 ...

  5. bzoj 4712 洪水——动态DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4712 因为作为动态DP练习而找到,所以就用动态DP做了,也没管那种二分的方法. 感觉理解似乎 ...

  6. bzoj 2982 combination——lucas模板

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2982 明明是lucas定理裸题…… 非常需要注意C( )里  if ( n<m ) r ...

  7. 4、运行成功的Demo(PyCharm+Selenium)

    1.打开PyCharm,新建一个python.file,输入代码“from selenium import webdriver”报错的解决方法 (1)PyCharm没有找到正确的python,在“Fi ...

  8. 使用Azure Site Recovery把VM批量搬迁到Azure

    Azure Site Recovery可以提供如下服务: Site Recovery 服务:Site Recovery 可以在站点出现故障时,让应用在其他站点继续可用,从而确保业务连续性. Site ...

  9. java代码用continue输出奇数——————————

    总结:continue用法是:在for,do-while.while循环中 并且,continue的意思是跳出循环的剩余部分,进行下一次循环.不是下一步循环 package com.b; import ...

  10. 数组可以直接转换为DataRow

    string[] cc=new string[3]{...}; Dt.Rows.Add(cc);