0629JSP基本语法.docx
- 文档编号:7227109
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:34
- 大小:450.47KB
0629JSP基本语法.docx
《0629JSP基本语法.docx》由会员分享,可在线阅读,更多相关《0629JSP基本语法.docx(34页珍藏版)》请在冰豆网上搜索。
0629JSP基本语法
1、课程名称:
JSP基本语法
2、知识点
2.1、上次课程的主要知识点
2.2、本次预计讲解的知识点
3、具体内容
3.1、Tomcat服务器
常用的JavaEE服务器(中间件)有:
Tomcat(Apache),JBoss(jboss),WebLogic(BEA),Websphere(IBM)
Tomcat建议使用6.0以上版,5.5也可以使用但建立项目时不能建立高版本项目(JavaEE版本1.4或以下才支持。
)
Tomcat的安装可以选择windows版(exe,安装后不需要手工配置环境变量),绿色版(zip,需要手工配置JAVA_HOME,PATH环境变量)
配置端口号为80,设置控制台登陆的用户名和密码。
在Tomcat下的bin中执行tomcat6.exe,可以启动服务器,如果见到上面的内容,表示启动成功。
在Tomcat中包含以下目录:
bin:
启动命令
conf:
配置,保存了Tomcat的配置文件,修改端口,部署项目等都要在这里配置
lib:
支持类库
logs:
日志文件
temp:
临时文件
webapps:
项目部署目录
work:
编译执行jsp文件保留的.java和.class文件。
xxx.jsp(Tomcat).java文件(Servlet,服务器端小程序)(JDK,JVM).class(JRE,JVM).html
JavaEE中,Servlet比jsp出现的要早,实现的原理是通过IO流写出html文件。
为了解决这个问题,SUN参考了ASP的开发方式,推出了JSP的编写形式。
编写一个简单的JavaEE程序,来测试服务器。
建立一个文件夹,并定义项目名称
在里面建立一个WEB-INF文件夹
在该文件夹中加入一个web.xml文件
xmlversion="1.0"encoding="ISO-8859-1"?
>
xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation=" version="2.5"> 加入好这些信息后,项目架构就算搭建完毕。 下面可以在WEB-INF的同一级目录下 建立一个hello.jsp文件,加入一些java代码。 DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<%
out.print("HelloWorld");
%>
out.print表示将信息打印到页面上。
将项目部署到Tomcat中,有以下两种部署形式:
1)拷贝项目到webapps下。
2)打开conf文件夹,修改server.xml,手工将项目部署。
/HelloDemo"path="/hello"/> docBase表示项目实际所在的位置,path表示访问该项目在浏览器中输入的虚拟名称 3)可以在conf下建立一个Catalina文件夹,里面手工配置host目录(localhost),再建立xml加入Context配置。 3.2、MyEclipse的安装与使用 IDE(集成开发环境)是为了开发项目更简单快捷,开发出的一个软件,可以帮助程序员更容易的开发。 JavaEE的开发工具有: MyEclipse(是一个Eclipse插件),NetBeans(SUN官方推荐),JBuilder(倒闭了),WSAD(IBM套装里的,内核就是Eclipse) 我这里安装8.5版 通过启动命令打开8.5 ,选择一个工作区 在输入了注册码后,可以选择建立项目 建立项目时,可以在ContextrootURL中设置部署后的虚拟目录。 Web项目的标准目录结构: src: 保存所有的.java文件 WebRoot: 是要部署的项目目录。 |-WEB-INF: 安全目录,里面保存了所有配置信息 |-web.xml: 核心配置文件 |-lib: 加入支持类库 |-classes: 保存了src中所有的java编译后的class文件。 |-pages: 放所有的jsp文件 |-emp: 所有雇员的操作 |-dept: 所有部门的操作 |-index.jsp: 主页 |-js: 保存所有的.js文件 |-css: 保存所有的css样式 |-images: 保存所有的图片 |-upload: 保存用户上传的文件。 编写好程序,后MyEclipse提供了一个更方便的部署方式: 自动部署。 配置好Tomcat 点Add进行发布、 可以直接在MyEclipse中启动服务器。 3.3、JSP基本语法 怎样在jsp中将java代码嵌入: 1)<%%>: Scriplet: 小脚本语言,参考的asp的开发形式,直接在里面可以编写java代码。 如果要将信息输出到页面上,可以使用out.print()进行输出。 <% for(inti=0;i<100;i++){ out.println(i+" } %> 注意里面可以输出html代码 2)<%! %>: 用来定义静态变量,类或方法。 a)声明的变量只在第一次打开页面时执行,每次再打开不会重新声明(类似静态块) b)所有人访问该页面时,使用的都是同一个值,该值如果修改,则所有人的这个值都会修改。 <%! inti1=10; %> <% inti2=11; out.println(i1+" out.println(i2+" i1++; i2++; %> 3)<%=%>: 等同于out.print()的功能,用来将数据输出到页面上。 a)这样编写方便美工进行修改,也方便程序员在html静态页面中加入动态代码。 <% for(inti=1;i<=9;i++){ %> <% for(intj=1;j<=i;j++){ %> <% } %>
");
");
");<%=j%>*<%=i%>=<%=i*j%>
<%
}
%>
3.4、page指令
包含以下功能:
1)处理乱码:
处理页面显示乱码
a)设置的是页面默认显示的编码,浏览器也可以自己手工修改:
<%@pagepageEncoding="GBK"%>
2)import导包,在编写数据连接,io流操作,循环集合等功能时,都需要按照要求,在页面上导入需要的包。
<%@pageimport="java.sql.*"pageEncoding="GBK"%>
使用导包结合上面的<%%>等jsp语法,完成列表显示全部雇员信息的功能。
java.sql.SQLException:
Io异常:
TheNetworkAdaptercouldnotestablishtheconnection
没有配置sid会提示这个异常。
可以在NetManager中配置该SID和IP地址
列表显示全部雇员
<%@pageimport="java.sql.*,java.util.*"pageEncoding="GBK"errorPage=""%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<%!
finalStringDBDRIVER="oracle.jdbc.driver.OracleDriver";
finalStringDBURL="jdbc:
oracle:
thin:
@localhost:
1521:
MLDN";
finalStringDBUSER="scott";
finalStringDBPASSWORD="tiger";
Connectionconn=null;
%>
<%
ResultSetrs=null;
PreparedStatementpstmt=null;
try{
//连接数据库
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
Stringsql="SELECT*FROMemp";
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
//显示到表格中
%>
<%
while(rs.next()){
%>
(1)%>
(2)%>
<%
}
}catch(Exceptione){
e.printStackTrace();
}finally{
if(rs!
=null)
rs.close();
if(pstmt!
=null)
pstmt.close();
if(conn!
=null)
conn.close();
}
%>
3)设置页面处理格式
a)默认页面会生成html,可以通过修改contentType属性改变生成的结果。
b)在conf下的web.xml中保存了常用类型。
<%@pageimport="java.sql.*"contentType="application/msword"pageEncoding="GBK"%>
如果见到这个提示,表示contentType里面的内容拼写错误,注意检查。
4)设置错误页
一般页面提示的错误有两种:
404,500
404:
找不到资源或路径时,会提示404。
该错误一般查找超连接,表单等的提交路径。
与Java程序无关。
500:
当程序执行时出现异常,而且异常没有处理。
这种异常就需要依据错误信息,来查找具体错误原因。
page指令设置错误页处理的是500错误,当出现500错误时,会自动跳转到设置好的错误页,并提示错误信息。
先要在每一个页面上加入errorpage的设置,将错误页指向某一个页面。
在这个错误页中需要设置isErrorPage=”true”,表示该页面专门用来处理错误信息,可以在里面自己编写错误提示。
<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"
isErrorPage="true"%>
<%
//设置浏览器处理状态,使浏览器按照正常访问处理。
response.setStatus(200);
%>
操作过程中出错,请与管理员联系!
错误信息:
<%=exception%>
3.5、用户输入信息的接收
用户输入的信息主要是通过表单传递的。
在jsp中可以通过request.getParameter()的方法来接收表单提交的参数,从而完成与用户的交互功能。
下面完成根据用户输入的部门编号,列出该部门下所有的雇员信息。
先建立一个表单。
输入部门编号:
建立列表页:
<%@pagelanguage="java"import="java.sql.*"pageEncoding="GBK"%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<%!
finalStringDBDRIVER="oracle.jdbc.driver.OracleDriver";
finalStringDBURL="jdbc:
oracle:
thin:
@localhost:
1521:
MLDN";
finalStringDBUSER="scott";
finalStringDBPASSWORD="tiger";
Connectionconn=null;
%>
<%
ResultSetrs=null;
PreparedStatementpstmt=null;
//接收传递过来的编号
Stringdeptno=request.getParameter("deptno");
try{
intno=Integer.parseInt(deptno);
Stringsql="SELECT*FROMempWHEREdeptno=?
";
//连接数据库
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
pstmt=conn.prepareStatement(sql);
pstmt.setInt(1,no);
rs=pstmt.executeQuery();
%>
<%
while(rs.next()){
%>
(1)%>
(2)%>
<%
}
%>
<%
}catch(NumberFormatExceptione){
out.print("请输入合法的数字!
");
%>
<%
}catch(Exceptione){
e.printStackTrace();
}finally{
if(rs!
=null)
rs.close();
if(pstmt!
=null)
pstmt.close();
if(conn!
=null)
conn.close();
}
%>
参考以上代码完成用户登陆:
1)建立member表,表中包含userid,real_name和password三个字段,自己加入一条测试数据。
2)建立表单,输入用户名(userid)和密码(password),提交后,如果用户名和密码都正确,则表示登陆成功,提示用户登陆成功,并显示用户的真实姓名(real_name),如果不正确,表示登陆失败,提示用户名或密码错误,请返回重新登陆,并加入一个返回按钮。
数据库脚本
CREATETABLEmember(
useridvarchar2(20)primarykey,
real_namevarchar2(20)notnull,
passwordvarchar2(20)notnull
);
INSERTINTOmemberVALUES('MLDN','Liky','123');
Commit;
建立表单。
用户ID:
密码:
编写判断的登陆的jsp页面
<%@pagelanguage="java"import="java.sql.*"pageEncoding="GBK"%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<%!
finalStringDBDRIVER="oracle.jdbc.driver.OracleDriver";
finalStringDBURL="jdbc:
oracle:
thin:
@localhost:
1521:
MLDN";
finalStringDBUSER="scott";
finalStringDBPASSWORD="tiger";
Connectionconn=null;
%>
<%
ResultSetrs=null;
PreparedStatementpstmt=null;
Stringuserid=request.getParameter("userid");
Stringpassword=request.getParameter("password");
try{
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
Stringsql="SELECTreal_nameFROMmemberWHEREuserid=?
ANDpassword=?
";
pstmt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 0629 JSP 基本 语法