当前位置:文档之家› web系统与技术--实验十一

web系统与技术--实验十一

web系统与技术--实验十一
web系统与技术--实验十一

实验十一Servlet过滤器的使用

班级:网络112 姓名:蒋丽学号:201106090202

一、实验目的

1. 了解过滤器的作用;

2. 掌握过滤器的开发与部署的步骤;

3. 了解过滤器链。

二、实验原理

过滤器是web服务器上的组件,它们对客户和资源之间的请求和响应进行过滤。

过滤器的工作原理是:当servlet容器接收到对某个资源的请求,它要检查是否有过滤器与之关联。如果有过滤器与该资源关联,servlet容器将把该请求发送给过滤器。在过滤器处理完请求后,它将做下面3件事:

?产生响应并将其返回给客户;

?如果有过滤器链,它将把(修改过或没有修改过)请求传递给下一个过滤器;

?将请求传递给不同的资源。

当请求返回到客户时,它是以相反的方向经过同一组过滤器返回。过滤器链中的每个过滤器可能修改响应。

过滤器API主要包括:Filter、FilterConfig和FilterChain接口。

三、实验内容与步骤

(一)在实验十一创建的chap11项目下,编写一个过滤器AuditFilter,审计用户对资源的访问。

【步骤1】该过滤器实现的功能是,当用户访问应用程序任何资源时,将用户的IP地址和主机名写入日志文件中,过滤器代码如下:

package filter;

import java.io.IOException;

import javax.servlet.*;

import javax.servlet.http.*;

public class AuditFilter implements Filter {

protected FilterConfig config;

public void init(FilterConfig filterConfig)

throws ServletException {

this.config = filterConfig;

}

public void doFilter(ServletRequest request,

ServletResponse response,FilterChain chain)

throws IOException, ServletException {

HttpServletRequest req = (HttpServletRequest)request;

HttpServletResponse res = (HttpServletResponse)response;

String addr = req.getRemoteAddr();

String user = req.getRemoteHost();

config.getServletContext().log("RemoteAddress:"+addr+

",RemoteHost:"+user);

chain.doFilter(req, res);

}

public void destroy() {

}

}

【步骤2】配置过滤器。在部署描述文件web.xml中配置过滤器:

AuditFilter

filter. AuditFilter

AuditFilter

/*

上述代码中过滤器映射使用的URL模式为/*,这表示将该过滤器映射到Web应用程序的任何资源。如果只对某些资源(如JSP页面审计,则可以指定具体的资源)。

【步骤3】访问该应用程序中的任何一个资源,如使用下面的URL访问onlineCount.jsp:http://localhost:8080/ chap11/onlineCount.jsp

然后打开\logs目录中的localhost.2012-05-15.log文件中有下面一行(访问多个资源就会有多行):

信息: RemoteAddress:127.0.0.1,RemoteHost:127.0.0.1

(二)编写一个过滤器改变请求编码。

【步骤1】编写一个loginform.html文件,代码如下:

使用过滤器改变请求编码

请输入用户名和口令:

用户名:
口令:

【步骤2】编写处理请求参数的Servlet,代码如下:

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class CheckParamServlet extends HttpServlet{

public void doGet(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException {

String name = request.getParameter("name");

String pass = request.getParameter("pass");

response.setContentType("text/html;charset=gb2312");

PrintWriter out = response.getWriter();

out.println("Param Test");

out.println("

你的用户名为:"+name+"

");

out.println("

你的口令为:"+pass+"

");

out.println("");

}

public void doPost(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException {

doGet(request,response);

}

}

【步骤3】修改web.xml文件,加入下面代码:

CheckParamServlet

CheckParamServlet

CheckParamServlet

/servlet/check

【步骤4】在浏览器的地址栏中输入下面URL:

http://localhost:8080/ helloapp/loginform.html

输入用户名和口令,如下图所示:

图14.1 loginform.html页面的运行结果

然后点击“提交”按钮,经CheckParamServlet处理后返回的结果如下图所示::

图14.2 CheckParamServlet 程序的运行结果

从这里我们可以看到,从服务器返回的汉字成了乱码。原因是没有指定request的编码。

【步骤5】编写一个过滤器EncodingFilter.java,根据下面的过滤器初始化参数改变请求编码。

【步骤6】在web.xml文件中配置过滤器,加入下面代码:

EncodingFilter

filter.EncodingFilter

encoding

gb2312

EncodingFilter

/*

【步骤7】重复第(4)步操作,结果如下:

图14.3 EncodingFilter 程序的运行结果

四、思考题

1. 试简述过滤器有哪些功能?

过滤器对客户和资源之间的请求和响应进行过滤。请求经过一个过滤器到达servlet,servlet产生响应再经过过滤器到达客户,这就在请求和响应到达目的地之前对它们进行监视。过滤器的存在对servlet和客户都是透明的。

2. 如何理解过滤器链。

客户与资源之间建立多个过滤器,从而形成过滤器链。在过滤器链中每个过滤器都是请求处理,然后将请求交给链中的下一个过滤器(如果它是链中的最后一个,将交给实际的资

源。)类似的,在响应到达客户之前,每个过滤器以相反的顺序对响应处理。

操作系统实验报告一

重庆大学 学生实验报告 实验课程名称操作系统原理 开课实验室DS1501 学院软件学院年级2013专业班软件工程2 班学生姓名胡其友学号20131802 开课时间2015至2016学年第一学期 总成绩 教师签名洪明坚 软件学院制

《操作系统原理》实验报告 开课实验室:年月日学院软件学院年级、专业、班2013级软件工 程2班 姓名胡其友成绩 课程名称操作系统原理 实验项目 名称 指导教师洪明坚 教师 评语教师签名:洪明坚年月日 1.实验目的: ?进入实验环境 –双击expenv/setvars.bat ?检出(checkout)EPOS的源代码 –svn checkout https://www.doczj.com/doc/c515427701.html,/svn/epos ?编译及运行 –cd epos/app –make run ?清除所有的临时文件 –make clean ?调试 –make debug ?在“Bochs Enhanced Debugger”中,输入“quit”退出调试 –调试指令,请看附录A 2.实验内容: ?编写系统调用“time_t time(time_t *loc)” –功能描述 ?返回从格林尼治时间1970年1月1日午夜起所经过的秒数。如果指针loc 非NULL,则返回值也被填到loc所指向的内存位置 –数据类型time_t其实就是long ?typedef long time_t; 3.实验步骤: ?Kernel space –K1、在machdep.c中,编写系统调用的实现函数“time_t sys_time()”,计算用户秒数。需要用到 ?变量g_startup_time,它记录了EPOS启动时,距离格林尼治时间1970年1午夜的秒数 ?变量g_timer_ticks

WEB开发技术实验报告

实验一JSP开发环境构建 实验目的:了解动态页面技术及B/S系统 掌握开发环境的构建 理解Eclipse开发WEB应用 实验内容: 实训项目一:安装JDK并配置环境变量 请阐述配置环境变量的方法: 实训项目二:安装TOMCAT并配置Server.xml修改端口号为8090 问题一:如何测试TOMCAT是否已经成功启动? 问题二:在浏览器地址栏输入什么地址可以访问到TOMCA T的测试页? 请阐述配置Server.xml修改端口号为8090基本实验步骤: 实训项目三:应用Eclipse建立项目并浏览一个JSP页面 请阐述应用Eclipse建立项目并浏览一个JSP页面基本实验步骤: 实验心得:(遇到了哪些问题,如何解决的,有那些体会) 实验二JSP语法 实验目的:了解JSP程序的组成元素 掌握JSP中使用JA V A程序片段的方法 实验内容: 实训项目一:编写一个JSP页面输出26个小写英文字母表 实训项目二:编写页面实现九九乘法表 实训项目三:利用成员变量被所有客户共享这一性质,实现一个简单的计数器 实训项目四:使用JA V A表达式输出系统当前时间 实训项目五:编写程序shijian2_9.jsp和computer.jsp两个页面,在第一个页面中使用include动作标记动态包含文件computer.jsp,并向它传递一个矩形的长和宽,computer.jsp 收到参数后,计算矩形的面积,并显示结果。 实训项目六:编写3个JSP页面:main.jsp,first.jsp和second.jsp,将3个JSP文件保存在同一个WEB工程中,main.jsp使用include动作标记加载first.jsp和second.jsp页面。First.jsp 页面可以画一张表格,second.jsp页面可以计算两个正整数的最大公约数。当first.jsp被加载时,获取main.jsp页面include动作标记的param子标记提供的表格行数和列数,当second.jsp 被加载时,获取main.jsp页面include动作标记的param子标记提供的两个正整数的值。 要求:上机编程完成上述实训项目,上机演示给教师检查,从中挑选三个程序的核心代码写在实训报告上 实验核心代码:

操作系统实验题目2

实验报告撰写要求实验报告要求具有以下内容: 一、实验目的 二、实验内容 三、实验要求 四、算法流程图 五、给出测试数据及运行结果 六、实验体会或对改进实验的建议

实验1 进程调度(2学时) 一、实验目的 通过实验加强对进程调度算法的理解和掌握。 二、实验内容 编写程序实现基于优先级的时间片轮转调度算法。 三、实验要求 1、假定系统有5个进程,每个进程用一个进程控制块PCB来代表,进程控制块的结构如下图1.1所示: 图1.1 其中: 进程名:作为进程的标识,假设五个进程的进程名分别为p1,p2,p3,

p4,p5。 指针:进程按顺序排成循环链表,用指针指出下一个进程的进程控制块首地址,最后一个进程中的指针指出第一个进程的进程控制块首地址。 要求运行时间:假设进程需要运行的单位时间数。 已运行时间:假设进程已经运行的单位时间数,初值为0。 状态:可假设有两种状态,就绪状态和结束状态。进程的初始状态都为就绪状态。 2、每次运行所设计的处理器调度程序调度进程之前,为每个进程随机确定它的要求运行时间。 3、此程序是模拟处理器调度,因此,被选中的进程并不实际启动运行,而是执行 已运行时间+1 来模拟进程的一次运行,表示进程已经运行过一个单位时间。 4、在所设计的程序中应有显示语句,能显示每次被选中的进程名以及运行一次后进程队列的变化。

实验2 银行家算法(2学时) 一、实验目的 理解银行家算法,掌握进程安全性检查的方法及资源分配的方法。 二、实验内容 编写程序实现银行家算法,并验证程序的正确性。 三、实验要求 编制模拟银行家算法的程序,并以下面给出的例子验证所编写的程序的正确性。 例子:某系统有A、B、C、D 4类资源共5个进程(P0、P1、P2、P3、P4)共享,各进程对资源的需求和分配情况如下表所示。 现在系统中A、B、C、D 4类资源分别还剩1、5、2、0个,请按

操作系统实验报告-实验二

操作系统实验报告——实验二:C编程环境 实验目的 1.熟悉Linux下C程序设计的环境; 2.对系统调用有初步了解。 实验内容 1.Linux下C语言程序的开发过程 a、在用户主目录下用vi编辑C语言源程序(源程序已附后),如:$vi hello.c。 b、用gcc编译C语言源程序:$gcc ./hello.c -o example 这里gcc是Linux下的C语言程序编译器(GNU C Compiler),./hello.c表示待编译的源文件是当前工作目录下的hello.c,-o example表示编译后产生的目标代码文件名为example。 c、若编译不正确,则进入vi修改源程序,否则,运行目标代码:$./example 。注意: 这只是gcc最基本的用法,其他常用选项有:-c , -S , -O , -O2, -g 等。 2.编辑、调试下面c语言程序,说明该程序的功能。 #include #include int main() { int n,a[200],carry,temp,i,j,digit = 1; printf("Please input n:"); scanf("%d",&n); a[0] = 1; for( i = 2; i <= n; ++i) { for( j = 1, carry = 0; j <= digit; ++j) { temp = a[j-1] * i + carry; a[j-1] = temp % 10; carry = temp / 10; } while(carry) { a[++digit-1] = carry % 10; carry /= 10; } } printf("Result is:\n%d ! = ",n); for( i = digit; i >=1; --i) { printf("%d",a[i-1]); }

操作系统实验2

武汉工程大学计算机科学与工程学院 《操作系统》实验报告 专业班级13计工01班实验地点计工403机房学生学号1305120610 指导教师张立 学生姓名李敏实验时间2014-10-19 /2014- 10-26 实验项目实验二、创建线程及线程通信 实验类别操作性()验证性()设计性(√)综合性()其它实 验 目的及要求(1)熟悉Windows中的线程及进程的创建 (2)掌握利用Windows中的同步机制实现线程同步及通信。 成绩评定表 类别评分标准分值得分合计 上机表现积极出勤、遵守纪律 主动完成实验设计任务 30分 实验报告及时递交、填写规范 内容完整、体现收获 70分 说明: 评阅教师:张立 日期: 2015 年 11 月 1 日

实验内容 一、实验内容 要求:创建线程,利用互斥实现线程共享变量通信。 示例程序:Thread.exe 简要说明: 1、点“创建线程”按钮,创建两个线程,一个线程不断对一个变量加1, 结果显示在第一个文本框中。另一个线程不断对另一个变量减1,结果显示在第二个文本框中。这两个线程之间没有交互,仅用于演示线程的创建。 2、演示线程互斥,点“线程互斥”按钮,创建两个线程,一个线程不断循 环,每次循环对共享变量x做100次加1操作(这100次加1操作作为一个临界区CSa),另一个线程不断循环,每次循环对共享变量x做100次减1操作(这100次减1操作作为一个临界区CSb),结果显示在第三个文本框中。可以看到结果是从0到100,然后又从100回到0。可见CSa 和CSb两个临界区是互斥的。 3、除了没有互斥,其它同2,结果显示在第四个文本框中。可见CSa和CSb 两个临界区的执行是有交叉的,CSa的执行可能被CSb打断,CSb的执行也可能被CSa打断 二、源代码 UINT ThreadA(LPVOID pParam) { CThreadDlg * pParent=(CThreadDlg *)pParam; pParent->DoThreadA(); return 0; } UINT ThreadB(LPVOID pParam) { CThreadDlg * pParent=(CThreadDlg *)pParam; pParent->DoThreadB(); return 0; } UINT ThreadC(LPVOID pParam) { CThreadDlg * pParent=(CThreadDlg *)pParam; pParent->DoThreadC(); return 0; } UINT ThreadD(LPVOID pParam) { CThreadDlg * pParent=(CThreadDlg *)pParam; pParent->DoThreadD(); return 0;

WEB软件测试总结报告

XXX项目测试总结报告 目录 1.项目测试结果 (2) 1.1 BUG严重程度 (2) 1.2 BUG问题分布状况 (3) 2.测试结论 (4) 2.1界面测试 (4) 2.2功能测试 (4) 2.3兼容性测试(Windows下) (4) 2.4易用性 (4) 2.5 负载/压力测试 (5) 3.软件问题总结与分析 (6) 4.建议 (7)

1.项目测试结果 1.1 BUG严重程度 测试发现的bug主要集中在次要功能和轻微,属于一般性的缺陷,但测试的时候出现了37个主逻辑级别的bug,以及严重级别的2个.

1.2 BUG问题分布状况 由上图可以看出,主要为代码错误占36%,以及标准规范的问题占35%,界面优化占17%,设计缺陷占9%,其他占2%

2.测试结论 2.1界面测试 网站系统实现与设计稿一致。站点的导航条位置,导航的内容布局,首页呈现的样式与需求一致。网站的界面符合标准和规范,直观性强。 2.2功能测试 分不同账号总权限账号,以及店长账号分别进行功能测试。 1:链接测试无问题,不存在死链接,测试链接都存在. 2:对页面各个不同数据的测试,主要的出入库,销售报表,订单查看管理等一一对应,不存在数据有误差的问题. 2.3兼容性测试(Wind ows下) 测试总的浏览器包括:360极速浏览器,火狐浏览器,谷歌浏览器,IE浏览器,测试通过,主要逻辑以及次要功能都没问题,因为浏览器的不同,导致界面浏览不一定相同,例如有的界面浏览页面显示正常,有的界面显示不一样 。 2.4易用性 网站实现了如下易用性: 1. 输入限制的正确性 2. 输入限制提示信息的正确性,可理解性,一致性 3. 界面排版美观 4. web应用系统易于导航,直观 5. web应用系统的页面结构、导航、菜单、连接的风格一致

操作系统lab2实验报告

HUNAN UNIVERSITY 操作系统实验报告

目录 一、内容 (3) 二、目的 (3) 三、实验设计思想和练习题 (3) 练习0:填写已有实验 (3) 练习1:实现 first-fit 连续物理内存分配算法(需要编程) (3) 练习2:实现寻找虚拟地址对应的页表项(需要编程) (8) 练习3:释放某虚地址所在的页并取消对应二级页表项的映射(需要编程) (11) 运行结果 (13) 四、实验体会 (13)

一、内容 本次实验包含三个部分。首先了解如何发现系统中的物理内存;然后了解如何建立对物理内存的初步管理,即了解连续物理内存管理;最后了解页表相关的操作,即如何建立页表来实现虚拟内存到物理内存之间的映射,对段页式内存管理机制有一个比较全面的了解。 二、目的 1.理解基于段页式内存地址的转换机制; 2.理解页表的建立和使用方法; 3.理解物理内存的管理方法。 三、实验设计思想和练习题 练习0:填写已有实验 使用eclipse中的diff/merge工具将实验1的代码填入本实验中代码中有“LAB1”的注释相应部分。 练习1:实现 first-fit 连续物理内存分配算法(需要编程) 在实现first fit 内存分配算法的回收函数时,要考虑地址连续的空闲块之间的合并操作。提示:在建立空闲页块链表时,需要按照空闲页块起始地址来排序,形成一个有序的链表。可能会修改default_pmm.c 中的default_init,default_init_memmap,default_alloc_pages, default_free_pages等相关函数。请仔细查看和理解default_pmm.c中的注释。 请在实验报告中简要说明你的设计实现过程。请回答如下问题: 你的first fit算法是否有进一步的改进空间。 解答: 分析思路: (1)数据结构: A.每个物理页利用一个Page结构体表示,查看kern/mm/memlayout.h包括:

操作系统实验二

操作系统实验实验二进程管理 学号 1215108019 姓名克帆 学院信息学院 班级 12电子2

实验目的 1、理解进程的概念,明确进程和程序的区别。 2、理解并发执行的实质。 3、掌握进程的创建、睡眠、撤销等进程控制方法。 实验容与要求 基本要求:用C语言编写程序,模拟实现创建新的进程;查看运行进程;换出某个进程;杀死进程等功能。 实验报告容 1、进程、进程控制块等的基本原理。 进程是现代操作系统中的一个最基本也是最重要的概念,掌握这个概念对于理解操作系统实质,分析、设计操作系统都有其非常重要的意义。为了强调进程的并发性和动态性,可以给进程作如下定义:进程是可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。 进程又就绪、执行、阻塞三种基本状态,三者的变迁图如下: 由于多个程序并发执行,各程序需要轮流使用CPU,当某程序不在CPU上运行时,必须保留其被中断的程序的现场,包括:断点地址、程序状态字、通用寄存器的容、堆栈容、程序当前状态、程序的大小、运行时间等信息,以便程序再次获得CPU时,能够正确执行。为了保存这些容,需要建立—个专用数据结构,我们称这个数据结构为进程控制块PCB (Process Control Block)。 进程控制块是进程存在的惟一标志,它跟踪程序执行的情况,表明了进程在当前时刻的状态以及与其它进程和资源的关系。当创建一个进程时,实际上就是为其建立一个进程控制块。 在通常的操作系统中,PCB应包含如下一些信息: ①进程标识信息。为了标识系统中的各个进程,每个进程必须有惟一的标识名或标 识数。 ②位置信息。指出进程的程序和数据部分在存或外存中的物理位置。 ③状态信息。指出进程当前所处的状态,作为进程调度、分配CPU的依据。 ④进程的优先级。一般根据进程的轻重缓急其它信息。 这里给出的只是一般操作系统中PCB所应具有的容,不同操作系统的PCB结构是不同的,我们将在2.8节介绍Linux系统的PCB结构。

web常用测试方法

一、输入框 1、字符型输入框: (1)字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。 (2)长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符比如把整个文章拷贝过去。 (3)空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空 格 (4)多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回 车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)、(5)安全性检查:输入特殊字符串 (null,NULL, ,javascript,,,<html>,<td>)、输入脚本函数(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>) 2、数值型输入框: (1)边界值:最大值、最小值、最大值+1、最小值-1 (2)位数:最小位数、最大位数、最小位数-1最大位数+1、输入超长值、输入整数(3)异常值、特殊字符:输入空白(NULL)、空格或 "~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板 拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+,-等、 输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位)、(4)安全性检查:不能直接输入就copy 3、日期型输入框: (1)合法性检查:(输入0日、1日、32日)、月输入[1、3、5、7、8、10、12]、日输入[31]、月输入[4、6、9、11]、日输入[30][31]、输入非闰年,月输入[2],日期输入[28、29]、输入闰年,月输入[2]、日期输入[29、30]、月输入[0、1、12、13] (2)异常值、特殊字符:输入空白或NULL、输入~!@#¥%……&*(){}[]等可能导致系统错误的字符 (3)安全性检查:不能直接输入,就copy,是否数据检验出错? 4、信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否 作出正确处理. 二、搜索功能 若查询条件为输入框,则参考输入框对应类型的测试方法 1、功能实现:</p><h2>上海大学操作系统(二)实验报告(全)</h2><p>评分: SHANGHAI UNIVERSITY 操作系统实验报告 学院计算机工程与科学 专业计算机科学与技术 学号 学生姓名</p><p>《计算机操作系统》实验一报告 实验一题目:操作系统的进程调度 姓名:张佳慧学号 :12122544 实验日期: 2015.1 实验环境: Microsoft Visual Studio 实验目的: 进程是操作系统最重要的概念之一,进程调度又是操作系统核心的主要内容。本实习要求学生独立地用高级语言编写和调试一个简单的进程调度程序。调度算法可任意选择或自行设计。例如,简单轮转法和优先数法等。本实习可加深对于进程调度和各种调度算法的理解。实验内容: 1、设计一个有n个进程工行的进程调度程序。每个进程由一个进程控制块(PCB)表示。进程控制块通常应包含下述信息:进程名、进程优先数、进程需要运行的时间、占用CPU的时间以及进程的状态等,且可按调度算法的不同而增删。 2、调度程序应包含2~3种不同的调度算法,运行时可任意选一种,以利于各种算法的分析比较。 3、系统应能显示或打印各进程状态和参数的变化情况,便于观察诸进程的调度过程。 操作过程: 1、本程序可选用优先数法或简单轮转法对五个进程进行调度。每个进程处于运行R(run)、就绪W(wait)和完成F(finish)三种状态之一,并假设起始状态都是就绪状态W。为了便于处理,程序进程的运行时间以时间片为单位计算。进程控制块结构如下: 进程控制块结构如下: PCB 进程标识数 链指针 优先数/轮转时间片数 占用 CPU 时间片数 进程所需时间片数 进程状态 进程控制块链结构如下:</p><p>其中:RUN—当前运行进程指针; HEAD—进程就绪链链首指针; TAID—进程就绪链链尾指针。2、算法与框图 (1) 优先数法。进程就绪链按优先数大小从高到低排列,链首进程首先投入运行。每过一个时间片,运行进程所需运行的时间片数减 1,说明它已运行了一个时间片,优先数也减 3,理由是该进程如果在一个时间片中完成不了,优先级应该降低一级。接着比较现行进程和就绪链链首进程的优先数,如果仍是现行进程高或者相同,就让现行进程继续进行,否则,调度就绪链链首进程投入运行。原运行进程再按其优先数大小插入就绪链,且改变它们对应的进程状态,直至所有进程都运行完各自的时间片数。 (2) 简单轮转法。进程就绪链按各进程进入的先后次序排列,进程每次占用处理机的轮转时间按其重要程度登入进程控制块中的轮转时间片数记录项(相当于优先数法的优先数记录项位置)。每过一个时间片,运行进程占用处理机的时间片数加 1,然后比较占用处理机的时间片数是否与该进程的轮转时间片数相等,若相等说明已到达轮转时间,应将现运行进程排到就绪链末尾,调度链首进程占用处理机,且改变它们的进程状态,直至所有进程完成各自的时间片。 (3) 程序框图</p><h2>实验六Web测试</h2><p>实验六Web测试 实验类别:综合实验 实验目的: 应用Web测试工具对Web系统进行功能和性能测试; 背景知识: 对Web系统测试需要从功能、性能、可用性、安全性等多方面进行测试。 一、功能测试 对Web系统进行功能测试包括以下几个方面: 1. 链接测试 链接是Web 应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web 应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面。 2. 表单测试 当用户给Web 应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。 3. Cookies测试 Cookies通常用来存储用户信息和用户在应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web 服务器将发送关于用户的信息,把该信息以Cookies 的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。 如果Web 应用系统使用了Cookies ,就必须检查Cookies 是否能正常工作。测试的内容可包括Cookies 是否起作用,是否按预定的时间进行保存,刷</p><h2>操作系统实验报告</h2><p>操作系统教程 实 验 指 导 书 姓名: 学号: 班级:软124班 指导老师:郭玉华 2014年12月10日</p><p>实验一WINDOWS进程初识 1、实验目的 (1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。 (2)掌握WINDOWS API的使用方法。 (3)编写测试程序,理解用户态运行和核心态运行。 2、实验内容和步骤 (1)编写基本的Win32 Consol Application 步骤1:登录进入Windows,启动VC++ 6.0。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序: E:\课程\os课\os实验\程序\os11\debug>hello.exe 运行结果 (如果运行不成功,则可能的原因是什么?) : 有可能是因为DOS下路径的问题 (2)计算进程在核心态运行和用户态运行的时间 步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。 步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。 步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。 E:\课程\os课\os实验\程序\os12\debug>time TEST.exe 步骤4:运行结果 (如果运行不成功,则可能的原因是什么?) : 因为程序是个死循环程序 步骤5:分别屏蔽While循环中的两个for循环,或调整两个for循环的次数,写出运行结果。 屏蔽i循环: 屏蔽j循环: _______________________________________________________________________________调整循环变量i的循环次数:</p><h2>Web系统与技术--实验八</h2><p>实验八Web组件重用与JavaBeans 班级:网络112 学号:201106090213 姓名:李亚军 一、实验目的 1. 理解静态包含和动态包含的概念,掌握相关指令和动作的使用; 2. 掌握JavaBeans的含义和创建; 3. 重点掌握在JSP页面中使用JavaBeans的标准动作。 二、实验原理 通过重用Web组件可以提高应用程序开发的效率和其可维护性。在JSP中可以通过包含机制和JavaBean实现Web组件的重用。 包含分为静态包含和动态包含。静态包含通过include指令实现,动态包含通过标准动作jsp:include实现。 在JSP页面中使用JavaBean是最重要的组件重用技术,这主要是通过下面3个标准动作实现的: <jsp:useBean> <jsp:setProperty> <jsp:getProperty> 三、实验内容及要求 (一)include静态指令的使用 创建名称为ch08的Web项目,编写hello.jsp页面,其中声明一个变量userName,用于获取请求地址后查询串参数userName的值;使用<%@ include>静态指令包含response.jsp 页面,通过response.jsp页面显示userName的值,用下面两种方法实现。执行代码并查看运行结果。 方法一:response.jsp页面中通过JSP表达式直接输出变量userName的值。 方法二:通过pageContext作用域属性,在主页面和子页面间共享userName的值,降低主页面和子页面的依赖性。 思考并回答: ?静态include指令何时执行? 答:与主页面同时执行。 ?主页面和被包含的子页面是否转换为一个转换单元? 答:是。 ?同一个转换单元的页面之间如何共享数据? 答:通过request作用域共享。</p><h2>操作系统(2)实验六</h2><p>SHANGHAI UNIVERSITY <操作系统>实验报告 学院计算机工程与科学学院学号10122050 姓名王杰 指导老师张建 日期2014.03.07</p><p>实验六FAT文件系统实验 一、实验目的: 1、从系统分析的角度出发,了解FAT文件系统的组织结构和文件的存储方式。 2、进一步理解操作系统文件管理的基本思想。 二、实验内容: 1..进入DEBUG环境,装入FAT文件系统结构。 执行命令:L 0 0 0 21 2.观察1.44M软盘中FAT12文件系统结构。 执行命令:D 0000 软盘有两面,每面80个磁道,每个磁道18个扇区,每个扇区512个字节,所以软盘的容量是2*80*18*512 = 1474560, 1474560/1024/1024大约为1.44M。 3.分析文件分配表结构,了解用簇链映射的文件的链式存储结构。 执行命令:D 200</p><p>◆思考:上面屏幕显示首簇号为003的文件共包括几个扇区?它分布在哪几个物理扇区上? 答:首簇号为003的文件共包括2个扇区,它分布在0道0面2、3扇。 4.观察1.44M软盘中文件目录表FDT以及文件目录结构 执行命令:L 0 0 0 21 说明:将逻辑扇区0H开始的共21H个物理扇区装入DS:0000H起始的内存。 执行命令:D 2600 说明:显示从2600H地址开始的FDT文件表。 思考:①计算1.44M的软盘根目录最多可以容纳多少文件? 答:1.44MB软盘的文件目录表FDT共14个扇区,每个文件的目录登记项占用32个字</p><p>节,用作目录的一个扇区(512字节)最多只能装入512/32=16个文件。因此,1.44MB软盘的根目录下最多可建文件或子目录224个。 ②上图屏幕显示的文件BAK.txt的目录项中标示该文件的首簇号在何处?该文件是什么属性? 答:首簇号在第2行的1A~1B字节处,首簇号为002,该文件属于归档文件。 书上显示的文件office.txt首簇号在第6行的1A~1B字节处,首簇号为091,属归档文件。 ③书上面的屏幕显示第1~2行目录项表示的是什么项目? 答:第1~2目录项表示卷标。 5.观察1.44M软盘中文件目录表的长文件名目录结构 思考:①书上面屏幕显示的2~3行是什么目录项? 答:长名的第一项,也是最后一项。 ②若有一个文件名共长34个字符,要占多少目录项? 答:四个目录项,三个长目录项和一个短目录项。 6.自己动手做: ①观察测试软盘的FDT区,找到名为BAK的文件目录。该文件是什么类型的文件?文件放在磁盘的哪个位置?占用几个存储单位?调出其内容看看。 该文件为BAK.txt,属于归档文件。察看其首簇号为002,对应了数据区21H逻辑扇区。执行:L 0 0 0 21 D 2600 察看内容执行:L 8000 0 21 8</p><h2>web系统与技术实验十一</h2><p>实验十一Servlet过滤器的使用 班级:网络112 姓名:蒋丽学号:0202 一、实验目的 1. 了解过滤器的作用; 2. 掌握过滤器的开发与部署的步骤; 3. 了解过滤器链。 二、实验原理 过滤器是web服务器上的组件,它们对客户和资源之间的请求和响应进行过滤。 过滤器的工作原理是:当servlet容器接收到对某个资源的请求,它要检查是否有过滤器与之关联。如果有过滤器与该资源关联,servlet容器将把该请求发送给过滤器。在过滤器处理完请求后,它将做下面3件事: ?产生响应并将其返回给客户; ?如果有过滤器链,它将把(修改过或没有修改过)请求传递给下一个过滤器; ?将请求传递给不同的资源。 当请求返回到客户时,它是以相反的方向经过同一组过滤器返回。过滤器链中的每个过滤器可能修改响应。 过滤器API主要包括:Filter、FilterConfig和FilterChain接口。 三、实验内容与步骤 (一)在实验十一创建的chap11项目下,编写一个过滤器AuditFilter,审计用户对资源的访问。 【步骤1】该过滤器实现的功能是,当用户访问应用程序任何资源时,将用户的IP地址和主机名写入日志文件中,过滤器代码如下: package filter; import ; import javax.servlet.*; import ; public class AuditFilter implements Filter { protected FilterConfig config; public void init(FilterConfig filterConfig) throws ServletException { this.config = filterConfig; } public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest)request; HttpServletResponse res = (HttpServletResponse)response; String addr = req.getRemoteAddr(); String user = req.getRemoteHost(); config.getServletContext().log("RemoteAddress:"+addr+ ",RemoteHost:"+user); chain.doFilter(req, res); } public void destroy() { }</p><h2>操作系统实验二</h2><p>GDOU-B-11-112广东海洋大学学生实验报告书(学生用表) 实验名称实验二课程名称操作系统课程号 学院(系) 信息学院专业物联网工程班级1131 学生姓名杨光学号201311672119 实验地点实验日期 实验1:线程的创建与撤销 1.实验目的 (1)熟悉Windows系统提供的线程创建与撤销系统调用。 (2)掌握Windows系统环境下线程的创建与撤销方法。 2.实验要求 能正确使用CreateThread()、ExitThread()及Sleep()等系统调用,进 一步理解进程与线程理论。 代码一: // ThreadCreate.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "ThreadCreate.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // The one and only application object CWinApp theApp; using namespace std; void ThreadName1(); static HANDLE hHandle1=NULL; //用于存储线程返回句柄的变量。 DWORD dwThreadID1; //用于存储线程标识符的变量。 int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])</p><h2>web测试常用测试点</h2><p>一、界面测试公共测试用例 界面测试一般包括页面文字,控件使用,少图,CSS,颜色等。 1. 文字 内容一致性: 1)公司要求文字的一致性,例如各种宣传文字、注册的协议条款、版权信息等; 2)各处相同含义文字的一致性,例如标题栏文字、页面主题文字、弹出窗口文字、菜单名称、功能键文字等。 样式一致性 1)(通常分类包括)各类文字字体、字号、样式、颜色、文字间距、对齐方式; 2)按钮的文字间距,按钮长度一定前提下,2个字的按钮,需要中间空一格(或者其它约定,需要统一);3)链接文字,同一类,菜单、小标题、页角文字链接,在点击时颜色变化要相同; 4)对齐方式,页面上文字的对齐,例如表单、菜单列、下拉列表中文字的对齐方式(左、右、居中等要统一) 语言习惯: 1)中文:文字简单,含义明确,无歧异,无重复,无别字,正确运用标点符号。 2)英文。 3)日文。 2. 按钮 1)button的样式整体要统一,例如突出、扁平、3D效果等只能选其一; 2)采用的图片表述相同功能,要采用单一图标。 3. 文本框 1)录入长度限制,根据数据库的设计,页面直接限定录入长度(特殊处屏蔽复制、粘贴); 2)文本框自身的长度限制,主要考虑页面样式。 4. 单选框</p><p>1)默认情况要统一,已选择,还是未选。 5. 日期控件 1)图标、控件颜色、样式统一; 2)点击控件、文本框均应弹出日期选择框。 6. 下拉选择框 1)默认是第一个选项,还是提示请选择一个。 7. 提示信息 1)静态文字与它的提示信息一致性,例如静态文字为…ID?,出错信息显示…用户ID?; 2)空值时,出错信息需要统一,例如可以采用“静态文字”+不能为空; 3)出现录入错误时,例如可以统一采用“静态文字”+格式不符合要求; 4)提示信息标点符号是否标识;点击上一步,返回的页面上不应残留出错信息; 5)静态提示信息,在录入框右侧,应有录入信息的相应要求的提示文字,达到方便操作的目的; 6)必输项提示信息,必输项提示信息采用统一的标志。 8. 导航测试 死导航、乱导航、操作复杂等。 9. 链接测试 1)发现404错误。 2)避免死链接情况,执行完相应操作应有返回按钮,返回到相应页面;例如:操作成功后,进入成功提示信息页面,但页面没有返回按钮,无法及时进入操作之前的页面。 10. IE的后退 退出系统,无论直接关闭浏览器或点击后退键,退出都不应再返回系统。 11. 分辨率 页面文字显示、样式等要支持常见分辨率,例如CRT显示器的1024*768,LCD的1280*1024。</p><h2>操作系统实验报告.</h2><p>学生学号0121210680225 实验课成绩 武汉理工大学 学生实验报告书 实验课程名称操作系统 开课学院计算机科学与技术学院 指导老师姓名刘军 学生姓名李安福 学生专业班级软件sy1201 2014 — 2015 学年第一学期</p><p>《操作系统》实验教学大纲 课程编号: 课程名称:操作系统/Operating System 实验总学时数:12学时 适应专业:计算机科学与技术、软件工程 承担实验室:计算机科学与技术学院实验中心 一、实验教学的目的和任务 通过实验掌握Linux系统下常用键盘命令、系统调用、SHELL编程、后台批处理和C程序开发调试手段等基本用法。 二、实验项目及学时分配 序号实验项目名称实验学时实验类型开出要求 01 Linux键盘命令和vi 2 设计必开 02 Linux下C编程 2 设计必开 03 SHELL编程和后台批处理 2 设计必开 04 Linux系统调用(time) 2 设计必开 05 Linux进程控制(fork) 4 设计必开 三、每项实验的内容和要求: 1、Linux键盘命令和vi 要求:掌握Linux系统键盘命令的使用方法。 内容:见教材p4, p9, p40, p49-53, p89, p100 2、Linux下的C编程 要求:掌握vi编辑器的使用方法;掌握Linux下C程序的源程序编辑方法;编译、连接和运行方法。 内容:设计、编辑、编译、连接以及运行一个C程序,其中包含键盘输入和屏幕输出语句。 3、SHELL编程和后台批处理 要求:掌握Linux系统的SHELL编程方法和后台批处理方法。 内容:(1) 将编译、连接以及运行上述C程序各步骤用SHELL程序批处理完成,前台运行。 (2) 将上面SHELLL程序后台运行。观察原C程序运行时输入输出情况。 (3) 修改调试上面SHELL程序和C程序,使得在后台批处理方式下,原键 盘输入内容可以键盘命令行位置参数方式交互式输入替代原键盘输入内容, 然后输出到屏幕。 4、Linux系统调用使用方法。</p><h2>操作系统实验2</h2><p>《操作系统》实验报告 一实验目的: 1、加深对进程概念及进程管理各个部分内容的理解; 2、熟悉进程管理中主要数据结构的设计及进程调度算法,进程控制机构,同步机构,通信机构的实施。二实验内容 要求设置PCB,进程控制原语,进程调度算法,能描述进程调度中不同进程状态之间的转换,设计一个允许n个进程并发运行的进程管理模拟系统。该系统包括有简单的进程控制,同步及通信机构,其进程调度算法可任意选择。每个进程用一个PCB表示,其内容可根据具体情况设置。各进程之间应有一定的同步关系。系统在运行过程中能显示或打印各进程的状态及有关参数的变化情况,以便观察诸进程的运行过程及系统的管理过程。 三实验要求 实验报告要求1、写出进程管理的思想。2、画出算法流程图和设置的数据结构。 3、写出调试程序出现的问题及解决的方法。 4、打印实验报告及程序清单。 5、报告给出测试的结果。四实验环境: Windows8.0 开发语言c++ 五实验前的准备 1、阅读教材,了解有关PCB的知识。进程控制块的作用是使一个在多道程 序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本 单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来 对并发执行的进程进行控制和管理的。PCB通常是系统内存占用区中 的一个连续存区,它存放着操作系统用于描述进程情况及控制进程运行</p><p>所需的全部信息,它使一个在多道程序环境下不能独立运行的程序成为 一个能独立运行的基本单位,一个能与其他进程并发执行的进程。 2、上网查阅相关程序,学习与PCB相关知识与应用。 六实验原理及设计方案 1、实验原理; 假设系统有 5 个进程,每个进程用一个进程控制块 PCB 来代表。为每个进程任意确定一个要求运行时间和到达时间。按照进程到达的先后顺序排成一个循环队列。再设一个队首指针指向第一个到达进程的首址。执行处理机调度时,开始选择队首的第一个进程运行。另外,再设一个当前运行进程的指针,指向当前正在运行的进程。进程运行一次后,估计运行时间减一,输出当前运行进程的名字进程运行一次后,以后的调度则将当前指针依此下移一个位置,指向下一个进程,即调整当前运行指针指向该进程的链接指针所指进程,以指示应运行进程。同时还应判断该进程的剩余运行时间是否为零。若不为零,则等待下一轮的运行,若该进程的剩余运行时间为零,则将该进程的状态置为完成态 C,并退出循环队列。若就绪队列不空,则重复上述的(5)和(6)步骤直到所有的进程都运行完为止。在所设计的调度程序中,应包含显示或打印语句。显示或打印每次选中的进程的名称及运行一次后队列的变化情况。 2、设计方案 (1)设计一个有 N 个进程共行的进程调度程序。每个进程由一个进程控制块 PCB 表示。进程控制块包括以下信息:进程名,进程优先数,进程需要运行的时间,占用 CPU的时间以及进程的状态等。 (2)本调度程序用时间片轮转算法。 (3)编写程序并调试运行。 3、程序流程图</p> <div> <div>相关主题</div> <div class="relatedtopic"> <div id="tabs-section" class="tabs"> <ul class="tab-head"> <li id="7896954"><a href="/topic/7896954/" target="_blank">web系统与技术实验</a></li> <li id="15175620"><a href="/topic/15175620/" target="_blank">web服务技术实验</a></li> <li id="14218824"><a href="/topic/14218824/" target="_blank">操作系统实验二</a></li> <li id="17127176"><a href="/topic/17127176/" target="_blank">web系统与技术</a></li> <li id="4896107"><a href="/topic/4896107/" target="_blank">操作系统实验报告二</a></li> <li id="2468035"><a href="/topic/2468035/" target="_blank">web系统测试</a></li> </ul> </div> </div> </div> <div class="container"> <div>文本预览</div> <div class="textcontent"> </div> </div> </div> <div class="category"> <span class="navname">相关文档</span> <ul class="lista"> <li><a href="/doc/7a3210392.html" target="_blank">基于Web构建在线实验报告系统</a></li> <li><a href="/doc/c517849948.html" target="_blank">Web实验报告系统实习报告范文(20200505184130)</a></li> <li><a href="/doc/1910194829.html" target="_blank">Web开发实验一</a></li> <li><a href="/doc/5d11238962.html" target="_blank">JAVAWEB实验报告</a></li> <li><a href="/doc/9d5077292.html" target="_blank">Web系统和技术实验报告</a></li> <li><a href="/doc/de14080363.html" target="_blank">《Web系统与技术》实验报告 (2)</a></li> <li><a href="/doc/373620363.html" target="_blank">Web系统与技术--实验八</a></li> <li><a href="/doc/6811325830.html" target="_blank">web技术实验指导书</a></li> <li><a href="/doc/c515427701.html" target="_blank">web系统与技术--实验十一</a></li> <li><a href="/doc/fc10308108.html" target="_blank">Web系统与技术--实验十</a></li> <li><a href="/doc/056774608.html" target="_blank">WEB开发技术实验报告</a></li> <li><a href="/doc/4910223830.html" target="_blank">WEB开发技术实验报告</a></li> <li><a href="/doc/9f3759490.html" target="_blank">Javaweb实验报告</a></li> <li><a href="/doc/de13693216.html" target="_blank">Javaweb实验报告</a></li> <li><a href="/doc/1e18075985.html" target="_blank">实验六Web测试</a></li> <li><a href="/doc/627203708.html" target="_blank">太原理工大学_Web系统和技术_实验报告</a></li> <li><a href="/doc/cf3083978.html" target="_blank">WEB开发技术实验报告</a></li> <li><a href="/doc/ed12044107.html" target="_blank">web技术及应用实验报告</a></li> <li><a href="/doc/459712082.html" target="_blank">太原理工大学Web系统和技术实验报告</a></li> <li><a href="/doc/848403501.html" target="_blank">web前端开发技术实验报告 实验一</a></li> </ul> <span class="navname">最新文档</span> <ul class="lista"> <li><a href="/doc/0619509601.html" target="_blank">幼儿园小班科学《小动物过冬》PPT课件教案</a></li> <li><a href="/doc/0a19509602.html" target="_blank">2021年春新青岛版(五四制)科学四年级下册 20.《露和霜》教学课件</a></li> <li><a href="/doc/9619184372.html" target="_blank">自然教育课件</a></li> <li><a href="/doc/3319258759.html" target="_blank">小学语文优质课火烧云教材分析及课件</a></li> <li><a href="/doc/d719211938.html" target="_blank">(超详)高中语文知识点归纳汇总</a></li> <li><a href="/doc/a519240639.html" target="_blank">高中语文基础知识点总结(5篇)</a></li> <li><a href="/doc/9019184371.html" target="_blank">高中语文基础知识点总结(最新)</a></li> <li><a href="/doc/8819195909.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/8319195910.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/7b19336998.html" target="_blank">高中语文基础知识点总结大全</a></li> <li><a href="/doc/7019336999.html" target="_blank">超详细的高中语文知识点归纳</a></li> <li><a href="/doc/6819035160.html" target="_blank">高考语文知识点总结高中</a></li> <li><a href="/doc/6819035161.html" target="_blank">高中语文知识点总结归纳</a></li> <li><a href="/doc/4219232289.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/3b19258758.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/2a19396978.html" target="_blank">高中语文知识点归纳(大全)</a></li> <li><a href="/doc/2c19396979.html" target="_blank">高中语文知识点总结归纳(汇总8篇)</a></li> <li><a href="/doc/1619338136.html" target="_blank">高中语文基础知识点整理</a></li> <li><a href="/doc/e619066069.html" target="_blank">化工厂应急预案</a></li> <li><a href="/doc/b019159069.html" target="_blank">化工消防应急预案(精选8篇)</a></li> </ul> </div> </div> <script> var sdocid = "ccf9358728ea81c758f578ca"; </script> <script type="text/javascript">bdtj();</script> <footer class="footer"> <p><a href="/tousu.html" target="_blank">侵权投诉</a> © 2022 www.doczj.com <a href="/sitemap.html">网站地图</a></p> <p> <a href="https://beian.miit.gov.cn" target="_blank">闽ICP备18022250号-1</a>  本站资源均为网友上传分享,本站仅负责分类整理,如有任何问题可通过上方投诉通道反馈 <script type="text/javascript">foot();</script> </p> </footer> </body> </html>