什么是标准标签? 标准标签有什么作用? 简明扼要的来说, 标准标签就是一些以”jsp:”作为前置的标签, 主要作用是为了减少JSP中的Java代码. 1. <jsp:include> <jsp:forward>标签 <jsp:include> 在前面曾经提到过include指示元素, 可以在JSP转译的时候将其他的JSP页面包括合并进来一起转译, 但是这样include进来的JSP页面是静态的, 我们无法给包括进来的JSP页面传递参数或对它进行动态调整, 只是将多个JSP页面合并成一个JSP页面再进行转译, 结果也只会生成一个Servlet. 但是使用标准标签<jsp:include>可以在运行时动态地将其他的JSP页面包括进来, 并传递参数等. 被包含的JSP页面也会自己独立生成一个Servlet类. <jsp:include>在使用过程中实质上发生了什么呢? 前面在Servlet里面提到过请求的包含(include())与转发(forward()), 其实, 在JSP转 继续阅读 >>


祝一迪 17/06/20 11:11:22
前面总结完了Servlet相关的基础知识, 现在来学习总结一下JSP. 1. JSP简介 JSP全称Java Server Pages, 是一种动态网页开发技术. JSP与Servlet是一体两面的, 因为JSP网页最终会被容器转译为Servlet源代码, 然后自动编译为.class文件, 再载入.class文件, 最后生成Servlet对象. 下面我们以一个Hello World的例子, 来分析以下JSP和Servlet的关系, 以及JSP的生命周期. 例: 用JSP输出Hello Word, 并分析转译的Servlet代码. JSP代码如下: <html> <head> <title>Hello JSP</title> </head> <boay> <h1>Hello World!</h1> </body> </html> 这就是最简单地JSP的一 继续阅读 >>


祝一迪 17/06/12 22:55:19
过滤器是什么? 抽象点来说, 就是介于Servlet之间的独立的元件, 可以随时加入到应用程序之中, 也可以随时移除. 具体点来说, 比如针对某些特定的页面, 只有特定的用户才能浏览, 这个时候我们就希望能把所有登录的用户进行过滤, 只给一些用户访问的权限, 这就可以在Servlet之前实现一个用户验证的过滤器. 过滤器通常搭配封装器来使用. 关于封装器可分为请求封装器和响应封装器, 具体概念及用法将在下面介绍. 1. 实现与设置过滤器 在Servlet中要实现过滤器, 必须要实现Filter接口, 并使用@WebFilter标注或在web.xml中定义过滤器, 让容器知道应该加载哪些过滤器类. Filter接口有三个需要实现的方法:init(), doFilter(), destroy(), Filter接口的代码如下: public interface Filter{ public void init(FilterConfig filterConfig) throws ServletException; //Filt 继续阅读 >>


祝一迪 17/06/07 21:29:11
今天康康问了我一个问题, 问我在Java中有没有像C里面stdio.h, C++里面iostream这样的标准类库, 当然是有的, Java里面的标准类都被封装在一个个包里面, 今天就来简要概括一下Java里面常用的包. 问: Java里面有没有不用improt导入就能使用的包? 还真有一个包, 不用导入就能使用里面的类和方法. 比如在main()函数里面只写一句System.out.println(“hello world!”);就不用导入任何包吧, System类就属于这个java.lang包. 那么这个包还有哪些东西呢? 那就从java.lang包开始了解吧! java.lang包 java.lang是唯一一个不需要自己手动improt导入的包, 它由JVM默认寻找并导入. java.lang提供利用 Java 编程语言进行程序设计的基础类。最重要的类是 Object(它是类层次结构的根)和 Class(它的实例表示正在运行的应用程序中的类). java.lang是Java里面最常用的包, 它主要包含以下内容. 1. 基本数据类型的 继续阅读 >>


祝一迪 17/06/06 20:52:20
Web容器管理Servlet/JSP相关的对象生命周期, 若对HttpSession对象/ServletContext对象在生成, 销毁或相关属性设置(或改变)发生的时机感兴趣, 则可以实现对应的监听器(Listener). 1. ServletContext事件 监听器 与ServletContext事件相关的监听器有: 生命周期监听器: ServletContextListener 属性改变监听器: ServletContextAttributeListener (1) ServletContextListener 1> ServletContextListener概述: ServletContexListener接口是继承于EventListener接口, 主要用于知道Web应用程序何时已经初始化或即将结束销毁. 其中实现了contextInitialized()方法和contextDestroyed()方法, 分别在应用程序初始化后或即将结束前调用这两个方法.ServletContextListener接口的实现代 继续阅读 >>


祝一迪 17/06/03 15:16:59
今天上课学到了C++的浅层拷贝与深层拷贝, 于是在这里将C++和Java关于浅层拷贝与深层拷贝做一个对比. 一.C++的浅层拷贝与深层拷贝 先来了解一下C++中的复制构造函数: //假设有这样一个TEST类: class TEST { private: int *num; public: TEST(int n) { num = new int; *num = n; } void change(int anothernum) { *num = anothernum; } void print() { cout << *num << endl; } }; 在上述TEST类中并没有显式定义TEST类的复制构造函数, 那么其默认的复制构造函数应为: TES 继续阅读 >>


祝一迪 17/05/24 23:07:26
一.关于Servlet的一些基本概念 -每个Servlet都必须由Web容器读取Servlet设置信息(标注或web.xml),初始化等,才能成为一个真正的Servlet. 1.ServletConfig:每个Servlet设置的代表对象.对于每个Servlet的设置信息,Web容器都会为其生成一个ServletConfig作为代表对象. 2.ServletContext:代表整个Web应用程序的对象. (1)Servlet接口上定义的与生命周期及请求服务相关的三个方法 1>init():对Servlet的一些初始化工作; 2>service():调用Servlet实例的service()方法进行服务; 3>destory():对Servlet的一些善后工作. (2)Servlet的生命周期 1>Web容器启动后,读入Servlet设置信息,产生一个ServletConfig对象,并作为参数传入init(); 2>初始化完成后,请求来临,产生HttpRequest对象和HttpResponse对象,并传入ser 继续阅读 >>


祝一迪 17/05/24 17:29:40
今天遇到一个问题,需要输入命令行参数,然后就发现不知道IDEA应该在哪里输入命令行参数. 方法一: 在上方工具栏点击Run选项,然后会出来一个小框,点击Edit选项,在Program arguments栏输入你要输入的命令行参数,点击Run就可以啦! 方法二: 快捷键实现以上操作: ALT + SHIFT + F10,右,Edit,回车键,Tab键,输入命​​令行参数,回车。 作者:dela_ 发表于2017/5/23 21:54:05 原文链接 阅读:2 评论:0 查看评论 继续阅读 >>


祝一迪 17/05/23 21:54:05
很久都没有写博客(没脸见人.jpg),但是并不代表没有在学习,所以从今天开始决心好好写博客!!! 那就先看看IDEA下如何新建一个Web Project并配置tomcat: 1.新建一个工程 新建一个工程,并选中Web Application选项 2.准备tomcat Google tomcat,然后在tomcat官网下载合适的tomcat包 3.在project中添加所需要的tomcat中的servlet api和jsp api的jar包 点击右上角的图标,进行project的设置 点击Library选项,再点击Java选项 在刚才准备好的tomcat包中的lib目录中,选择添加jsp-api.jar和servlet-api.jar 4.配置tomcat 点击下图所示的图标,选中Edit选项,进行tomcat配置 点击+号,在选项中添加Tomcat Server的local 添加之后发现下方有一个Warning,点击右边的fix解决Warning,然后点OK就好啦! 继续阅读 >>


祝一迪 17/05/21 22:40:28
中断 中断指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。 硬件中断 硬件中断是一个异步信号, 表明需要注意, 或需要改变在执行一个同步事件. 硬件中断是由与系统相连的外设(比如网卡 硬盘 键盘等)自动产生的. 每个设备或设备集都有他自己的IRQ(中断请求), 基于IRQ, CPU可以将相应的请求分发到相应的硬件驱动上(注: 硬件驱动通常是内核中的一个子程序, 而不是一个独立的进程). 比如当网卡受到一个数据包的时候, 就会发出一个中断. 处理中断的驱动是需要运行在CPU上的, 因此, 当中断产生时, CPU会暂时停止当前程序的程序转而执行中断请求. 一个中断只能中断一颗CPU(也有一种特殊情况, 就是在大型主机上是有硬件通道的, 它可以在没有主CPU的支持下, 同时处理多个中断). 硬件中断可以直接中断CPU. 它会引起内核中相关代码被触发. 对于那些需要花费时间去处理的进程, 中断 继续阅读 >>


祝一迪 16/10/07 19:40:05