实验五:使用文件字符流加密文件
一,相关知识点
FileInputStream流以字节为单位顺序地读取文件,只要不关闭流,每次调用read方法就顺序地读取源中其余的内容,知道源的末尾或流被关闭。
FileOutStream流以字节为单位顺序地写文件,只要不关闭流,每次调用writer方法就顺序地向输出流写入内容。
二,实验目的
本实验的目的是让读者掌握使用文件输入、输出字节流读写文件。
三,实验要求
编写4个JSP页面giveContent.jsp,writeContent.jsp,lookContent.jsp,readContent.jsp以及两个Tag文件Write.tag和Read.tag。
(1)giveContent.jsp的具体要求
giveContent.jsp页面提供一个表单,要求该表单提供一个text文本输入框,select下拉列表和一个TextArea文本区,用户可以在text输入框输入文件的名字,在select下拉列表选择一个目录(下拉列表的选项必须是Tomcat服务区所驻留计算机上的目录),通过TextArea输入多行文本。单击表单的提交键将text 中输入的文件名字,select下拉列表中选中的目录以及TextArea文本区中的内容提交给writeContent.jsp页面。
(2)writeContent.jsp的具体要求
writeContent.jsp页面首先获得giveContent.jsp页面提交的文件所在目录,名字以及TextArea文本区中的内容,然后使用Tag标记调用Tag文件Write.tag,并将文件所在目录,名字以及TextArea文本区中的内容传递给Write.tag。
(3)lookContent.jsp的具体要求
lookContent.jsp页面提够一个表单,该表单提供两个text文本输入框,用户可以向这两个text文本输入框输入目录和文件内容。单击表单的提交键将text中输入的文件目录以及文件名字提交给readContent页面。
(4)readContent.jsp的具体要求
readContent.jsp页面首先获得lookContent.jsp页面提交的文件目录、名字,然后使用Tag标记调用Tag 文件read.jsp,并将文件所在目录、名字传递给Read.tag。
(5)Write.tag的具体要求
Write.tag文件使用attribute指令获得writeContent.jsp页面传递过来的文件目录和文件名字,然后使用文件字节输入流读取文件,并负责显示所读取的内容。
四,实验代码
JSP页面代码:
inputContent.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="file" %>
write.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="file" %>
<% String str=request.getParameter("ok");
if(str.length()>0){
byte bb[]=str.getBytes("iso-8859-1");
str=new String(bb);
%>
<% out.println("
"+message);
}
%>
read.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="file" %>
<% String condition=request.getParameter("R");
if(condition!=null){
%>
<%}
%>
Tag文件代码:
SecretWrite.tag
<%@ variable name-given="message" scope="A T_END" %> <%@ tag pageEncoding="GB2312" %>
<%@ tag import="java.io.*" %>
<%@ attribute name="content" required="true" %>
<% File dir=new File("C:/","Students");
dir.mkdir();
File f=new File(dir,"save.t xt");
try{FileWriter outfile=new FileWriter(f);
BufferedWriter bufferout=new BufferedWriter(outfile);
char a[]=content.toCharArray();
for(int i=0;i a[i]=(char)(a[i]^12); content=new String(a); bufferout.write(content); bufferout.close(); outfile.close(); jspContext.setAttribute("message","文件加密成功"); } catch(IOException e){ jspContext.setAttribute("message","文件加密失败"); } %> SecretRead.tag <%@ tag pageEncoding="GB2312" %> <%@ tag import="java.io.*" %> <%@ attribute name="method" required="true" %> <%@ variable name-given="content" scope="AT_END" %> <% File dir=new File("C:/","Students"); File f=new File(dir,"save.t xt"); StringBuffer mess=new StringBuffer(); String str; try{ FileReader in=new FileReader(f); BufferedReader bufferin=new BufferedReader(in); String temp; while((temp=bufferin.readLine())!=null) mess.append(temp); bufferin.close(); in.close(); str=new String(mess); if(method.equals("secret")) jspContext.setAttribute("content",str); else if(method.equals("unsecret")){ char a[]=str.toCharArray(); for(int i=0;i a[i]=(char)(a[i]^12); str=new String(a); jspContext.setAttribute("content",str); } else jspContext.setAttribute("content",""); } catch(IOException e){ jspContext.setAttribute("content",""); } %>五,实验结果及分析 试验总结: 计算机底层的文件都是二进制文件,本文采用字节流和字符流的区别实现文本的简单加密。FileReader和FileWriter用于读写字符流, 燕山大学里仁学院JSP实验报告 10级电子商务(1)班 李俊敏101405071019 里仁学院经济管理系 2013年5月 实验一 1.实验目的 (1)掌握怎样设置Web服务目录、怎样访问Web服务目录下的JSP页面。 (2)掌握怎样在JSP页面中使用成员变量、怎样使用Java程序片、Java表达式。2.实验内容 1.输出所有1到1000内的完数。(perfect.jsp) 一个数如果恰好等于除它本身外的因子之和,这个数就称为"完数",也叫“完美数”。 例如6=1+2+3.(6的因子是1,2,3),因此,6 就是一个完数。 2.输出乘法口诀表。(multi.jsp) 3.编写两个JSP 页面,名字分别为inputName.jsp和people.jsp。 3.实验要求 1)在硬盘分区D下新建一个目录,名字为:student,将student设置为Web服务目录,并为该Web服务目录指定名字为practice的虚拟目录。在tomcat的安装目录中的\conf\Catalina\localhost下新建一个xml文件,通过文件来设置新的web服务目录。 必须在浏览器的地址栏中输入:Tomcat服务器的IP地址和端口号,并通过虚拟目录practice访问Web服务目录student下的JSP页面。 2)启动Tomcat服务器(如果已经启动,必须关闭Tomcat服务器,并重新启动)。 3)用文本编辑器ultraedit编写JSP页,并保存到Web服务目录student中。 4)用浏览器访问Web服务目录student中的JSP页面。 5)inputName.jsp的具体要求 该页面有一个表单,用户通过该表单输入自己的姓名并提交给people.jsp页面。 6)people.jsp的具体要求 (1) JSP页面有名字为person、类型是StringBuffer以及名字是count,类型为int 的成员变量。 (2) JSP有public void judge ()方法。该方法负责创建person对象,当count的值是0 时,judge ()方法创建person对象。 (3) JSP有public void addPerson(String p)的方法,该方法将参数p指定的字符串尾加到操作成员变量person,同时将count作自增运算。 (4) JSP页面在程序片中获取inputName.jsp页面提交的姓名,然后调用judge ()创建person对象、调用addPerson方法将用户的姓名尾加到成员变量person。 (5)如果inputName.jsp页面没有提交姓名,或姓名含有的字符个数大于10,就使用 实验1 网页程序设计-JavaScript 一、实验目的 1. 掌握JavaScript技术,基本掌握JavaScript的开发技巧; 2. 利用文本编辑器建立JavaScript脚本语言进行简单编程。 二、实验要求: 1. 根据以下实验内容书写实验准备报告。 2. 独立完成实验。 三、实验内容 1.显示一个动态的时钟 在文本编辑器“记事本”中输入如下代码程序,请仔细阅读下列程序语句,理解每条语句的作用。源程序清单如下: Jsp实验报告 课程设计名称:兼职网站 系:交通运输管理学院学生姓名: 班级: 学号: 成绩: 指导教师: 开课时间:2013学年第2 学期 一.设计题目 兼职网站 二.主要内容 本网站涉及兼职信息、用户信息的数据管理。从管理的角度可将信息分为两类:兼职信息管理、用户数据管理。用户数据管理为用户的登录判定,兼职信息管理包括兼职信息显示及兼职信息的录入、查询和删除。 (1)用户的登录判定 (2)录入兼职的信息,并保存到数据库中 (3)根据用户的需求选择查询方式,查询相关兼职信息 (4)将信息从数据库中删除 三.具体要求 (1)建立数据库表格存储用户数据(用户名及密码)。 (2)建立数据库表格存储兼职信息,主要包括ID、兼职名称、地点、工资和联系方式。 (3)编写jsp 语句连接数据库 (4)利用request函数提交表单,获取输入信息 (5)以SQL语句对数据库进行操作,完成信息的添加,查询及删除等功能。四.进度安排 五.成绩评定 正文 1、系统的需求分析和功能设计 随着电子信息在人们生活中的的使用比重不断增加,人们越来越习惯在网站上查找自己所需 要的信息不仅仅只是因其快捷,更因其接触的面更加广泛,信息的基础量足够大,足以满足人们更加细化的需求。在寻找兼职体验工作生活或赚取生活费用时,可以减少时间的浪费及其他不必要的消耗。 本网站涉及兼职信息、用户信息的数据管理。从管理的角度可将信息分为两类:兼职信息管理、用户数据管理。用户数据管理为用户的登录判定,兼职信息管理包括兼职信息显示及兼职信息的录入、查询和删除。用户登录后可以根据自己的需要对信息进行添加、查询和删除的操作 2、源程序及注释 主页:<%@page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> JSP实验报告 截图
web WEB JSP实验报告书
jsp实验报告49775