JSP所有知识点详细整理百科全书MLDNWord文件下载.docx

上传人:b****4 文档编号:6518594 上传时间:2023-05-06 格式:DOCX 页数:50 大小:33.57KB
下载 相关 举报
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第1页
第1页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第2页
第2页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第3页
第3页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第4页
第4页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第5页
第5页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第6页
第6页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第7页
第7页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第8页
第8页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第9页
第9页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第10页
第10页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第11页
第11页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第12页
第12页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第13页
第13页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第14页
第14页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第15页
第15页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第16页
第16页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第17页
第17页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第18页
第18页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第19页
第19页 / 共50页
JSP所有知识点详细整理百科全书MLDNWord文件下载.docx_第20页
第20页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JSP所有知识点详细整理百科全书MLDNWord文件下载.docx

《JSP所有知识点详细整理百科全书MLDNWord文件下载.docx》由会员分享,可在线阅读,更多相关《JSP所有知识点详细整理百科全书MLDNWord文件下载.docx(50页珍藏版)》请在冰点文库上搜索。

JSP所有知识点详细整理百科全书MLDNWord文件下载.docx

//局部变量

inttemp=30;

%>

h3>

info=<

%=info%>

/h3>

temp=<

%=temp%>

name=<

%="

LiXingHua"

5、out.println输出的问题是HTML代码和Java代码混合在一起;

并且生成的代码没有缩进。

实际开发中应该使用表达式输出方式。

6、例子:

通过交互性在页面中输出一个表格

(1)print_table.htm

html>

head>

title>

,MLDN高端Java培训<

/title>

/head>

body>

formaction="

print_table.jsp"

method="

post"

>

tableborder="

1"

width="

100%"

<

tr>

<

td>

请输入要显示表格的行数:

/td>

inputtype="

text"

name="

row"

/tr>

请输入要显示表格的列数:

col"

tdcolspan="

2"

<

submit"

value="

显示"

reset"

重置"

/table>

/form>

/body>

/html>

(2)print_table.jsp

introws=0;

intcols=0;

try{//异常处理

rows=Integer.parseInt(request.getParameter("

));

cols=Integer.parseInt(request.getParameter("

}catch(Exceptione){}

for(intx=0;

x<

rows;

x++){

for(inty=0;

y<

cols;

y++){

tdbgcolor="

#00CC33"

%=x*y%>

}

}

7、scriptlet标签(使用较少)

jsp:

scriptlet>

Java的scriptlet代码

/jsp:

2.Page指令

1、定义JSP页面的相关属性,包括设置MIME类型、定义需要导入的包、错误页的制定等。

2、语法:

%@page属性="

内容"

No.

指令属性

描述

1

contentType

定义JSP字符的编码和页面响应的MIME类型,如:

contentType="

text/html;

charset=GBK"

2

import

导入此JSP页面需要的操作包。

如:

import="

java.util"

3

pageEncoding

JSP页面的字符编码。

pageEncoding="

GBK"

3、设置MIME类型

%@pagelanguage="

java"

contentType="

通过设置MIME类型还可将页面作为word文件输出:

application/msword;

自己指定文件名称:

response.setHeader("

Content-Disposition"

"

attachement;

filename=mldn.doc"

);

4、设置文件编码

text/html"

pageEncoding="

如果JSP中pageEncoding存在,JSP的编码由pageEncoding决定,如果不存在则由charset决定,如果两者都不存在,则使用ISO8859-1编码。

如果一个JSP文件只需要按照text/html风格显示,则只需指定一个pageEncoding。

5、设置错误页

完成错误页操作需要满足一下两个条件:

(1)指定错误出现时的跳转页,通过errorPage属性指定

%@pageerrorPage="

error.jsp"

(2)错误处理页必须有明确的标识,通过isErrorPage属性指定

%@pageisErrorPage="

true"

正常情况下可以跳转,但有时候会出现无法跳转的情况,此时需要在要跳转到的页面中设置一个状态码。

response.setStatus(200);

服务器端跳转:

跳转后地址栏没有发生改变,但内容已经改变。

通过修改web.xml文件来集中处理服务器跳转问题:

error-page>

error-code>

500<

/error-code>

location>

/basic_page/error.jsp<

/location>

/error-page>

404<

exception-type>

java.lang.NullPointerException<

/exception-type>

配置完成后,服务器需要重新启动。

6、数据库的连接操作

动态web的特点:

可以进行数据库的连接。

Page指令中的import属性可以导入需要的包,page指令中只有import语句可以多次使用,其他属性只能设置一次。

通过JSP进行列表的输出:

(数据库创建脚本.sql)

/*=======================删除数据库=======================*/

DROPDATABASEIFEXISTSmldn;

/*=======================创建数据库=======================*/

CREATEDATABASEmldn;

/*=======================使用数据库=======================*/

USEmldn;

/*=======================删除数据表=======================*/

DROPTABLEIFEXISTSemp;

/*=======================创建数据表=======================*/

CREATETABLEemp(

empnoINT(4)PRIMARYKEY,

enameVARCHAR(10),

jobVARCHAR(9),

hiredateDATE,

salFLOAT(7,2)

/*=======================插入测试数据=======================*/

INSERTINTOemp(empno,ename,job,hiredate,sal)VALUES(6060,'

李兴华'

'

经理'

2001-09-16'

2000.30);

INSERTINTOemp(empno,ename,job,hiredate,sal)VALUES(7369,'

董鸣楠'

销售'

2003-10-09'

1500.90);

INSERTINTOemp(empno,ename,job,hiredate,sal)VALUES(8964,'

李祺'

分析员'

2003-10-01'

3000);

INSERTINTOemp(empno,ename,job,hiredate,sal)VALUES(7698,'

张惠'

2005-03-12'

800);

INSERTINTOemp(empno,ename,job,hiredate,sal)VALUES(7782,'

杨军'

2005-01-12'

2500);

INSERTINTOemp(empno,ename,job,hiredate,sal)VALUES(7762,'

刘明'

2005-03-09'

1000);

INSERTINTOemp(empno,ename,job,hiredate,sal)VALUES(7839,'

王月'

2006-09-01'

Mysql数据库连接时需要额外的驱动程序,要将驱动程序拷贝到TOMCAT安装目录中的lib文件夹中去,服务器需要重新启动。

Lit_emp.jsp

%@pagecontentType="

%@pageimport="

java.sql.*"

publicstaticfinalStringDBDRIVER="

org.gjt.mm.mysql.Driver"

publicstaticfinalStringDBURL="

jdbc:

mysql:

//localhost:

3306/mldn"

publicstaticfinalStringDBUSER="

root"

publicstaticfinalStringDBPASS="

mysqladmin"

Connectionconn=null;

PreparedStatementpstmt=null;

ResultSetrs=null;

try{

Class.forName(DBDRIVER);

conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);

Stringsql="

SELECTempno,ename,job,sal,hiredateFROMemp"

pstmt=conn.prepareStatement(sql);

rs=pstmt.executeQuery();

center>

80%"

雇员编号<

雇员姓名<

雇员工作<

雇员工资<

雇佣日期<

while(rs.next()){

intempno=rs.getInt

(1);

Stringename=rs.getString

(2);

Stringjob=rs.getString(3);

floatsal=rs.getFloat(4);

java.util.Datedate=rs.getDate(5);

%=empno%>

%=ename%>

%=job%>

%=sal%>

%=date%>

/center>

}catch(Exceptione){

System.out.println(e);

}finally{

rs.close();

pstmt.close();

conn.close();

//如果直接关闭连接也可以

}

3.包指令

1、包含操作可以将一些重复的代码包含进来继续使用。

2、静态包含:

%@includefile="

要包含的文件路径"

静态包含就是将内容进行了直接的替换。

h1>

静态包含操作<

/h1>

%@includefile="

info.htm"

info.jsp"

info.inc"

3、动态包含:

动态包含语句可以自动区分被包含的页面是静态还是动态

(1)不传递参数

includepage="

{要包含的文件路径|<

%=表达式%>

}"

flush="

true|false"

/>

(2)传递参数

paramname="

参数名称"

value="

参数内容"

...可以向被包含页面中传递多个参数

include>

动态包含操作<

4、以<

形式出现的JSP代码称为标签指令,所有的标签指令必须完结。

receive_param.jsp

参数一:

%=request.getParameter("

name"

)%>

参数二:

info"

此时,接收的是从标签中传递过来的参数,可以根据自己需要传递任意多个参数。

include_deomo03.jsp

Stringusername="

//变量

receive_param.jsp"

paramname="

%=username%>

"

//通过表达式传递变量

5、选择哪种包含:

include.jsp

intx=10;

include.jsp--<

%=x%>

(1)静态包含(定义一个与包含文件中相同的变量)

intx=100;

//变量重复

include_demo04.jsp--<

%@includefile="

include.jsp"

程序运行时出现500的HTTP状态码,属于服务器错误,x被重复定义了。

静态包含采用先包含后处理的形式。

(2)动态包含

程序运行没有错误,动态包含如果包含的是动态页面,采用先处理后包含的形式

4.跳转指令

1、语法:

forwardpage="

要包含的文件路径|<

%=表达式%>

forward>

2、例子:

forward_demo02.jsp为跳转后的页面

这是跳转之后的页面<

h2>

/h2>

forward_demo01.jsp发生跳转的页面

Stringusername="

forwardpage="

forward_demo02.jsp"

3、跳转操作属于服务器端跳转,跳转之后的页面路径不改变。

5.实例操作--用户登录实现

1、用户登录的操作保存在数据表中,用户输入用户名和密码进行验证,正确,登录成功,否则,登录失败。

2、数据库创建脚本.sql

/*===================使用MLDN数据库=======================*/

/*===================删除user数据表=======================*/

DROPTABLEIFEXISTSuser;

/*===================创建user数据表=======================*/

CREATETABLEuser(

useridVARCHAR(30)PRIMARYKEY,

nameVARCHAR(30)NOTNULL,

passwordVARCHAR(32)NOTNULL

INSERTINTOuser(userid,name,password)VALUES('

admin'

administrator'

3、需要的JSP页面

页面名称

login.jsp

提供用户登录表单,可以输入用户id和密码

login_check.jsp

登录检查页,根据表单提交过来的id和密码进行数据库验证,成功则跳转到登录成功页,否则跳转到登录失败页

login_success.jsp

登录成功页,显示欢迎信息

4

login_failure.jsp

登录失败页,显示用户输入错误,并提供重新登录的超链接

(1)login.jsp

%@pagecontentType="

登陆操作<

hr>

login_check.jsp"

用户登陆

登陆ID:

id"

登陆密码:

password"

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2