1、 / 局部变量 int temp = 30 ; %h3info = /h3temp = name = headtitle,MLDN高端Java培训/headbodyform action=print_table.jsp method=posttable border=1 width=100% 请输入要显示表格的行数:/tdinput type=text name=row/tr请输入要显示表格的列数:coltd colspan=2 /form/body/html(2)print_table.jsp int rows = 0 ; int cols = 0 ; try / 异常处理 rows = I
2、nteger.parseInt(request.getParameter() ; cols = Integer.parseInt(request.getParameter( catch(Exception e) for (int x=0;xrows;x+) for(int y=0;y 7、scriptlet标签(使用较少)jsp:scriptletJava的scriptlet代码/jsp:2Page指令1、定义JSP页面的相关属性,包括设置MIME类型、定义需要导入的包、错误页的制定等。2、语法:%page属性=内容No.指令属性描述1contentType定义JSP字符的编码和页面响应的MI
3、ME类型,如:contentType=text/html;charset=GBK2import导入此JSP页面需要的操作包。如:import=java.util3pageEncodingJSP页面的字符编码。pageEncoding=GBK3、设置MIME类型% page language=java contentType=通过设置MIME类型还可将页面作为word文件输出:application/msword;自己指定文件名称: response.setHeader(Content-Disposition,attachement;filename=mldn.doc) ;4、设置文件编码tex
4、t/html pageEncoding=如果JSP中pageEncoding存在,JSP的编码由pageEncoding决定,如果不存在则由charset决定,如果两者都不存在,则使用ISO8859-1编码。如果一个JSP文件只需要按照text/html风格显示,则只需指定一个pageEncoding。5、设置错误页完成错误页操作需要满足一下两个条件:(1)指定错误出现时的跳转页,通过errorPage属性指定% page errorPage = error.jsp(2)错误处理页必须有明确的标识,通过isErrorPage属性指定% page isErrorPage = true正常情况下可
5、以跳转,但有时候会出现无法跳转的情况,此时需要在要跳转到的页面中设置一个状态码。 response.setStatus(200) ;服务器端跳转:跳转后地址栏没有发生改变,但内容已经改变。通过修改web.xml文件来集中处理服务器跳转问题:error-pageerror-code500location/basic_page/error.jsp/error-page404java.lang.NullPointerException配置完成后,服务器需要重新启动。6、数据库的连接操作动态web的特点:可以进行数据库的连接。Page指令中的import属性可以导入需要的包,page指令中只有impo
6、rt语句可以多次使用,其他属性只能设置一次。通过JSP进行列表的输出:(数据库创建脚本.sql)/*= 删除数据库 =*/DROP DATABASE IF EXISTS mldn ;/*= 创建数据库 =*/CREATE DATABASE mldn ;/*= 使用数据库 =*/USE mldn ;/*= 删除数据表 =*/DROP TABLE IF EXISTS emp ;/*= 创建数据表 =*/CREATE TABLE emp( empno INT(4) PRIMARY KEY, ename VARCHAR(10), job VARCHAR(9), hiredate DATE, sal F
7、LOAT(7,2)/*= 插入测试数据 =*/INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES (6060,李兴华,经理2001-09-16,2000.30) ;INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES (7369,董鸣楠销售2003-10-09,1500.90) ;INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES (8964,李祺分析员2003-10-01,3000) ;INSERT INTO emp (empn
8、o,ename,job,hiredate,sal) VALUES (7698,张惠2005-03-12,800) ;INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES (7782,杨军2005-01-12,2500) ;INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES (7762,刘明2005-03-09,1000) ;INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES (7839,王月2006-09-01Mysql数据库连接
9、时需要额外的驱动程序,要将驱动程序拷贝到TOMCAT安装目录中的lib文件夹中去,服务器需要重新启动。Lit_emp.jsp% page contentType=% page import=java.sql.* public static final String DBDRIVER = org.gjt.mm.mysql.Driver public static final String DBURL = jdbc:mysql:/localhost:3306/mldn public static final String DBUSER = root public static final Stri
10、ng DBPASS = mysqladmin Connection conn = null ; PreparedStatement pstmt = null ; ResultSet rs = null ;try Class.forName(DBDRIVER) ; conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; String sql = SELECT empno,ename,job,sal,hiredate FROM emp pstmt = conn.prepareStatement(sql) ; rs = pstmt.exec
11、uteQuery() ;center80%雇员编号雇员姓名雇员工作雇员工资雇佣日期%=ename%=job%=sal%=date%/centercatch(Exception e) System.out.println(e) ;finally rs.close() ; pstmt.close() ; conn.close() ; / 如果直接关闭连接也可以3包指令1、包含操作可以将一些重复的代码包含进来继续使用。2、静态包含:%include file = 要包含的文件路径静态包含就是将内容进行了直接的替换。h1静态包含操作% include file=info.htminfo.jspinfo
12、.inc3、动态包含:动态包含语句可以自动区分被包含的页面是静态还是动态(1)不传递参数include page=要包含的文件路径|flush=true|false/(2)传递参数param name = 参数名称 value = 参数内容 .可以向被包含页面中传递多个参数include动态包含操作4、以参数二:info此时,接收的是从标签中传递过来的参数,可以根据自己需要传递任意多个参数。include_deomo03.jsp String username = / 变量receive_param.jspparam name=%=username%/通过表达式传递变量5、选择哪种包含:inc
13、lude.jsp int x = 10 ;include.jsp - (1)静态包含(定义一个与包含文件中相同的变量) int x = 100 ; / 变量重复include_demo04.jsp - %include file=include.jsp程序运行时出现500的HTTP状态码,属于服务器错误,x被重复定义了。静态包含采用先包含后处理的形式。(2)动态包含程序运行没有错误,动态包含如果包含的是动态页面,采用先处理后包含的形式4跳转指令1、语法:forward page = 要包含的文件路径|forward2、例子:forward_demo02.jsp为跳转后的页面这是跳转之后的页面/
14、h2forward_demo01.jsp发生跳转的页面 String username = forward page=forward_demo02.jsp3、跳转操作属于服务器端跳转,跳转之后的页面路径不改变。5实例操作-用户登录实现1、用户登录的操作保存在数据表中,用户输入用户名和密码进行验证,正确,登录成功,否则,登录失败。2、数据库创建脚本.sql/*= 使用MLDN数据库 =*/*= 删除user数据表 =*/DROP TABLE IF EXISTS user ;/*= 创建user数据表 =*/CREATE TABLE user( userid VARCHAR(30) PRIMARY
15、 KEY , name VARCHAR(30) NOT NULL , password VARCHAR(32) NOT NULLINSERT INTO user (userid,name,password) VALUES (adminadministrator3、需要的JSP页面页面名称login.jsp提供用户登录表单,可以输入用户id和密码login_check.jsp登录检查页,根据表单提交过来的id和密码进行数据库验证,成功则跳转到登录成功页,否则跳转到登录失败页login_success.jsp登录成功页,显示欢迎信息4login_failure.jsp登录失败页,显示用户输入错误,并提供重新登录的超链接(1)login.jsp%page contentType=登陆操作login_check.jsp 用户登陆登陆:id登陆密码:password