JSP页面执行过程-JSP笔记-4
环境 Eclipse Java EE IDE for Web Developers. Version: Neon.1a Release (4.6.1) Apache Tomcat version: 8.0.39 开始 整体过程感受: 当我们请求WEB容器中的JSP页面时,WEB容器便将被访问的页面交给JSP引擎去处理。Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。 每个JSP页面在第一次被访问时,JSP引擎先将它翻译成一个Servlet源程序,接着再把这个Servlet源程序编译成Servlet的class类文件,然后再由WEB容器像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序。 由于每台服务器的环境不同,具体的由Tomcat中的JSP引擎转译的源码地址也就不一样。在我本机的环境中,我可以通过查看控制台的相关提示,就可以快速找到与我项目中jsp文件对应的java文件和class文件。示例图如下。(当然如果你实在想了很多办法也没能找到jsp转译的相关文件位置,那就用最笨的方法,来个具体盘搜索...
JSP脚本元素指令与动作JSP笔记-5
一、JSP脚本元素:由于都是在一定的格式里起纳入Java代码,因此经常把“表达式”、Scriptlet、“声明”都称为脚本元素。 1.1、JSP表达式:JSP表达式是对数据的表示,系统将其作为一个值进行计算和显示。示例代码如下所示: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html> <head> <title>jspDemo1.jsp</title> </head> <body> <h1>JSP表达式 示例</h1> <!-- 常量,方法值,算术运算,关系运算 --> <b>PI 的值: </b><%=Math.PI %><br /> <b>100,99中最大的值 :</b><%=Math.m...
JSP使用中问题汇总
一、说明:本篇主要说明在我学习JSP的相关过程中,遇到的最凸显的一些问题,肯定附带一些IDE工具(这里主要是Eclipse)的一些问题,为了方便查询,特此记录。我自身软件环境如下: Eclipse Java EE IDE for Web Developers. Version: Neon.1a Release (4.6.1); Apache Tomcat version: 8.5.8 ###进入Servlet映射的虚拟路径的404错误问题 我发现在使用Eclipse利用servlet3.0及以上的版本写虚拟路径映射的时候,默认没有web.xml的时候(当然与这无关),在路径都书写正确的情况下始终无法进入对应的路径,Eclipse的控制台提示错误为: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Test' did not find a matching prop...
利用Servlet完成表单提交验证-JSP作业-2
一、环境 Eclipse Java EE IDE for Web Developers. Version: Neon.1a Release (4.6.1) Apache Tomcat version: 8.0.39 二、作业内容:利用三个servlet,实现表单页面的输出,表单提交的信息的验证以及验证信息后的跳转页面。 三、开始我们一共需要建立三个servlet类,他们分别是:Login.java,LoginContral.java和Welcome.java,他们的具体代码如下所示: 1.Login()类代码如下: @WebServlet("/Login")public class Login extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Login() { super(); // TODO...
初次使用Servlet-JSP笔记-1
一、环境 Eclipse Java EE IDE for Web Developers. Version: Mars.1 Release (4.5.1) Apache Tomcat version: 8.0.39 二、课堂学习目标了解servlet的虚拟路径使用方法,这里具体讲解使用Eclipse的servlet3.0之前的版本(使用servlet2.5版本)中关于WebContent/WEB-INF/web.xml的使用方法以及servlet3.0及之后的版本的虚拟路径使用方法。 三、开始3.1、测试一:利用servlet3.0之前的版本进行测试利用Eclipse新建一个Dynamin Web Project,调用安装的Apache Tomcat V8.0版本,然后选择2.5的servlet版本,该IDE会自动新建一个WebContent/WEB-INF/web.xml文件。 之后我们新建两个servlet,一个直接全部使用默认设置,另一个我们点击下一步后不使用默认自带的doPost()和doGet()方法。 新建一个index.j...
理解Servlet的init()、service()与destroy()-JSP笔记-2
环境 Eclipse Java EE IDE for Web Developers. Version: Mars.1 Release (4.5.1) Apache Tomcat version: 8.0.39 课堂学习目标实践servlet的init()、service()与destroy()方法,理解servlet生命周期的三个阶段。 开始我们还是新建一个名为Test的新工程,然后新建一个不带doGet()与doPost()方法的一个基本的servlet,然后我们依次循规蹈矩的手动覆盖重写三个方法,他们分别是init()、service()和destroy()方法,重写后截图如下: 我们在浏览器地址栏中输入进入Servlet_1的虚拟路径后,控制台下便出现了,调用init()方法的输出信息,然后调用了service()方法的输出信息,这两个方法的调用就是servlet的前两个生命周期,初始化阶段,调用init()方法;响应客户请求阶段,调用service()方法,之后每次刷新浏览器界面会发现只出现调用service()方法的输出结果,如下所示: 提示: 如果你发现你打...
Servlet API-JSP笔记-3
一、环境 Eclipse Java EE IDE for Web Developers. Version: Neon.1a Release (4.6.1) Apache Tomcat version: 8.0.39 二、总结知识点2.1、认识Servlet API:Servlet API 由两个软件包组成:Javax.servlet 包和 Javax.servlet.http 包。其中 Javax.servlet 包主要存放与 http 协议无关的一般性的 servlet 类, Javax.servlet.http 包主要存放与 http 协议相关的功能的类。(两个软件包都位于Tomcat的 servlet-api.jar 中) 2.2、本次主要说明的东西如下: Javax.servlet.http包中的接口: HttpServletRequest接口:提供http请求信息。 HttpServletResponse接口:提供http响应。 Javax.servlet包中的接口: ServletConfig接口:在初始化的过程中由Servlet容器使用。 ServletCo...
Servlet课后作业-JSP作业-1
作业要求: 编写一个Serlvet以便显示该Servlet被访问的次数。 编写一个Servlet程序,在doGet方法中显示一个Form表单,用户可以输入姓名和电子邮件地址,用户提交该表单后,doPost方法动态读出请求参数,并输出这些参数。提示:使用request对象的getParameterNames()方法。 描述Serlvet的生命周期。 实现Servlet有几种方法,每种方法都有哪些特点。 如何配置Serlvet。 开始作业 作业 1:点此查看要求 仅贴出Servlet的主体代码如下: @WebServlet("/Servlet_1")public class Servlet_1 extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Servlet_1() { super(); // TODO...
Memcached的内存分配机制
一、基本概念 Slab Class:由相同大小的Chunk组成,不同的Slab Class中的Chunk大小不同; Page:分配给单个Slab的内存大小,默认为1MB,分配给Slab之后依据Slab的大小拆分为Chunk; Chunk:将每一个Slab按照不同大小进行拆分,得到了不同大小的Chunk(每个Slab中的Chunk大小一致),Chunk的初始大小可以指定,并且可以根据不同的业务场景通过调整增长因子(factor:默认为1.25)进行调优; 二、存储过程Memcached根据收到数据的大小,选择最合适数据大小的Slab Class,根据Memcached中保存的该Slab Class中空闲的Chunk列表,将将数据存储于其中。 三、相关链接 [The Slab Allocator: An Object-Caching Kernel Memory Allocator](
GiB与GB等单位的转换问题
一、两个标准 十进制标准:由国际单位制(SI)指定; 1999年,国际电工委员会(IEC)公布了修正2:”IEC 60027-2:电工技术应用的字母符号 — 第二部分:通信和电子。”,这个标准,在1998年通过,介绍了词头”kibi-“、”mebi-“、”gibi-“、”tebi-“、”pebi-“、”exbi-“,作为二进制乘幂的计数方法。 二进制标准:由国际电工委员会(IEC)指定; 十进制标准单位换算(其中KB是kilobyte的缩写,指的是千字节) 1KB = 1000Byte1MB = 1000KB1GB = 1000MB1TB = 1000GB 二进制标准单位换算(其中KiB是kilo binary byte的缩写,指的是千位二进制字节) 1KiB = 1024Byte1MiB = 1024KiB1GiB = 1024MiB1TiB = 1024GiB 二、磁盘容量问题 硬盘制造商使用十进制标准; 电脑软件使用二进制标准; 三、大B与小b因为在网络传输的时候,我们传输的实际上是一个个二进制数,可以俗称为比特流,传输二进制数的时候不需要管这是什么字,使用...

