1、JavaBean
JavaBean是使用Java语言编写的组件。组件是组成一个大的系统的一部分,并且组件能够完成特定的功能,能够共享。
可以认为JavaBean是Java类,但是具有特定的功能,并且这些功能是共享的。例如,连接数据库的功能可以封装单独的Java类,常用处理方法可以封装成JavaBean。
2、早期的JSP中提供的对JavaBean的支持
<jsp:useBean>标签用于定义JavaBean的对象;<jsp:setProperty>标签用于设置JavaBean的属性;<jsp:getProperty>用于获取并输出JavaBean的属性。
因为Java Web中,很少在JSP中直接访问JavaBean,所以实际上这些标签几乎没有用。现在主要在Servlet中访问JavaBean。
3、JavaBean的编写和用法
例:以用户信息验证为例介绍JavaBean的编写。
1)声明包
package bean;
2)引入相应的类或者包
import java.sql.*;
// java.sql是访问数据库所需要的包
3)类头的定义
public class UserBean
4)成员变量
private String username;
private String userpass;
5)构造方法
// JavaBean要求应该提供一个无参数的构造方法
public UserBean(){
}
public UserBean(String username,String userpass){
this.username = username;
this.userpass = userpass;
}
6)对属性进行操作的方法
包括获取属性值的方法和对属性进行赋值的方法。
命名方法:
对于普通属性来说,如果属性为a,应该提供setA(属性类型 a)方法和getA()方法。
对于布尔类型的属性来说,应该提供类似于isA()方法。
public void setUsername(String username){
this.username = username;
}
public String getUsername(){
return username;
}
public void setUserpass(String userpass){
this.userpass = userpass;
}
public String getUserpass(){
return userpass;
}
7)功能类方法
该JavaBean完成的功能是判断用户信息是否合法,需要在JavaBean中编写相应的方法。
public boolean login(){
return username.equals(userpass);
}
8)编译JavaBean
9)部署
所有的Java类都应该放在WEB-INF下面的classes下面,所以该JavaBean也应该放在这个地方。
4、使用JDBC的准备工作
JDBC是Java DataBase Connectivity的缩写,是一组标准的接口,用于完成Java应用与各种数据库之间的交互。
要使用JDBC需要做哪些准备工作?
1)创建数据库
2)得到JDBC驱动程序,驱动程序是完成具体的交互过程的,每种数据库有自己特定的驱动程序,从数据库管理系统的提供商的网站下载
3)要知道数据库的相关信息:JDBC驱动程序的名字、数据库的位置、数据库的端口、用户名和口令、url的格式(建立连接的时候用)
注意:我们使用JDBC-ODBC桥的方式连接数据库。JDBC-ODBC桥是一种类型的驱动程序,共有4种类型的驱动程序,JDBC-ODBC桥是建立在ODBC数据源基础上的。驱动是JDK中附带的,不用下载。
5、创建数据库及测试数据
create table usertable
(
username varchar(10) primary key,
userpass varchar(10)
)
insert into usertable values('lisi','lisi');
insert into usertable values('zhangsan','zhangsan');
6、创建ODBC数据源
在 开始--〉设置--〉控制面板-->管理工具--〉数据源(ODBC) 设置ODBC数据源的名字为bookstore
7、修改login方法,通过数据库进行验证
1)使用JDBC连接数据库的基本过程
加载驱动程序;
建立与数据库之间的连接;
创建一个执行SQL语句的语句对象;
编写要执行的SQL语句;
使用语句对象执行SQL语句;
如果有结果,需要对结果进行处理;
关闭相关对象;
注意:异常处理。
2)修改login方法
public boolean login() throws Exception{
// return username.equals(userpass);
// 第一步:加载驱动程序,如果使用其它的驱动程序,写出相应的名字即可
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// 第二步:建立连接,第一个参数是url(定位数据库),第二个参数是用户名,第三个参数是口令
Connection con = DriverManager.getConnection("jdbc:odbc:bookstore","",""); // bookstore是所创建的ODBC数据源的名字
// 第三步:创建SQL语句
String sql = "select * from usertable where username=? and userpass=?";
// 第四步:创建语句对象,用于执行SQL语句的
PreparedStatement stmt = con.prepareStatement(sql);
// 对变量赋值,第一个参数表示变量的序号(第几个问号),第二个参数表示所赋的值
stmt.setString(1,username);
stmt.setString(2,userpass);
// 第五步:执行SQL语句,因为有查询结果,所以使用executeQuery方法,结果保存在rs中
ResultSet rs = stmt.executeQuery();
// rs相当于一个表格,有若干行、若干列组成,指针指向第一条记录的前面
// 第六步:对结果进行处理,使用next方法进行遍历,使用get方法得到当前行的列
boolean b = rs.next();
// 第七步:关闭相关对象
rs.close();
stmt.close();
con.close();
return b;
}
3)修改LoginProcessServlet.java
修改后的代码为:
package servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import bean.*;
public class LoginProcessServlet extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
{
// 获取用户输入的信息
String username = request.getParameter("username");
String userpass = request.getParameter("userpass");
// 调用JavaBean,创建对象、初始化、然后调用方法
UserBean user = new UserBean();
user.setUsername(username);
user.setUserpass(userpass);
boolean b = false;
try{
b = user.login();
}catch(Exception e){
// 当产生异常的时候,把异常信息输出在界面上
// 设置编码方式
response.setContentType("text/html;charset=gb2312");
// 得到输出流对象
PrintWriter out = response.getWriter();
out.println(e.toString());
return;
}
// 转向响应界面
if(b){
RequestDispatcher rd = request.getRequestDispatcher("success.jsp"); // 跳转到成功的页面
rd.forward(request,response); // 完成跳转
}else{
RequestDispatcher rd = request.getRequestDispatcher("index1.jsp"); // 跳转到登录页面
rd.forward(request,response); // 完成跳转
}
/*
if( username.equals("zhangsan") && userpass.equals("zhangsan") )
{
RequestDispatcher rd = request.getRequestDispatcher("success.jsp"); // 跳转到成功的页面
rd.forward(request,response); // 完成跳转
}else
{
RequestDispatcher rd = request.getRequestDispatcher("index1.jsp"); // 跳转到登录页面
rd.forward(request,response); // 完成跳转
}
*/
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
{
doGet(request,response);
}
}
找到:
boolean b = user.login();
修改为:
boolean b = false;
try{
b = user.login();
}catch(Exception e){
// 当产生异常的时候,把异常信息输出在界面上
// 设置编码方式
response.setContentType("text/html;charset=gb2312");
// 得到输出流对象
PrintWriter out = response.getWriter();
out.println(e.toString());
return;
}
分享到:
相关推荐
### Java Web快速入门——全十讲 #### 一、Java与Web开发的融合:JavaEE标准框架 在探讨Java Web开发之前,我们首先要理解Java在Web领域的定位。Java不仅仅是一种编程语言,它还是一套完整的生态系统,适用于各种...
以上是对“Java_Web快速入门——全十讲”的部分知识点进行了详细的总结,这些知识点涵盖了 Java Web 技术的基础概念、核心技术和实践应用,对于初学者来说是非常宝贵的参考资料。接下来的几讲会继续深入探讨更高级的...
**第五讲:EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)** EL是JSP 2.0引入的表达式语言,简化了数据访问。JSTL是一组标准标签库,用于执行常见的JSP任务,如循环、条件判断等。本讲...
第5章 Web应用的缔造者 ——Servlet技术 5.1 本章学习任务 5.1.1 本章知识体系 5.1.2 实例开发任务 5.2 与时俱进——了解Servlet技术 5.2.1 初步认识Servlet 5.2.2 Servlet与JSP的区别 5.3 为我所用——Servlet技术...
* 第5课:消息驱动Bean(Message-Driven Bean)——接收JMS消息 + JMS与消息驱动Bean的工作原理 + 处理点对点消息——队列Queue + 处理发布/订阅消息——主题Topic * 第6课:实体Bean(Entity Bean)——Java持久...
Firefox OS,最初称为Boot to Gecko(B2G),旨在打破传统移动操作系统对特定编程语言的依赖,如iOS的Objective-C和Android的Java,转而支持HTML5作为主要开发语言。尽管底层系统是Linux,但其核心是围绕Web技术构建...
4.2 Servlet开发入门 4.3 Servlet的特点及运行过程 4.4 ServletConfig接口 4.5 GenericServlet与HttpServlet类 4.6 ServletContext接口 4.7 思考与实践 第5章 HttpServletResponse的...
《Java Web编程宝典——十年典藏版》是一本深入探讨Java Web开发的权威书籍,其源码提供了丰富的实例,帮助读者深入理解并实践相关技术。这本书覆盖了从基础到高级的Java Web开发各个方面,包括Servlet、JSP、Java...
《Go Web编程实战派从入门到精通》是一本专注于Go语言在Web开发领域的专著,其开源的随书源码库名为"Go语言-Web-goWebActualCombat",压缩包内的主要内容是goWebActualCombat-master目录,这代表了一个完整的Go语言...
### 云应用开发 ——Google App Engine & Google Web Toolkit入门指南 #### 第1章 应该了解下 ##### 1.1 云基本知识 云计算是一种通过互联网提供按需计算资源和服务的方式,包括网络、服务器、存储、应用程序和...
### JAVA入门教程21天学通JAVA2第三版——关键知识点解析 #### 一、JAVA入门书籍推荐 - **《Java语言》**:适合初学者,全面覆盖Java基础语法及面向对象的基本概念。 - **《Thinking in Java》**:虽然内容深入且...
还会介绍如何编写并运行第一个Java程序——经典的"Hello, World!"示例。 3. **JAVA基本程序实践**:在理论知识的基础上,这部分将深入到实际编程中,涵盖类和对象的概念,这是面向对象编程的基础。学习者会了解如何...
JavaScript Server Faces(JSF)是Java平台上用于构建Web应用程序的一种框架,它旨在简化Web开发,尤其是在处理用户界面和服务器端逻辑交互方面。JSF的核心设计理念是通过组件模型、事件驱动和声明式编程来抽象出...
【Java基础培训教程】是为初学者设计的一套详尽的学习资源,涵盖了从入门到进阶的各个环节。在这个教程中,我们将深入理解Java语言的基本概念,掌握编程技巧,并熟悉常用的开发工具,如Eclipse、NetBeans和Struts。...
在“Java Web开发教程——入门与提高篇(JSP+Servlet)”这个教程中,你将系统学习这些知识点,逐步掌握如何使用Java进行Web开发,建立起从零到一的实战能力。无论是对HTTP协议的理解,还是对Java Web组件的运用,都...
#### 第5章 数据库开发实例——学生成绩管理系统 通过开发一个学生成绩管理系统,详细讲解了如何使用HSQLDB数据库、SQLExplorer插件、JavaBean以及DAO设计模式来实现数据的增删查改。这一章节不仅教授了数据库开发的...
这份资料集主要涵盖Java基础知识、初学者入门指南以及常见的Java面试题,旨在帮助学习者系统地理解和掌握Java的核心概念。 首先,Java基础知识是理解任何Java程序的基础。这包括: 1. **Java环境搭建**:学习如何...
本文将详细讲解Java编程的“第一步”——JDK的安装、环境变量配置以及编写并运行你的第一个Java程序。 首先,我们来了解一下JDK(Java Development Kit)。JDK是Oracle公司提供的Java开发工具包,包含了编译Java源...