实验五new
- 格式:doc
- 大小:1.20 MB
- 文档页数:11
学号:20164477 姓名:陈家凤实验五SQL语言一、目的与要求1.掌握SQL语言的查询功能;2.掌握SQL语言的数据操作功能;3.掌握对象资源管理器建立查询、索引和视图的方法;二、实验准备1.了解SQL语言的查改增删四大操作的语法;2.了解查询、索引和视图的概念;3.了解各类常用函数的含义。
三、实验内容(一)SQL查询功能使用提供的studentdb数据库文件,先附加到目录树中,再完成下列题目,SQL命令请保存到脚本文件中。
1.基本查询(1)查询所有姓王的学生的姓名、学号和性别Select St_Name,St_Sex,St_IDFrom st_infoWhere St_Name like'王%'图5-1(2)查询全体学生的情况,查询结构按班级降序排列,同一班级再按学号升序,并将结果存入新表new中select*into newfrom st_infoorder by Cl_Name desc,st_ID asc图5-2(3)对S_C_info表中选修了“体育”课的学生的平均成绩生成汇总行和明细行。
(提示:用compute汇总计算)因2014版本已不支持compute关键字,所以选择用其他方式。
Select c_no,scoreFrom s_c_infoWhere c_no=29000011group by c_no,score图5-32.嵌套查询(1)查询其他班级中比“材料科学0601班”的学生年龄都大的学生姓名和年龄select st_name,born_datefrom st_infowhere cl_name!='材料科学0601班'and born_date<(select min(born_date) from st_info where cl_name='材料科学0601班')图5-4(2)用exists查询选修了“9710041”课程的学生姓名select st_namefrom st_infowhere exists(select*from s_c_info where c_no=9710041 andst_id=st_info.st_id)图5-5(3)用in查询找出没有选修“9710041”课程的学生的姓名和所在班级。
java实验5图形⽤户界⾯设计试验常⽤布局1)、流布局: FlowLayout 从左到右,⾃上⽽下⽅式在容器中排列,控件的⼤⼩不会随容器⼤⼩变化.容器.setLayout(new FlowLayout(FlowLayout.LEFT));2)、⽹格布局: GridLayout 按照指定⾏数与列数,将容器分成⼤⼩相等的单元格每个单元格放置⼀个控件. 不能将控件放在指定单元格 容器.setLayout(new GridLayout(3,4,10,15));3)、边界布局: BorderLayout 将容器分成东、西、南、北、中五个部分 容器.setLayout(new BorderLayout()); 窗⼝的内容⾯板默认布局就是边界布局。
容器.add(控件,BorderLayout.NORTH);4)、混合布局: 使⽤JPanel,将多个布局组合在⼀起使⽤5)、绝对布局 null: 以坐标定位 容器.setLayout(null); 每个控件在放置在容器之前,必须设置其边界 setBounds(x,y,width,height); btn.setBounds(10,100,30,60);常⽤事件1)、事件源 EventSource:能够触发事件控件如:JButton,JTextField,JFrame,JComboBox,....2)、事件 Event:ActionEvent,KeyEvent,WindowEvent,TextEvent,...3)、事件侦听者Listener(接⼝) ActionListener,WindowListener,...class A implements ActionListener{public void actionPerformed(ActionEvent e){....}}A lis=new A();4)、事件处理函数public void actionPerformed(ActionEvent e){....}事件流程:事件源触发事件-->事件源侦听者接收事件-->⾃动调⽤相应事件处理函数.实践编程1.在应⽤程序窗体中安排1个⽂本框,⼀个标签。
实验五 1位全加器的文本输入(波形仿真用)1.实验目的通过此实验让学生逐步了解、熟悉和掌握FPGA开发软件Quartus II的使用方法及VHDL 的编程方法。
学习电路的仿真方法。
2.实验内容本实验的内容是建立一个1位全加器。
在实验箱上的按键KEY1~KEY3分别为A、B 和Cin,并通过LED1~LED3指示相应的状态。
输出Sum和Cout通过LED7和LED8指示。
3.实验原理1位全加器的真值表如下所示。
表1位全加器逻辑功能真值表4.实验步骤(1) 启动Quartus II,建立一个空白工程,然后命名为full_add.qpf。
(2) 新建full_add.vhd源程序文件,编写代码。
然后进行综合编译。
若在编译过程中发现错误,则找出并更正错误,直到编译成功为止。
也可采用原理图文件的输入方式,建立半加器,然后在组成1位全加器。
原理图如下所示半加器设计1位全加器设计(3) 波形仿真步骤如下:① 在Quartus II 主界面中选择File → New 命名,打开新建文件对话框,从中选择V ector Waveform File ,如下图所示。
单击OK 建立一个空的波形编辑窗口。
选择File →Saveas 改名为full_add.vwf。
此时会看到窗口内出现如下图所示。
图 新建文件对话框 图 新建波形文件界面② 在上图所示的Name 选项卡内双击鼠标左键,弹出如图 所示的对话框。
在该对话框中单击Node Finder 按钮,弹出如图 所示的对话框。
图 添加节点对话框③ 按照下图所示进行选择和设置,先按下“list ”按钮,再按下“>>”按钮添加所有节点,最后按下“ok ”按钮。
图添加节点④波形编辑器默认的仿真结束时间为1us,根据仿真需要可以设置仿真文件的结束时间。
选择Edit→ End Time命令可以更改。
这里采用默认值不需更改。
图添加完节点的波形图⑤编辑输入节点的波形。
编辑时将使用到波形编辑工具栏中的各种工具。
实验五FTP与BBS的基本操作一.实验目的和要求:1. 学会利用FTP应用软件下载文件和上传文件。
2. 通过下载和上传的操作,要求知道FTP的匿名登录和授权用户的登录区别。
3. 学会操作电子公告牌BBS系统。
4. 能在浏览器IE的环境中,以匿名的方式直接登录到FTP服务器并下载文件。
二.实验内容:(一)FTP软件的使用文件传输FTP服务是Internet提供的服务之一,其功能是在Internet上把任意格式的文件从一台主机上传送到另一台主机上。
文件传送分为文件下载和文件上传两种方式。
所谓文件下载(Download)是指从远程计算机上将文件拷贝到用户自己的本地计算机上;而文件上传(Upload)是指将文件从用户自己的本地计算机中拷贝到远程计算机上。
目前常用FTP软件有CuteFTP和LeapFTP,它们是专用的FTP工具,具有可视界面、使用方便等特点。
下面将讲述如何利用它们下载和上传文件。
1.文件的下载一般来说,我们常常使用FTP的匿名服务,即从远程的FTP服务器下载文件。
如何下载文件呢?一种方法是在Windows的“开始”菜单的“运行”项中输入:ftp FTP域名服务器(或IP地址)然后回车,等待登录界面出现后,再按提示信息逐步操作。
但今天在这里我们主要介绍FTP窗口软件的使用,下面以CuteFTP Pro 2.0为例,讲解如何使用。
在Windows环境下,单击“开始”菜单,然后选择“程序”→“GlobalSCAPE”→“CuteFTP Pro”(文件夹)→“CuteFTP Pro”(可执行文件),单击左键即可打开CuteFTP Pro窗口,如图5.1所示。
图5.1 CuteFTP Pro连接向导● 根据连接向导提示进行有关操作。
具体步骤是:第一步在文本框中输入“连通浙大FTP ”,单击“下一步”;第二步在文本框中输入浙大FTP 服务器的域名: ,单击“下一步”;第三步选择复选框“匿名登录(A )”,单击“下一步”;第四步输入默认本地文件夹“e:\download ”,单击“下一步”,若不存在,则创建该文件夹;最后单击“完成”就可以在位于左边的“站点管理器”窗口中看到标签“连通浙大FTP ”,同时完成了匿名登录,在右边的窗口中显示FTP 服务器根目录下的内容。
实验五优先队列式分支限界法解装载问题09电信实验班I09660118 徐振飞一、实验题目实现书本P201所描述的优先队列式分支限界法解装载问题二、实验目的(1)掌握并运用分支限界法基本思想(2)运用优先队列式分支限界法实现装载问题(3)比较队列式分支限界法和优先队列式分支限界法的优缺点三、实验内容和原理(1)实验内容有一批共n个集装箱要装上2艘载重量分别为c1和c2的轮船,其中集装箱i的重量为Wi,且∑=+≤niiccw121,要求确定是否有一个合理的装载方案可将这n个集装箱装上这2艘轮船。
如果有,请给出方案。
(2)实验原理解装载问题的优先队列式分支限界法用最大优先队列存储活结点表。
活结点x在优先队列中的优先级定义为从根结点到结点x的路径所相应的载重量再加上剩余集装箱的重量之和。
优先队列中优先级最大的活结点成为下一个扩展结点。
优先队列中活结点x的优先级为x.uweight。
以结点x为根的子树中所有结点相应的路径的载重量不超过x.uweight。
子集树中叶结点所相应的载重量与其优先级相同。
因此在优先队列式分支限界法中,一旦有一个叶结点成为当前扩展结点,则可以断言该叶结点所相应的解即为最优解,此时终止算法。
上述策略可以用两种不同方式来实现。
第一种方式在结点优先队列的每一个活结点中保存从解空间树的根结点到该活结点的路径,在算法确定了达到最优值的叶结点时,就在该叶结点处同时得到相应的最优解。
第二种方式在算法的搜索进程中保存当前已构造出的部分解空间树,在算法确定了达到最优值的叶结点时,就可以在解空间树中从该叶结点开始向根结点回溯,构造出相应的最优解。
在下面的算法中,采用第二种方式。
四、源程序import parator;import java.util.Iterator;import java.util.PriorityQueue;import java.util.Scanner;public class test5 {public void addLiveNode(PriorityQueue<HeapNode> H,bbnode E,int wt,boolean ch,int lev){bbnode b = new bbnode(E,ch);HeapNode N = new HeapNode(b, wt, lev);H.add(N);}public int maxLoading(int w[],int c,int n,boolean bestx[]){PriorityQueue<HeapNode> H = new PriorityQueue(1000,new comp());/*生成最大堆*/int[] r = new int[n+1];r[n] = 0;for(int j=n-1;j>0;j--){r[j] = r[j+1] + w[j+1];}int i = 1;bbnode E = new bbnode(null,false);int Ew = 0;while(i!=n+1){if(Ew+w[i]<=c){addLiveNode(H, E, Ew+w[i]+r[i], true, i+1);}addLiveNode(H, E, Ew+r[i], false, i+1);HeapNode N;N=H.poll();i = N.level;E = N.ptr;Ew = N.uweight - r[i-1];}//构造最优解for(int j=n;j>0;j--){bestx[j] = E.Lchild;E = E.parent;}return Ew;}public static void main(String[] args){System.out.println("请输入物品总数:");Scanner sc1 = new Scanner(System.in);int n = sc1.nextInt();int[] w = new int[n+1];System.out.println("请输入物品重量:");Scanner sc2 = new Scanner(System.in);for(int i=1;i<=n;i++){w[i] = sc2.nextInt();}System.out.println("请输入箱子重量:");Scanner sc3 = new Scanner(System.in);int c1 = sc3.nextInt();int c2 = sc3.nextInt();boolean[] bestx = new boolean[100];test5 t = new test5();//处理第一个箱子System.out.println("first:"+t.maxLoading(w, c1, n, bestx));System.out.print("可装重为:");int count = 0;for(int i=1;i<=n;i++){if(bestx[i]){count++;System.out.print(w[i]+" "); /*输出一个可行方案*/ }}System.out.println();/*处理第二个箱子*/int m = n - count;int[] ww = new int[m+1];int k = 1;for(int i=1;i<=n;i++){if(!bestx[i]){ww[k] = w[i];k++;bestx[i] = false;}}System.out.println();System.out.println("second:"+t.maxLoading(ww, c2, m, bestx));System.out.print("可装重为:");for(int i=1;i<=m;i++){if(bestx[i]){System.out.print(ww[i]+" "); /*输出一个可行方案*/ }}}}/*堆结点类*/class HeapNode{bbnode ptr;int uweight;int level;public HeapNode(){}public HeapNode(bbnode ptr,int uweight,int level){this.ptr = ptr;this.uweight = uweight;this.level = level;}public String toString(){return ""+this.uweight;}}class bbnode{bbnode parent;boolean Lchild;public bbnode(bbnode node,boolean ch){this.parent = node;this.Lchild = ch;}}//定义比较器类class comp implements Comparator<HeapNode>{@Overridepublic int compare(HeapNode o1, HeapNode o2) {int dif = o1.uweight-o2.uweight;if(dif>0){return -1;}else if(dif==0){return 0;}else{return 1;}}}五、实验结果和分析a.输入格式说明:(1)首先输入物品总数量(2)第二栏输入所有物品重量(3)第三栏输入2个箱子的重量b.输出格式说明:(1)首先输出first的字样,后面的数字表示第一个箱子所能装载的最大重量,紧接着的一行输出一种可以选择装载的方案(2)Second字样后面的数字表示第二个箱子所能装载的最大重量,紧接着的一行输出一种可行方案经过分析,上述结果正确。
实验五不同分辨率图像融合一实验目的通过本次实验了解图像数据融合的基本原理和基本思路,学会利用ERDAS软件进行不同分辨率图像之间的融合,并对不同数据融合方法进行分析和比较,掌握不同数据融合方法的基本操作。
二实验原理在遥感中,数据融合属于一种属性融合,它是将同一地区的多源遥感影像数据加以智能化合成,产生比单一信息源更精确、更完全、更可靠的估计和判断。
在ERDAS是指分辨率融合(Resolution Merge)是对不同空间分辨率遥感图像的融合处理,使处理后的遥感图像既具有较好的空间分辨率,又具有多光谱特征,从而达到图像增强的目的。
一般来说,遥感影像的数据融合分为预处理和数据融合两步:1.预处理:主要包括遥感影像的几何纠正、大气订正、辐射校正及空间配准(1)几何纠正、大气订正及辐射校正的目的主要在于去处透视收缩、叠掩、阴影等地形因素以及卫星扰动、天气变化、大气散射等随机因素对成像结果一致性的影响;(2)影像空间配准的目的在于消除由不同传感器得到的影像在拍摄角度、时相及分辨率等方面的差异。
空间配准的精度一般要求在1~2个像元内。
2.ERDAS软件提供了三种图像融合方法:1、主成分变换融合(Pinciple Component)主成分变换融合是建立在图像统计特征基础上的多维线性变换,具有方差信息浓缩、数据量压缩的作用,可以更准确地提示提示多波段数据结构内部的遥感信息,常常是以高分辨率数据替代多波段数据变换以后的第一主成分来达到融合的目的。
具体过程是首选对输入的多波段遥感数据进行主成分变换,然后以高空间分辨遥感数据替代变换以后的第一主成分,最后再进行主成分逆变换,生成具有高空间分辨率的多波段融合图像。
2、乘积变换融合(Mutiplicative)乘积变换融合应用最基本的乘积组合算法直接对两种空间分辨率的遥感数据进地合成,即Bi_new=Bi_m*B_h,其中Bi_new代表融合以后的波段数值(i=1,2,3,..n),Bi_m表示多波段图像中的任意一个波段数值,B_h代表高分辨率遥感数据。
试验五 碰撞试验1、实验数据表格表5-1 弹性碰撞与完全非弹性碰撞 遮光片宽度x cm ∆=次 数 弹性碰撞完全非弹性碰撞ms t /10ms t /1ms t /2ms t /10ms t /1 2 3 4 52、实验数据处理表5-2 弹性碰撞 120210,,-⋅===s m v kg m kg m次 数 碰撞前碰撞后百分偏差110/-⋅s m v1101/-⋅⋅=s m kg v m p 11/-⋅s m v 1111/-⋅⋅=s m kg v m p 12/-⋅s m v1222/-⋅⋅=s m kg v m p21p p p +='%100⨯'-=p p p c 1 2 3 4 5注:p p '<为不合格数据,应当剔除(请思考原因)表5-3 完全非弹性碰撞 120210,,-⋅===s m v kg m kg m次 数碰撞前碰撞后百分偏差110/-⋅sm v1101/-⋅⋅=s m kg v m p1/-⋅sm v121/)(-⋅⋅+=s m kg v m m p%100⨯'-=pp p c 1 2 3 4 53、计算结果与分析(1)两类碰撞前后动能的变化 (2)非完全弹性碰撞的恢复系数 (3)对实验结果的分析和评价 4、简答题 教材P64.习题3试验六 转动惯量的测定1、实验数据记录与处理表格表6-1a 测空台转动惯量0I1 2 3 4 5 g m /ms t /1∆平均值ms t /2∆平均值)/(m d表6-1b 测空台转动惯量0I)/(m N M ⋅)/(2-⋅s rad β注:用作图法,作β-M 图线,是一条直线,它的斜率就是空台对转轴的转动惯量0I表6-2a 测圆盘转动惯量1I1 2 3 4 5 g m /ms t /1∆平均值ms t /2∆平均值表6-2b 测圆盘转动惯量1I)/(m N M ⋅)/(2-⋅s rad β注:用作图法,作β-M 图线,是一条直线,它的斜率就是空台+待测圆盘对转轴的转动惯量1I ',圆盘对转轴的转动惯量0111,I I I I -'= 表6-2c 测圆盘转动惯量1I 挡光片的宽度为cm s 00.1=∆g m /cm d /1注:该表格用于计算转动惯量1I 的理论值理论1I ,用于对计算结果进行误差分析。
实验五挥发性双液系T~X图的绘制1.实验目的及要求1)用回流冷凝法测定沸点时气相与液相的组成,绘制双液系(环己烷~异丙醇的T~X 图)。
并找出恒沸点混合物的组成及恒沸点的温度。
2)了解阿贝折光仪的构造原理,熟悉掌握阿贝折光仪的使用。
2.实验原理单组分液体在一定的外压下沸点为一定值,把两种完全互溶的挥发性液体(组分A和B)混合后,在一定的温度下,平衡共存的气、液两相组成通常并不相同。
因此结果在恒压下将溶液蒸馏,测定馏出物(气相)和蒸馏液(液相)的组成,就能找出平衡时气、液两相的成分并绘出T~X图。
完全互溶的双液系T~x图可分为三类:①液体与拉乌尔定律的偏差不大在T~x图上溶液的沸点介于A、B两纯物质沸点之间如图1(a)所示,如苯~甲苯体系。
②实际溶液由于A、B两组分相互影响,常与拉乌尔定律有较大负偏差,在T~x图上出现最高点,如图1(b)所示,如盐酸~水体系;丙酮~氯仿体系等。
③A、B两组分混合后与拉乌尔定律有较大的正偏差,在丁~X图上出现最低点如图1(c)所示,如水~乙醇、苯~乙醇等体系。
②③类溶液在最高点或最低点时气~液两相组成相同,这些点称为恒沸点,其相应的溶液称为恒沸点混合物,恒沸点混合物靠蒸馏无法改其组成。
,平衡时气~液两相组成的分析,使用折射仪测定,因为溶液的折射率与组成有关。
图1 完全互溶双液系的T~X图本实验选择一个具有最低恒沸点的环己烷-异丙醇体系。
在101325pa下测定一系列不同组成的混合溶液的沸点及在沸点时呈平衡的气液两相的组成,绘制T~X图,并从相图中确定恒沸点的温度和组成。
相图中确定恒沸点的温度和组成。
测定沸点的装置叫沸点测定仪(图2)。
这是一个带回流冷凝管的长颈圆底烧瓶。
冷凝管底部有一半球形小室,用以收集冷凝下来的气相样品。
电流通过浸入溶液中的电阻丝。
这样可以减少溶液沸腾时的过热现象,防止暴沸。
测定时,温度传感器要插在液面下,准确测出平衡温度。
溶液组成分析:由于环己烷和异丙醇的折光率相差较大,而折光率的测定又只需少量样品,所以,可用折光率一组成工作曲线来测得平衡体系的两相组成。
信号分析与控制Signal Analysis and Control实验报告MATLAB仿真实验5线性系统的根轨迹导师:团队成员:电脑序号12&172020.12.11一、实验目的1. 熟悉MATLAB用于控制系统中的一些基本编程语句和格式。
2. 利用MATLAB语句绘制系统的根轨迹。
3. 掌握用根轨迹分析系统性能的图解方法。
4. 掌握系统参数变化对特征根位置的影响。
二、基础知识及MATLAB函数根轨迹是指系统的某一参数从零变到无穷大时,特征方程的根在s平面上的变化轨迹。
这个参数一般选为开环系统的增益K。
课本中介绍的手工绘制根轨迹的方法,只能绘制根轨迹草图。
而用MATLAB可以方便地绘制精确的根轨迹图,并可观测参数变化对特征根位置的影响。
假设系统的对象模型可以表示为11210111()()m mm mn nn nb s b s b s bG s KG s Ks a s b s a-+--++++==++++系统的闭环特征方程可以写成1()0KG s+=对每一个K的取值,我们可以得到一组系统的闭环极点。
如果我们改变K的数值,则可以得到一系列这样的极点集合。
若将这些K的取值下得出的极点位置按照各个分支连接起来,则可以得到一些描述系统闭环位置的曲线,这些曲线又称为系统的根轨迹。
绘制系统的根轨迹rlocus()MATLAB中绘制根轨迹的函数调用格式为:rlocus(num,den) 开环增益k的范围自动设定。
rlocus(num,den,k) 开环增益k的范围人工设定。
rlocus(p,z) 依据开环零极点绘制根轨迹。
r=rlocus(num,den) 不作图,返回闭环根矩阵。
[r,k]=rlocus(num,den) 不作图,返回闭环根矩阵r和对应的开环增益向量k。
其中,num,den分别为系统开环传递函数的分子、分母多项式系数,按s的降幂排列。
K为根轨迹增益,可设定增益范围。
例5-1:已知系统的开环传递函数32(1)()429sG s Ks s s*+=+++,绘制系统的根轨迹的matlab 的调用语句如下:num=[1 1]; %定义分子多项式den=[1 4 2 9]; %定义分母多项式rlocus (num,den) %绘制系统的根轨迹grid %画网格标度线xlabel('Real Axis'),ylabel('Imaginary Axis') %给坐标轴加上说明title('Root Locus') %给图形加上标题名则该系统的根轨迹如图5-1(a)所示。
实验五内置对象一、实验目的1.了解常用的内置对象的用途2.掌握内置对象的使用方法3.熟悉配置文件的作用二、实验环境Windows XP操作系统,Visual Studio 2005。
三、实验内容1.Request对象的使用2.Cookie对象和Response对象的使用3.Session对象的使用4.Application对象的使用5.配置文件的使用四、相关知识1.见第五讲PPT五、操作步骤(一)Request对象的使用1、完成教材P54任务1。
第一步:建立界面新建名为sun3_1的网站将默认窗体的文件名由Default改为sun3_1如图所示,使用一个层和一个1行2列的表格进行布局将一个RadioButtonList控件置于布局表格的左侧通过RadioButtonList的集合编辑器为RadioButtonList添加5个选项并将RadioButtonList控件的AutoPostBack属性设置为true。
在布局表格右侧添加一个ListBox控件和一个Label控件将Label控件的Text属性设置为"来访者相关信息".第二步:编写事件代码双击RadioButtonList控件,编写代码。
第三步:运行程序2、按下列要求制作网页LX5_1.aspx和LX5_1.aspx,完成后的启动界面如下图1所示,当用用户单击“提交”按键后则显示用户输入的相应信息,如图2所示界面。
图1 图2 操作步骤:步骤1:打开Visual Studio 2005,双击创建网站,在【新建网站】窗口中选择“ 网站”,输入网站名为学号后三位_LX4_1,在【语言】中选择“Visual C#”,单击“确定”按钮。
步骤2:在【解决方案资源管理器】中右击“Default.aspx”选择“重命名”,修改文件名为“LX5_1.aspx”。
步骤3:将光标定位在设计窗口,从工具箱中拖一控件Panel到该窗口中,然后选择菜单【布局】|【插入表】命令,插入一个2列3行的表格,然后按题目要求分别在第一列的第一行和第二行输入学号,姓名;在第二列的第一行和第二行分别从工具箱中拖入控件TextBox;在第二列的第三行中从工具箱中拖入控件Button,并将其Text属性修改为“提交”,如下图所示:步骤4:从工具箱中拖入一个Panel到上图的Panel1下面,设置该Panel2的Visible属性为“False”;然后再从工具箱中拖一个Lable控件到Panel2中。
步骤5:双击Panel1中的提交按钮,输入如下所示代码:Panel1.Visible = false;Panel2.Visible = true;Label1.Text = "你的学号是:" + Request["TexBox1"] + "<br/>你的姓名是:" + Request["TextBox2"];步骤6:按Ctrl+F5运行,并在文本框中输入相应的信息进行网页的正确性测试。
3、显示指定文件所在的位置。
操作步骤:步骤1:打开Visual Studio 2005,双击创建网站,在【新建网站】窗口中选择“ 网站”,输入网站名为学号后三位_LX5_2,在【语言】中选择“Visual C#”,单击“确定”按钮。
步骤2:在【解决方案资源管理器】中右击“Default.aspx”选择“重命名”,修改文件名为“LX5_2.aspx”。
步骤3:在设计界面中输入文字:“我当前的文件位置:”,从工具箱中拖一Label控件到上述文字下面,如下图所示:步骤4:在LX5_2.aspx.cs文件中输入如下图阴影部分所示代码:Label1.Text = Request.MapPath("lx5_2.aspx");步骤5:按Ctrl+F5运行,查看运行结果。
(二)Cookie对象和Response对象的使用1. 完成P60页任务2。
第一步:建立新网站新建名为:sun3_2的网站将默认窗体的文件名由Default改为sun3_2使用一个2行3列的表格进行布局将2个Label控件分别置于布局表格的左侧将其Text属性设置为用户名和密码在布局表格中添加两个TextBox控件、一个Button控件和一个CheckBox控件将Button控件的Text属性设置为登入将CheckBox控件的Text属性设置为记住用户名和密码第二步:添加一个新项目在解决方案资源管理器中,右击项目名称,选择添加新项,选择HTML页将默认名称HTMLPage.htm改为login.htm在页面中直接输入登入成功,欢迎光临通过DOCUMENT属性中的style项对页面中内容的格式进行设置第三步:编写时间处理代码单击登录命令按钮时,定义两个Cookie,分别为ID和PW,将两个Cookie的生存期设置为2008年12月12日,并将两个文本框中的内容分别写到上述两个Cookie中,然后切换到login.htm页面上。
(程序3-2)首先判断页面定义的Cookie是否为空,若不为空则将Cookie中的内容读出并置于TextBox1和TextBox2两个文本框中,这样用户在自己机器上第二次登录同一个页面是,直接单击登入按钮即可(程序3-3)第四步:运行程序2. 新增二个Cookie变量,使用for循环分别利用Cookie集合的Item属性以及Get方法将Cookie变量传回。
操作步骤:步骤1:打开Visual Studio 2005,双击创建网站,在【新建网站】窗口中选择“网站”,输入网站名为学号后三位_LX5_2,在【语言】中选择“Visual C#”,单击“确定”按钮。
步骤2:在【解决方案资源管理器】中右击“Default.aspx”选择“重命名”,修改文件名为“LX5_3.aspx”。
步骤3:在文件LX5_3.aspx.cs中输入如下图阴影部分所示代码。
short i;Response.Cookies["myCookie1"].Value = "Micorsoft ";Response.Cookies["myCookie2"].Value = "";for(i = 0;i<Request.Cookies.Count;i++){Response.Write("变量名称:" + Request.Cookies[i].Name + "<br/>变量内容:" + Request.Cookies.Get(i).Value + "<br/>");}Response.Cookies.Clear();步骤4:按Ctrl+F5运行进行网页的正确性测试。
(三)Session对象的使用1、完成教材P64任务3。
第一步:建立新网站新建名sun3_3的网站将默认窗体文件名由Default改为sun3_3使用层和表格布局并添加两个Label控件,两个TextBox控件,一个Button控件改变控件的Text属性右击项目名称,选择添加新项选择Web窗体,即新添入一个名为Default.aspx的新的Web窗体,将其命名为index.aspx 在index.aspx窗体的设计视图中直接输入“欢迎光临我的网站”右击项目名称,选择添加新项选择HTML页,将默认名称HTMLPage.htm改为login.htm在login.htm页面的设计视图中直接输入“你还没有登录,或网页超时,请重新登录”将sun3_3页面设置为起始页第二步:编写代码假设用户的合法用户ID和密码分别是“sun”和“12345”,当用户以合法用户ID登入后,将OK写入到Session"ID"]中,同时将Session的生存时间设置为1分钟,然后跳转至index.aspx页面(程序3-5)防止隐患(程序3-6)第三步:执行效果(四)Application对象的使用1、完成教材P69任务4。
第一步:建立新网站新建名为sun3_4的网站将默认窗体文件名由Default改为sun3_4参照任务3中的方法,建立用户注册网页在解决方案管理器中,右击项目名称,选择添加新项Web窗体,将默认名称Default.aspx改为chat.aspx在chat.aspx窗体的设计视图中建立一个聊天室主页面,该页面包括一个Button控件和两个文本框两个文本框名字分别为TextBox1和TextBox2在属性窗口中将Text1的TextMode设置为MultiLine第二步:别写事件书里代码将用户的注册信息写入到Session中,以备chat.aspx页面使用,然后跳转至chat.asp页面中。
(程序3-8)当提交按钮单击时,该段代码被执行,其作用是将聊天信息发布到聊天室(程序3-9)当chat.aspx页面被打开初始化的时候,Page_Load事件发生,这段代码被执行,其作用是将聊天室的内容显示出来第三步:设置刷新聊天室需要定时刷新,这样才能及时地看到其他人发布的信息,在chat.aspx的源视图中,在<head></head>标记中,添加相应语句,即可实现刷新(程序3-11)第四步:执行效果(五)配置文件的使用1、完成教材P72任务5.第一步:建立新网站新建名为sun3_6的网站将默认窗体文件名由Default改为sun3_6添加一个名为TextBox1的文本框在解决方案资源管理器中,右击项目名称,选择添加新项选择全局应用程序类,其默认名称改为Global.asax在解决方案资源管理器中,右击项目名称,选择添加新项选择Web配置文件,其默认的名称为Web.config第二步:编写事件处理代码Global.asax文件中的代码(程序3-12)Web.config文件中仅需插入如下代码:<sessionState mode ="InProc" />Sun3_5.aspx.CS中代母(程序3-13)第三步:运行程序11。