过滤器可能是最强大的Web应用开发工具了! 与Servlet非常类似,过滤器就是Java组件,请求发送到Servlet之前,可以用过滤器截获和处理请求:另外Servlet结束工作之后,但在响应发回给客户之前,可以用过滤器处理响应. 过滤器要做的事情: 请求过滤器可以: ①完成安全检查 ②重新格式化请求首部或体 ③建立请求审计或日志 响应过滤器可以: ①压缩响应流 ②追加或修改响应流 ③创建一个完全不同的响应 过滤器和Servlet相似:1.容器管理过滤器的生命周期 2.容器知道过滤器API 3.…
临渊羡鱼,不如退而结网!是时候动手搞事情了! 我们的四大步骤: ①分析用户的视图(也就是浏览器要显示的东西),以及高层体系结构: (这个就是所谓的前端吧?用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</…
MVC中的M(模型),通常就是一个普通的类,这个类里面的信息就是业务逻辑. 会话(Session) 我们可以使用一个HttpSession对象,来保存横跨多个请求的会话状态. HTTP协议使用的是无状态连接.客户浏览器与服务器建立连接,发出请求,得到响应,然后关闭连接.换句话说,连接只为一个请求/响应存在.对于Web容器而言,每一个连接都是一个新的客户. 那么Web容器怎么记住这是同一个客户,还是另外一个新客户呢?这个时候,客户就需要一个唯一的会话ID. 对于一个客户的第一个请求,容器会生成一个…
Servlet的任务是得到一个客户的请求,再发回一个响应. 请求: 容器控制着Servlet的一生,它会创建请求和响应对象.为Servlet创建一个新线程或分配一个线程,另外调用Servlet的service()方法,并传递请求和响应对象的引用作为参数. 每个客户请求都会分配一个单独的线程来处理,但是Servlet实例只有一个(对于一个JVM而言) 在一个JVM中,一个Servlet实例只有一个,因此Servlet的构造函数.init()初始化函数.destory()销毁函数都调用一次. Ser…
第十三章int指令 13.1 int指令 格式: int n, n 为中断类型码 可以用int指令调用任何一个中断的中断处理程序(简称中断例程). 13.4 BIOS和DOS 所提供的中断例程 BIOS 主要包含一下内容 硬件系统的检测和初始化 外中断和内中断的中断例程 用于对硬件设备进行I/O操作的中断例程 其他和硬件系统相关的中断例程 操作系统DOS提供的中断例程 操作系统向程序员提供的编程资源 13.5 BIOS和DOS中断例程的安装过程 开机后,CPU一通电,初始化(CS)=0FFFFH…
JSTL1.1 不是JSP2.0规范的一部分!你能访问Servlet和JSP API 不意味着你能访问JSTL! 使用JSTL之前,需要将两个文件("jstl.jar" 和 "standard.jar")放在自己Web应用的WEB-INF/lib目录中. 将Html标记以纯文本显示出来,而不是解释标记渲染页面:<c:out /> <c:out value='${pageContent.rawHTML}' escapeXml='false' />…
Servlet没有main()方法,所以Servlet受其他人控制,这个其他人就是容器!而Tomcat就是一种容器. 容器向Servlet提供Http请求和Http响应:容器来调用Servlet的doGet()方法.doPost()方法. Tomcat(容器)能做什么?1.通信支持(Servlet与WEB服务器之间的沟通桥梁) 2.生命周期管理(加载类.实例化.初始化.调用方法.销毁) 3.多线程支持 4.声明方式实现安全 5.JSP支持(把JSP翻译成Java代码) 将Servlet部署到To…