<%@ …… %> 这是指令 <%@ page ……import="java.util.Date" %> 这是page指令,import是page指令的一个属性 <% …… %> 这是Scriptlet,里面是纯Java代码,需要分号结尾 <% = …… %> 这是表达式,表达式不用分号结尾:绝对不能把一个返回类型为void的方法用作表达式 JSP经过Web容器的转换,生成了Servlet: JSP中的Scriptlet和表达式的内容都会…
JVM学习笔记-第七章-虚拟机类加载机制 7.1 概述 Java虚拟机描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称为虚拟机的类加载机制. 两个约定: 后文直接对"类型"的描述都同时蕴含着类和接口的可能性 本章所提到的"Class文件"也并非特指某个存在于具体磁盘中的文件,而应当是一串二进制字节流. 7.2 类加载的时机 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整…
2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔记本或其他普通文本处理软件进行编辑,通常也无法被人类直接阅读和理解,需要使用专门的软件进行解码后读取,显示,修改或执行.常见的如图形图像文件,音视频文件,可执行文件,资源文件,各种数据库,Office文件都属于二进制文件 文件对象 通过open()函数即可以指定模式打开指定文件并创建文件对象 文件对…
一.语法 1.脚本程序的语法格式: 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. <% 代码片段 %> 2.中文编码问题 如果我们要在页面正常显示中文,我们需要在 JSP 文件头部添加以下代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!D…
第七章:路径 所有描述轮廓的数据都放在<path>元素的d属性中(d是data的缩写).路径数据包括单个字符的命令,比如M表示moveto,L表示lineto.接着是该命令的坐标信息. 7.1moveto.lineto.closepath 每个路径都必须以moveto命令开始. 命令字母为大写的M,紧跟着一个使用逗号或空格分隔的x和y坐标.这个命令用来设置绘制轮廓的“笔”的当前位置. moveto命令后面紧跟着一个或多个lineto命令,用大写字母L表示,它的后面也是由逗号或者空格分隔的x和y…
临渊羡鱼,不如退而结网!是时候动手搞事情了! 我们的四大步骤: ①分析用户的视图(也就是浏览器要显示的东西),以及高层体系结构: (这个就是所谓的前端吧?用JSP?JSP可以当成Html来用吧?高层体系结构,这个没听过) ②创建用于开发这个项目的开发环境: (这个说简单也简单,说难也难啊!不少好汉被这个难住了) ③创建用于部署这个项目的部署环境: (同②) ④对Web应用的各个组件完成迭代式的开发和测试. (好高深...好学术...迭代式?) 我们的Web应用是一个啤酒顾问(Beer Advis…
jar:java archive(java归档) war:web archive(web归档) war文件只是Web应用结构的一个快照,采用了一种更可移植的压缩形式(它实际上就是一个jar文件).建立war文件,就是把整个Web应用结构压缩起来(不要Web应用名目录,即从WEB-INF那一级开始压缩). 在Tomcat容器中,war文件的文件名会成为Web应用的名字. 在web.xml中配置欢迎文件: <web-app> <welcome-file-list> <welcom…
初始化参数:(init-param) 初始化参数写在web.xml文件中:(写在<servlet>标签内部) <servlet> <servlet-name>BeerAdvisorServlet</servlet-name> <servlet-class>com.example.web.BeerServlet</servlet-class> <init-param> <param-name>Email</…
过滤器可能是最强大的Web应用开发工具了! 与Servlet非常类似,过滤器就是Java组件,请求发送到Servlet之前,可以用过滤器截获和处理请求:另外Servlet结束工作之后,但在响应发回给客户之前,可以用过滤器处理响应. 过滤器要做的事情: 请求过滤器可以: ①完成安全检查 ②重新格式化请求首部或体 ③建立请求审计或日志 响应过滤器可以: ①压缩响应流 ②追加或修改响应流 ③创建一个完全不同的响应 过滤器和Servlet相似:1.容器管理过滤器的生命周期 2.容器知道过滤器API 3.…
MVC中的M(模型),通常就是一个普通的类,这个类里面的信息就是业务逻辑. 会话(Session) 我们可以使用一个HttpSession对象,来保存横跨多个请求的会话状态. HTTP协议使用的是无状态连接.客户浏览器与服务器建立连接,发出请求,得到响应,然后关闭连接.换句话说,连接只为一个请求/响应存在.对于Web容器而言,每一个连接都是一个新的客户. 那么Web容器怎么记住这是同一个客户,还是另外一个新客户呢?这个时候,客户就需要一个唯一的会话ID. 对于一个客户的第一个请求,容器会生成一个…