- 大学课程-人机交互期末复习
海海不掉头发
每天学习一点点人机交互
绪论什么是人机交互技术?⭐⭐是指关于设计、评价和实现供人们使用的交互式计算机系统,并围绕相关的主要现象进行研究的学。狭义的讲,人机交互技术主要是研究人与计算机之间的信息交换,它主要包括人到计算机和计算机到人的信息交换两部分。简单介绍人机交互技术的研究内容?⭐⭐人机交互的研究内容十分广泛,涵盖了建模、设计、评估等理论和方法,以及在Web、移动计算、虚拟现实等方面的应用研究,主要包括以下内容:人机交互
- Java泛型中 T 与 T的区别和用法
Java大数据布道者
T表示返回值是一个泛型,传递啥,就返回啥类型的数据,而单独的T就是表示限制你传递的参数类型,这个案例中,通过一个泛型的返回方式,获取每一个集合中的第一个数据,通过返回值T和T的两种方法实现一、T用法TT.png二、T用法T.pnggoldmei.png
- 成长
长夜无风入梦
当一个人,成长了。才发现,当初那么多自己口中的不可能,都会变得可能。第一次学习成绩下降,第一次面对同学的不同目光,第一次看到父母钱不够,第一次坐了公交车,第一次步行到达目的地,第一次和同学打游戏,第一次看到别人讨厌的目光,第一次看到讨债的人,和负债的人。太多第一次,我才明白,这就是成长啊!不愿意但是必须。
- 人机交互中的当斯定律
人机与认知实验室
人机交互
当斯定律(Dunbar'sLaw)通常是在社交网络和组织行为中讨论的一个理论,源于人类社会学和计算机科学领域。它由英国人类学家罗宾·邓巴(RobinDunbar)提出,最初与人类社会中社交关系的数量有关。在人机交互和计算机科学中,当斯定律也被用来理解用户和系统之间的互动复杂性。当斯定律的核心概念涉及:1.社交圈限制:当斯定律最初指的是人类大脑的社交圈的限制,即一个人能够维持稳定社会关系的最大数量。
- 萤火虫
下一个明天一另一个我
在天津卖楼的那第一次见到了一直耳熟能详的萤火虫!只不过没有记忆中的那么亮!但是成千上万一起飞其实也是很美的!但是后期再翻阅照片的时候发现仅剩下来了一只的照片!图片发自App
- Linux 如何创建进程函数与查看进程_linux java进程 查看热点函数
2401_85154737
javalinux开发语言
进程创建函数进程就是pcb,意味着创建一个进程,就是创建一个pcbpid_tfork(void)–通过复制调用进程(父进程)创建一个新的进程(子进程)创建一个新的pcb,然后从父进程pcb中复制了很多数据过来复制的主要信息有内存指针,程序计数器,上下文数据。内存指针:子进程与父进程运行的代码其实是一样的–指向同一块物理内存中的数据及指令程序计数器/上下文数据:子进程被创建出来后,运行位置与父进程是
- 梦回十年,学生时光,老衲,有一声“对不起”
左道凡
如果不是这次征文,老衲,将带着一段学生时光埋葬。那年中考成绩不是很理想,本就出生农家的我,更加迷茫,十六岁的年纪,说懂事了吧,也不太懂事儿,说不懂事儿吧,也能听得善恶之语,明白人情冷暖的眼神儿农村的孩子是不幸的,也是幸运的,你们相信么,念完可初中的我,打得了五笔输入法,去了网吧竟然不知道开机键在哪里,就这么有趣,有人会问了,那你初中的计算机课怎么上的,一个月上二回“微机课”戴鞋套的那种,方脑壳得显
- Nginx中的server块和location块详解
Maiko Star
nginx服务器前端
一、listen指令listen:用来配置监听端口。语法listenaddress[:port][default_server]...;listenport[default_server]...;默认值listen*:80|*:8000位置serverlisten的设置比较灵活,我们通过几个例子来把常用的设置方式熟悉下:listen127.0.0.1:8000;//listenlocalhost:
- 那些年我们挨过的打
恩希恩在
被简单粗暴养大的孩子,成为简单粗暴养孩子的妈妈。不知不觉中陷入这样的恶性循环,被柚子从噩梦中的哭喊当头一棒。以往也打过柚子,但是没有带着今晚这么多愤怒和无情。今天有两个人已经告诉过我孩子比大人聪明得多,他们的感受能力也敏锐得多,然而,不知道被什么塞住了,我的耳朵。记得我要缠着姥姥回姥姥家时,被妈妈打;偷偷拿家里的钱去买零食时被妈妈打;夜半不睡高声读书时被妈妈打……妈妈打我一定都有妈妈的道理,那时的
- 无边框窗口的移动和改变大小
梦想如此多娇
QTqt开发语言
.hQStringgetImage();//无边框可改变大小boolisLeftPressDown;//判断左键是否按下QPointdragPosition;//窗口移动拖动时需要记住的点Directiondir;//窗口大小改变时,记录改变方向//无边框的界面鼠标移动事件QPointmousePoint;boolmouse_press=true;voidmouseMoveEvent(QMouse
- 从头再来
火玫瑰姐姐
一直都在说坚持的力量,自从日更断了一次之后就接不上了,人都是有惰性的,很多时候真的觉得没有可以写的素材。不管是出于什么心态开始了,虽然很多时候是为了完成任务,但是有的时候还真的是真情流露,对孩子的责备之心也好,对别人的仰慕之情也罢,当时的激动情绪如果记录下来,或许也是不错的选择,或许会成为人生中的美好回忆。就像记日记,或许真的对写作没有太大帮助,但是对于习惯的养成是不是还是很有帮助的呢?可以记录孩
- 罗秋兰本体非常青春期:孩子为什么突然爱上了学习?
秋兰心语
【小编按】各位家长朋友:大家好!最近,我们收到了很多家长朋友的后台留言,大家关注的一个焦点,在于如何能够通过有效的亲子沟通,让孩子喜欢上学习。为此,我们精心选取了秋兰老师原创的“孩子为什么突然爱上了学习”这篇文章,本文内设情境化场景,让您更好地理解亲子关系中的沟通技巧。在您学习后,如果还希望能够得到秋兰老师的亲自答疑,可以在留言区留言,我们会及时进行收集梳理,选取有代表性的问题在“答疑”板块为您进
- 软件架构师:理论与实践全攻略
二院大蛙
本文还有配套的精品资源,点击获取简介:本文探讨了软件架构师在IT行业中的重要性,讲解了软件架构设计的核心概念和实践方法。软件架构设计作为软件开发的关键阶段,定义了系统的整体结构和组织方式,包括模块化设计原则、系统扩展性、稳定性、可维护性和技术选型等方面。文章还强调了沟通协作的重要性,以及软件架构的迭代和敏捷性,旨在帮助读者成为优秀的软件架构师。1.软件架构设计核心概念在构建复杂的软件系统时,良好的
- django 刷新缓存_django缓存配置的几种方法详解
weixin_39928667
django刷新缓存
为什么要用缓存?首先说,为什么要用缓存的,由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时(时间可以设置),则不再去执行view中的操作,而是直接从内存或者Redis中之前缓存的内容拿到,并返回。另外,缓存只是一类统称,一般其介
- 三年级语文上册 第八单元 3《灰雀》
郑云丹
鸟类王国中的大比拼——《灰雀》课文《灰雀》为我们讲述了一个列宁以爱鸟之情感染、启发孩子放鸟归园的故事。列宁在郊外养病的冬天,每天都要到公园散步。他注意到有一棵高大的白桦树,树上有三只灰雀,其中“两只胸脯是粉红的,一只胸脯是深红的”。可是,有一天,列宁却发现那只胸脯是深红的灰雀不见了……你瞧,他观察得多仔细呀!一、屠格涅夫的妙招观察力是一项非常重要的能力,对于作家来说,拥有敏锐的观察力是极为必要的。
- AAC---LiveData
None_Ling
LiveDataLiveData是一个与Activity/Fragment生命周期相关(lifecycle-aware)的Observer类。而这种相关性(awareness)会导致LiveData中的数据只有在Active状态下才会被回调。我们可以通过实现了LifeCycleOwner接口的对象来提供生命周期的感知。而LiveData这种方式会使得不用再考虑Activity或者Fragment的
- 读书《上一堂朴素的语文课》收获3
greenorchid
(31)教学要以学生为中心,但是千万不能“教师不作为”。(32)要用教师的力量、教师的思考、教师的明智、教师的信念和教师的情操去鼓舞血汗的思想和情感。(33)教师不仅是学生学习的组织者、策划者,更是指导者、引领者、参与者,是平等中的首席。(34)教师需要根据教学情况临时生成讲解的内容,这样的临时生成,就需要更强的实力,更广博、更充分的知识储备以及足够的应变调控能力。(35)语文教学要讲学生自己学不
- 分布式缓存与一致性hash简介
Tronhon
redis缓存分布式缓存一致性hash
1,分布式缓存简介分布式缓存能够处理大量的动态数据,因此比较适合应用在Web2.0时代中的社交网站等需要由用户生成内容的场景。从本地缓存扩展到分布式缓存后,关注重点从CPU、内存、缓存之间的数据传输速度差异也扩展到了业务系统、数据库、分布式缓存之间的数据传输速度差异。业务系统、数据库、分布式缓存之间的数据流业务系统、数据库、分布式缓存之间的数据流图1业务系统、数据库、分布式缓存之间的数据流2,分布
- 区分PC端还是移动端
praycis
varos=function(){varua=navigator.userAgent,isWindowsPhone=/(?:WindowsPhone)/.test(ua),isSymbian=/(?:SymbianOS)/.test(ua)||isWindowsPhone,isAndroid=/(?:Android)/.test(ua),isFireFox=/(?:Firefox)/.test(u
- 7.24 资深管理人日课感悟
自如得己
【管理的未来是真的归于“无”?】一个企业的发展重点不同,决定了管理在企业中的重要程度。无领导管理,不是没有管理,而是将管理的权利给予小组内的成员,自我组织、自我管理,减少反馈的层级,提成组织运作效率。
- 使用Python实现12306自动化抢票
柳绿花红云淡风轻
pythonpythonselenium软件测试
今天实现用python实现自动访问12306网站并抢票准确工作1.下载Chrome驱动,需要与chrome版本保持一致如何查看chrome浏览器版本-百度经验(baidu.com)2.下载代码中的相关包,主要selenuim、splinter注意事项:sleep设置时注意爬取速度限制,chrome版本与驱动器版本需要保持一致,由于12306图片验证码复杂,登录时需要手动选择验证图片。如何查看城市的
- 游七佛山
8653d0e0c0b8
沿着小径行走,仿佛走进了理想中的“桃花源”。放眼望去,四面竹树环合,郁郁葱葱,透出一派生机;细长的柳条垂下,为美景蒙上了一层窗纱,给人一种朦胧美感。湖水清澈碧绿,光如明镜,像一块无瑕的翡翠,上面有淼淼碧波、层层水浪,微风拂过,湖水掀起阵阵波浪,在阳光的照耀下,闪烁出五颜六色的光芒,真是美丽极了。不禁让人联想到苏轼词中的“水光潋滟晴方好”,此情此景,果真如此。
- swap function & copy-and-swap idiom
leon4ever
在C++中,一个资源管理类(例如含有指向堆内存的指针)中需要重新定义拷贝构造函数、赋值运算符以及析构函数(BigThree),在新标准下还可能需要定义移动构造函数和移动赋值预算法(BigFive)。但实际上,这条规则还可以有一个小拓展。就是在资源管理类中,往往需要重新定义自己的swap函数来作为优化手段。1.Swap函数首先考察如下例子,假设类HashPtr中含有一个指向string的指针*ps和
- python闭包的作用
hzw0510
pythonpython开发语言
python闭包的作用Python中的闭包是一种强大的编程概念,它在处理函数和作用域时提供了灵活性和便利性。下面是闭包的一些主要作用和应用:1.封装数据和函数闭包可以将数据和操作这些数据的函数封装在一起,使得外部无法直接访问这些数据。这有助于创建数据的私有性。defmake_counter():count=0defcounter():<
- Nginx启动后不能正常访问
hzw0510
运维nginxtcp/ip网络
背景介绍新增NGINX配置文件后,重启nginx无法访问服务。NGINX启动不报错,测试nginx配置文件nginx-t也没问题。定位问题思路与步骤查看NGINX配置文件发现NGINX配置文件中的user是wwwuserwwwwww;查看NGINX相关文件夹的权限发现有些文件的所有者不属于www。修改NGINX相关文件所有者为wwwchown-Rwww:www/xxx/重启NGINX查看当前运行的
- 最有成就感的事情,莫过于成为一位好妈妈
莱雪思
这两天,收到了女儿从学校发来的语音:“老妈,相比我同学的妈妈,我觉得你比较好。”听到女儿这句话,瞬间有种成就感,我对女儿说:“感谢你对老妈的肯定。”世上没有哪个母亲不疼爱自己的孩子,也没有哪个孩子不喜欢自己的母亲。可在亲子相处之中,彼此间发生的冲突,却将亲子关系越推越远。我很庆幸自己能在反思中,不断地自我修正,成为孩子心目中的好妈妈。反思过去,我总结出成为好妈妈的三个法宝。01倾听,是走进女儿内心
- 元组和列表的区别
南山关小北
Python元组和Python列表数据类似,都是线性表。唯一不同的是,Python元组赋值后所存储的数据不能被程序修改,可以将元组看作是只能读取数据不能修改数据的列表。一声明与赋值声明一个元组并赋值的语法与列表相同,不同之处是元组使用小括号,列表使用方括号,元素之间也是用英文逗号分隔。需要注意的是,当元组只有一个元素时,需要在元素的后面加一个英文逗号分隔符,以防止与表达式中的小括号混淆。这是因为小
- 。。。。
nothing5524
关于两个老家伙是怎么对我的。a:读初中的时候,zse就开始莫名其妙的骂我。对我不闻不问。给点只够生活的钱。然后又联合家那边的亲戚骂我,说我性格不好,要搞死我。高中读完想复读,放狠话说这是不可能的。不过还是出钱给我读书。读大学的时候嫌我回家浪费车费扇我巴掌。打我。家里关系差。经常吵架打cfr.基本就是对我不闻不问。不怎么关系。一副厌恶的的态度。大学毕业我抑郁了,毕竟孤独了那么多年,想成功,想有自己的
- 深入解析:【window】对象在多文件 JavaScript 环境中的作用与调用机制
OEC小胖胖
JavaScriptjavascript开发语言ecmascript前端web
1.window对象:JavaScript的全局对象在浏览器环境中,window对象是所有全局对象的载体。每个浏览器页面都有一个对应的window对象,代表浏览器的窗口或框架。所有全局作用域中的变量、函数、以及其他对象都自动成为window对象的属性。varglobalVar="Hello,world!";functionglobalFunction(){console.log("Thisisag
- CSS中inset属性详细讲解
OEC小胖胖
css前端
CSS中的inset属性是一种用于定位和调整非static定位元素的缩略属性。它是四个单独属性的简写,这些属性是top、right、bottom和left。通过inset属性,可以同时设置这些属性的值,简化代码书写。1.属性语法inset属性的语法如下:/*单个值*/inset:|;/*两个值*/inset:||;/*三个值*/inset:|||;/*四个值*/inset:||||;①单个值当提供
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include