MVC中的M(模型),通常就是一个普通的类,这个类里面的信息就是业务逻辑. 会话(Session) 我们可以使用一个HttpSession对象,来保存横跨多个请求的会话状态. HTTP协议使用的是无状态连接.客户浏览器与服务器建立连接,发出请求,得到响应,然后关闭连接.换句话说,连接只为一个请求/响应存在.对于Web容器而言,每一个连接都是一个新的客户. 那么Web容器怎么记住这是同一个客户,还是另外一个新客户呢?这个时候,客户就需要一个唯一的会话ID. 对于一个客户的第一个请求,容器会生成一个…
临渊羡鱼,不如退而结网!是时候动手搞事情了! 我们的四大步骤: ①分析用户的视图(也就是浏览器要显示的东西),以及高层体系结构: (这个就是所谓的前端吧?用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…
<%@ …… %> 这是指令 <%@ page ……import="java.util.Date" %> 这是page指令,import是page指令的一个属性 <% …… %> 这是Scriptlet,里面是纯Java代码,需要分号结尾 <% = …… %> 这是表达式,表达式不用分号结尾:绝对不能把一个返回类型为void的方法用作表达式 JSP经过Web容器的转换,生成了Servlet: JSP中的Scriptlet和表达式的内容都会…
初始化参数:(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.…
Servlet的任务是得到一个客户的请求,再发回一个响应. 请求: 容器控制着Servlet的一生,它会创建请求和响应对象.为Servlet创建一个新线程或分配一个线程,另外调用Servlet的service()方法,并传递请求和响应对象的引用作为参数. 每个客户请求都会分配一个单独的线程来处理,但是Servlet实例只有一个(对于一个JVM而言) 在一个JVM中,一个Servlet实例只有一个,因此Servlet的构造函数.init()初始化函数.destory()销毁函数都调用一次. Ser…
JVM学习笔记-第六章-类文件结构 6.3 Class类文件的结构 本章中,笔者只是通俗地将任意一个有效的类或接口锁应当满足的格式称为"Class文件格式",实际上它完全不需要以磁盘的形式存在. Class文件是一组以8个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全都是程序运行的必要数据.当遇到需要占用8个字节以上空间的数据项时,则会按照高位在前的方式分割成若干个8个字节进行存储.Class文…
记录自己学习C Primer Plus的学习笔记 第一章 C语言高效在于C语言通常是汇编语言才具有的微调控能力设计的一系列内部指令 C不是面向对象编程 编译器把源代码转化成中间代码,链接器把中间代码和其他代码合并,生成可执行文件 第二章 main函数总是第一个被调用的函数 include预处理器指令 声明,所有变量都必须先声明才能使用,最初的规则规则变量声明需在块的顶部 C语言通过赋值运算符而不是赋值语句来完成赋值操作,听起来很别扭,赋值语句其实就是赋值表达式+分号 第三章 由于现在16位机已经…
第六章-档案权限与目录配置#chgrp:改变档案的所属群组#chown:改变档案的拥有者#chmod:改变档案的权限及属性 chown用法 chmod用法: r:4 w:2 x:1对于文档: 对于目录:…