JSP总结笔记
第一章:动态网站开发基础
一: 认识和熟悉B/S技术。
(1).动态网页是指在服务器端运行的程序或者网页,他们会虽不同客户,不同时间,返回不同内容。
二:开发JSP动态网站的步骤:
(1).创建一个Web项目。
(2).设计Web项目的目录结构。
(3).编写Web项目的代码。
(4).部署Web项目。
(5).运行Web项目。
三:网页项目的目录结构
(1).src目录:用来存放java源文件。
(2).WebRoot目录:是这个Web应用的顶层目录,也称为文档根目录,由以下部分组成。
[1]:META-INF目录:系统自动生成,存放系统描述信息。
[2]:静态文件:包括所有的HTML网页,CSS文件,图像文件等。一般按功能以文件夹形式分类。
[3]:JSP文件:利用jsp可以很方便的在页面生成动态的内容。
(3).WEB-INF:该目录存在于文档根目录下面。但是,该目录不能被引用.既该目录下的文件无法对外发布。
(1).lib目录:包含Web应用所需的.jar或者.zip文件,例如SQL 2005数据库的驱动文件。
(2).Web.xml:Web应用的初始化配置文件,非常重要,不能将其随意修改或者删除。
四: Web程序的调试和排错。
错误类别:
(1):没有启动Tomcat,或者没有在预期的端口启动Tomcat服务
(2):没有部署Web应用
(3):URL输入错误
(4):目录不能被应用。例如:将文件放在了WEB-INF文件下。此文件夹是不能被外界所引用的。
第二章:用集合存储对象
一:集合可用于不知道数据大小时使用。或者要求存储数据时值和编号一一对应关系时使用。
二:完整的java集合框架位于java.util包中,包含众多的接口和类。
三:接口:Collection是最基本的集合接口,一个Collection代表一组元素。
(1):List接口集成自Collection接口,List时有序集合,允许有相同的元素,使用List能够精确的控制每个元素的插入位置,用户能够使用索引(元素在List中的位置,类似于数组中的下标)来访List很像。
(2):Map提供key(键)到value(值)的映射。一个Map中不能包含相同的key,每个key只能映射一个value。(如果key重复,将覆盖以前的键-值对)。
四:具体类:实现List接口的常用类有ArrayList和LinkList.他们都可以容纳所有类型的对象,包括null,并且都保证元素的存贮位置。
(1):ArrayList实现了可变大小的数组,他的优点在于遍历元素和随机访问元素的效率比较高。
(2):LinkList提供了额外的addFirst(),addLast(),removeFirst(),removeLast()等方法,可以在LinkList的首部或尾部执行插入或者删除操作,这些方法使得LinkList可被用做堆栈(stack)或者队列(queue)。
(3):HashMap时Map接口的实现类,实现一个键到值的映射的哈希表。
五:List接口中定义的各种常用方法
(1):add(Object o)[返回类型:boolean](在列表的末尾顺序添加元素,起始索引位置从0开始)。
(2):size()[返回类型:int(返回列表中元素的个数)。
(3):get(int index)[返回类型:Object](返回指定索引位置处的元素,值得注意的是:取出的元素时Object类型,所以使用前要进行强制类型转换)。
(4):add(int index,Object o)[返回类型:void](在指定的索引位置添加元素,值得注意的是:索引位置必须是介于0和列表元素个数之间的)。
(5):contains(int index,Object o)[返回类型:boolean](判断列表中是否存在制定的元素)。
(6):remove(Object o)[返回类型:boolean](从列表中删除元素)。
六:LinkList的一些特殊方法:
(1):addFirst(Object o)[返回类型:void](在列表的首部添加元素)。
(2):addLast(Object o)[返回类型:void](在列表的尾部添加元素)。
(3):getFirst()[返回类型:Object](返回列表中的第一个元素)。
(4):getLast()[返回类型:Object](返回列表中的最后一个元素)。
(5):removeFirst()[返回类型:Object](删除并返回列表中的第一个元素)。
(6):removeLast()[返回类型:Object](删除并返回列表中的最后一个元素)。
七:HashMap中的常用方法:
(1):put(Object key,Object value)[返回类型:Object](以键-值对的方式进行存储。值得注意的是:键必须时唯一的,值可以重复,如果添加了重复的键,那么最后加入的键-值对将替换掉原先的键-值对)。
(2):keySet()[返回类型:Set](返回键的集合)。
(3):values[返回类型:Collection](返回值的集合)。
(4):containKey(Object key)[返回类型:Object](如果存在由指定的键映射的“键-值对”,返回true)。
(5):get(Object key)[返回类型:Object](根据键返回相关联的值,如果不存在指定的键,返回null)。
(6):remove(Object key)[返回类型:Object](删除由指定的键映射的“键-值对”)。
第三章:访问数据库
一:JDBC时java数据库连接(java DataBase Connectivity)技术的简称。提供连接各种常用数据库的能力。
二:java应用程序可以使用集成在JDK中的java.sql和javax.sql包中的JDBC API来连接和操作数据库
三:JDBC API由sun公司提供,提供了java应用程序于各种不同数据库交互的标准接口,如:Connection(连接)接口,Statement接口,PreparedStatement接口,ResultSet(结果集)接口。
四:JDBC API 可以做三件事:与数据库建立连接,发送SQL语句,处理结果。
(1):DriverManager类:依据数据库的不同,管理JDBC驱动。
(2):Connection接口:负责连接数据库并担任传送数据的任务。
(3):Statement接口:由Connection产生,负责执行SQL语句。
(4):ResultSet接口:负责保存Statement执行后产生的查询结果。
五:开发JDBC应用程序的基本步骤:
(1):将JDBC驱动装在入java虚拟机中。可以使用Class.forName()方法。如果系统不存在给定的类,则会引发异常,异常类型为ClassNotFoundException。
(2):加载驱动。并与数据库建立连接。DriverManager类的getConnection()方法建立与数据库的连接。这个方法接收三个参数,分别表示URL,数据库用户名和密码。
(3):发送SQL语句,并得到结果集。得到的结果集类型为ResultSet的对象。
(4):处理结果。使用ResultSet对像的next()方法将光标(cursor)指向下一行。因为最初光标位于第一行之前(既列名那一行上),因此第一次调用next()方法会把光标置于第一行上。如果到达结果集的末尾,则ResultSet的next()方法会返回false。getXXX提供了获取当前行中某列值的途径,列名或列号可用于标识要从中获取数据的列。
六:两种常用的驱动方式:
(1):JDBC 驱动有数据库厂商提供,我们实际编程时,有两种常用的驱动方式。一:JDBC-OCBC桥连。适用于个人的开发与测试。(桥连方式可以访问所有的ODBC可以访问的数据库,但是JDBC-ODBC桥连不能提供非常好的性能,一般不适合在实际系统中适用)。
[建立桥连代码]:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:数据库名称","数据库登录名","数据库密码");
另一种是:纯java驱动方式,它直接同数据库进行连接,在生产型开发中,适用纯java驱动方式比较好。
使用纯java方式建立连接时:要导入jar包到工程中. 例如:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con=DriverManager("jdbc:sqlserver://localhost:1433;databaseName=数据库名称","数据库登录名","数据库密码");
六:Statement 可以通过Connection对象产生Statement的实例
ResultSet executeQuery(sql语句) 可以执行SQL查询并获取到ResultSet对象
int executeUpdate(sql 语句) 可以执行插入,删除,更新等操作,返回受影响的行数
boolean execute(sql 语句) 可以执行任意SQL语句
Statement 在执行数据库操作时传入SQL语句:statement.executeUpdate(sql语句)
七:PrepareStetement接口继承自Statement接口
PrepareStetement 在获得实例时传入参数:con..prepareStatement(sql语句)
第四章:
1. JSP指令一般以<%@ 开始,以 %>结束
2. 小脚本格式:<% %>
3. 表达式:<%= %>
4. 注释:
<!--这是HTML注释,客户端可以看到此注释 -->
<%--这是JSP注释,客户端看不到此注释-- %>
5. 设置欢迎页面:在WEB-INF下面的web.xml中设置
<?xml version="1.0" encoding="UTF-8"?>
<web-app >
<welcome-file-list>
<welcome-file>要设置的欢迎页面名称.jsp</welcome-file>
</welcome-file-list>
</web-app>
6. 在Tomcat的conf目录下有一个web.xml文件,这是Tomcat容器的全局配置文件
7. web容器处理JSP文件请求的三个阶段:
a) 翻译成java源码
b) 编译成字节码
c) 执行
第五章
1. out.print()用来在页面输出数据
2. 在JSP中用page指令导入包
第六章:
1. JSP内置对象
2. request 用户请求
String getParameter(string name) 根据表单组件名称获取页面提交数据
String []getParameterValues(string name) 获取一个页面表单组件对应多个值时的用户请求数据
void SetCharacterEndoding(string charset) 制定请求的编码,在调用retuest. getParameter(string name)之前设定
getRequestDispatcher(String path) 返回一个RequestDispatcher对象,该对象的forward方法用于转发请求
3. 内置对象response 响应客户请求
response常用的方法: response.sendRedirect(String location)这个方法用来将请求重新定位到一个不同的url
4. request.getRequestDispatcher("跳转页面").forward(request,response);
5. 客户端没有重新建立链接,客户端的url地址不会发生改变
6. response.sendRedirect(String location) 客户端重新建立了链接,url地址发生了改变
7. session
8. session.setAttribute(String key,Object value); 往session中放值
9. session.getAttribute(String key); 从session中拿值
10. include 指令:导入外部文件
11. application 对象:
application.setAttribute(String key,Object value); 以键值方式存值
application.getAttribute(String key); 拿值
12. BaseDao中的代码:
package dao;
import java.sql.*;
public class BaseDao {
//数据库驱动
public static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
//连接数据库
public static final String URL="jdbc:sqlserver://localhost:1433;databaseName=chenkang";
public static final String DBNAME="sa"; //数据库用户名
public static final String DBPASS=""; //数据库密码
/**
* 获取数据库连接
* @return
*/
public Connection getConn(){
Connection con=null;
try {
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
System.out.println("无法加载所需的驱动类!");
e.printStackTrace();
}
con=DriverManager.getConnection(URL,DBNAME,DBPASS);
} catch (SQLException e) {
System.out.println("5555555操作数据库出现异常,请检查!");
e.printStackTrace();
}
return con;
}
/**
* 执行增删改通用方法
* @param sql
* @param param
* @return
*/
public int executeSQL(String sql,String []param){
Connection con=null;
PreparedStatement ps=null;
BaseDao bDao=new BaseDao();
int num=0;
try {
con=bDao.getConn();
ps=con.prepareStatement(sql);
if (param!=null) {
for (int i = 0; i < param.length; i++) {
ps.setString(i+1, param[i]);
}
}
num=ps.executeUpdate();
} catch (Exception e) {
System.out.println("操作数据库是出现错误,请重试!错误原因:");
e.printStackTrace();
}finally{
bDao.closeAll(null, ps, con);
}
return num;
}
/**
* 关闭数据库连接,释放资源。
* @param rs 结果集
* @param ps PreparedStatement对象
* @param con 数据库连接
*/
public void closeAll(ResultSet rs,PreparedStatement ps,Connection con){
if (rs!=null) {
try {
rs.close();
} catch (SQLException e) {
System.out.println("关闭结果集是出现异常!");
e.printStackTrace();
}
}
if (ps!=null) {
try {
ps.close();
} catch (SQLException e) {
System.out.println("关闭PreparedStatement时出现异常!");
e.printStackTrace();
}
}
if (con!=null) {
try {
con.close();
} catch (SQLException e) {
System.out.println("关闭数据库连接时出现异常!");
e.printStackTrace();
}
}
}
}
分享到:
相关推荐
**JSP学习笔记总结** **第 1 章 JSP 和 Web 页面的交互** 1.1 JSP(JavaServer Pages)是Java技术在Web开发中的应用,它允许开发者将静态HTML与动态Java代码结合起来,生成动态网页。通过在HTML页面中嵌入Java代码...
这份"jsp学习笔记总结"包含了作者在深入学习JSP过程中积累的宝贵知识,旨在为初学者提供一个全面的指导。 1. **JSP基础概念** JSP是由Sun Microsystems开发的,用于服务器端的脚本语言。它允许开发者使用HTML或者...
根据给定的文件信息,以下是对JSP基础知识的总结与扩展: ### JSP基础札记笔记 #### 第一讲:环境的配置 JSP(Java Server Pages)是一种基于Java技术的Web开发技术,用于创建动态网页。为了进行JSP开发,需要...
根据提供的文件信息,这里将基于“jsp考试笔记”的标题、描述及部分难以辨识的内容来构建一份关于JSP(JavaServer Pages)的知识点总结。 ### JSP基础概念 #### 定义 JSP(JavaServer Pages)是一种由Sun ...
本篇笔记旨在总结JSP的核心概念、原理和常见用法,为学习者提供详实的参考。 **一、JSP基本概念** 1. **页面组成**:JSP页面由两部分构成——静态内容(HTML、CSS、JavaScript)和动态脚本元素(Java代码)。静态...
【JSP基础与Tomcat配置】 1. **Tomcat全局配置**...总结,JSP是Java Web开发中的重要组件,结合Tomcat服务器,可以构建功能丰富的Web应用程序。理解JSP的基本原理、运行流程和配置选项对于有效利用这项技术至关重要。
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...
总结,"韩顺平servlet和jsp课堂笔记"是一份宝贵的学习资源,不仅包含了Servlet和JSP的基本概念,还可能涵盖了许多实际开发中的案例和最佳实践。通过深入学习和实践,你将能够熟练运用这两个技术来构建高效、稳定的...
【JSP学习笔记】 在Java Web开发中,JavaServer Pages(JSP)是用于创建动态网页的一种技术。JSP结合了HTML和Java代码,使得开发者可以在网页中嵌入Java表达式和脚本来处理服务器端逻辑。JSP与Servlet密切相关,...
【JSP应用笔记总结】 JSP(JavaServer Pages)是一种基于Java技术的动态网页开发工具,它允许开发者在HTML、XML或其他标记语言中嵌入Java代码,以实现服务器端的业务逻辑处理。以下是对JSP学习中一些关键知识点的...
总结,"魔乐在线jsp培训笔记"提供的内容涵盖了JSP的基础知识、核心概念以及实际应用,对于想要学习或提升JSP技能的IT从业者来说是一份宝贵的资源。通过深入学习并实践这些知识点,可以有效提高开发Web应用的能力。
### JSP小笔记知识点详述 #### JSP概论与历史背景 - **JSP**:全称为**JavaServer Pages**,是一种基于Java技术的服务器端动态网页开发技术。它结合了HTML、XML以及Java的强大功能,使得开发者能够创建出高度交互...
本篇笔记介绍了一个简单的用户注册与登录系统的实现过程,该系统由四个JSP页面构成,分别是`login.jsp`、`test.jsp`、`test2.jsp`以及未给出具体代码的第四个页面。通过这些页面,用户可以进行注册或登录操作,并且...
从给定的文件信息来看,本文档主要围绕“MySQL学习笔记—JSP操作MySQL”的主题展开,详细介绍了如何在JSP环境下操作MySQL数据库的过程。以下是对该文档中的关键知识点进行的深入解析: ### 一、MySQL与JSP的集成 ...
**总结**,JSP技术为Web开发者提供了一种高效、灵活的手段来构建动态网站,通过整合HTML、XML和Java的强大功能,实现了页面逻辑和显示的分离,极大地提高了开发效率和代码的可维护性。掌握JSP的关键在于理解其运行...
《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet;或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 《JSP & Servlet学习笔记(第2版)》针对Servlet 3.0的...
本笔记是作者在专业培训学校学习JSP的总结,旨在为读者提供一个全面了解和掌握JavaServer Pages (JSP) 技术的资源。JSP是Java平台上的动态网页技术,它允许开发人员将静态HTML内容与动态Java代码结合,以创建交互式...
7个JSP小项目源代码和笔记资料汇总,正在学习JSP的朋友可不要轻易错过哦,这些小项目的清单如下: 项目01_JSP+JDBC留言管理程序(代码+笔记) 项目02_使用JSP完成简单的登陆程序(代码+笔记) 项目03_JSP+DAO...