JSP
1.JSP内置对象有那些?
[size=9pt; font-family: Tahoma;] request
表示
HttpServletRequest
对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取
cookie, header,
和
session
数据的有用的方法。
response
表示
HttpServletResponse
对象,并提供了几个用于设置送回
浏览器的响应的方法(如
cookies,
头信息等)
out
对象是
javax.jsp.JspWriter
的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
pageContext
表示一个
javax.servlet.jsp.PageContext
对象。它是用于方便存取各种范围的名字空间、
servlet
相关的对象的
API
,并且包装了通用的
servlet
相关功能的方法。
session
表示一个请求的
javax.servlet.http.HttpSession
对象。
Session
可以存贮用户的状态信息
applicaton
表示一个
javax.servle.ServletContext
对象。这有助于查找有关
servlet
引擎和
servlet
环境的信息
config
表示一个
javax.servlet.ServletConfig
对象。该对象用于存取
servlet
实例的初始化参数。
page
表示从该页面产生的一个
servlet
实例
[/size]
2.forward与redirect的区别,forward可否重定向?
[size=9pt; font-family: Tahoma;]forward
是服务器请求资源,服务器直接访问目标地址的
URL
,把那个
URL
的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect
就是服务端根据逻辑
,
发送一个状态码
,
告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以
session,request
参数都可以获取。
[/size]
但forward ()无法重定向至有frame的jsp文件,可以重定向至有frame的html文件
3.JSP与servlet的关系
[size=9pt; font-family: Tahoma;] JSP
是
Servlet
技术的扩展,本质上是
Servlet
的简易方式,更强调应用的外表表达。
JSP
编译后是
"
类
servlet"
。
Servlet
和
JSP
最主要的不同点在于,
Servlet
的应用逻辑是在
Java
文件中,并且完全从表示层中的
HTML
里分离开来。而
JSP
的情况是
Java
和
HTML
可以组合成一个扩展名为
.jsp
的文件。
JSP
侧重于视图,
Servlet
主要用于控制逻辑。
[/size]
数据库(mysql)
1.两表联合查询的方式
连接查询
嵌套查询
联合查询(union)
2.查询10-20条记录
select * from tablename <[/size]
条件语句
> limit 10,10
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
<![endif]-->
select * from tablename limit [offset],(rows)
[/size]
注释:
offset
为偏移量
rows
为要取出的记录条数
Oracle
SELECT *
FROM ( SELECT TOP 20 *
FROM (SELECT TOP 29 * FROM Sys_option order by sys_id desc) t1) t2
Order by sys_id asc
with partdata as (select rownum rowno,t.* from table1 t where t.id>200407160000)
select * from partdata where rowno between 10 and 20
3.分页
mysql SELECT * FROM 表名称 LIMIT M,N
Oracle
PAGESIZE:每页显示的记录数
CURRENTPAGE:当前页号
数据表的名字是:components
索引主键字是:id
select * from components where id not
in(select id from components where
rownum<=(PAGESIZE*(CURRENTPAGE-1)))
and rownum<=PAGESIZE order by id;
如下例:
select * from components where id not in
(select id from components where rownum<=100)
and rownum<=10 order by id;
从101到记录开始选择,选择前面10条。
mysqldump -u root -p test>c:\test.txt
备份表格:(备份test数据库下的mytable表格)
mysqldump -u root -p test mytable>c:\test.txt
将备份数据导入到数据库:(导回test数据库)
mysql -u root -p test
格式:grant 权限 on 数据库.表格| 其他 to 用户@主机 IDENTIFIED BY 口令
例1:给test用户在本地localhost 所有权限(除了GRANT OPTION),口令为 test
(相当于修改了test 用户的口令)
mysql>grant all on *.* to test@localhost identified by "test";
等同于
mysql>grant all on *.* to test @localhost identified by PASSWORD " *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 ";
例2、增加一个用户test密码为abc,让他可以在任何主机上登录,并对test数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
mysql>grant select,insert,update,delete on test.* to test@"%" Identified by "abc";
在mysql.user 表中,有两个test 用户
一个test 用户,在本地有所有的权限
另外的test 用户,在所有主机上有增删改查权限
同样可以取消部分权限(全部)
mysql>revoke insert,update,delete on test.* from test@"%"
mysql>REVOKE ALL PRIVILEGES, GRANT OPTION FROM test@"%"
然后 mysql> FLUSH PRIVILEGES;
Test 用户不再使用用了,也可以删除
mysql>Delete from user where user='test' and host='%'
mysql> FLUSH PRIVILEGES;
注意:例2增加的用户是比较危险的,你想如某个人知道test的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据库test为所欲为了(可以通过限定主机)
mysql>grant select,insert,update,delete on test.* to test@"IP地址" Identified by "abc";
[/size]
Cache”是什么
Cache(即高速缓冲存储器(Cache Memory)
linux
两个服务器之间传送文件
开启了samba服务器的情况下:cp 文件 smb://IP/目录+文件名