实际开发中以MVC设计模式为主,强制性地使应用程序的输入、处理和输出分开。
现在的JSP页面中的代码已经减少了很多,只是简单地完成了输出,实际上在开发中,JSP中最好只包含一下3中类型的代码:
•接收属性:接收从Servlet传递过来的属性。
•判断语句:判断传递到JSP中的属性是否存在。
•输出内容:使用迭代或者VO进行输出。
在JSP页面中唯一允许导入的包只能是javautil包,值要能把握住这一点,即可开发出一个简洁、清晰的JSP页面。
访问数据库要用到jdbc技术。
首先加载驱动:ClassforName("驱动包类名称");
然后获得连接:Connection conn = DriverManagergetConnection("连接路径,端口,数据库名","数据库用户名","密码");
然后获得PreparedStatement:PreparedStatement pstmt = connprepareStatement("sql语句");
之后就按照检索和增删改的区别分别执行不同的代码。
预处理语句PreparedStatement会将传入的SQL命令封装在PreparedStatement对象中,事先进行预编译处理等待使用。
当有单一的SQL语句多次执行时,用PreparedStatement类会比Statement类更有效率。
下面设个是jsp数据库 *** 作的基础类:import javasqlConnection;import javasqlResultSet;import javasqlSQLException;import javasqlStatement;public class DBmain {///查询数据 返回 ResultSet对象 在使用完后需关闭数据库连接///sql:语句public static ResultSet executeQuery(String sql) {Connection conn=null;Statement stmt=null;ResultSet rs = null;try {conn = DBconnectiongetConnnection();stmt = conncreateStatement(ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_READ_ONLY);rs = stmtexecuteQuery(sql);} catch (SQLException ex) {connclose();stmtclose();Systemerrprintln("sjk-Query:" + exgetMessage());}finally{}return rs;}///更新数据库 返回 int///sql:语句public static int executeUpdate(String sql) {int ix=0;Connection conn=null;Statement stmt=null;try {conn = DBconnectiongetConnnection();stmt = conncreateStatement(ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_READ_ONLY);ix=stmtexecuteUpdate(sql);} catch (SQLException ex) {
最简单的JSP页面中的数据库 *** 作方法:
<%@ page
language="java"
contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
%>
<%@page import="javasql"%>
<center>
<H1> <font color="blue" size="12">管理中心</font></H1>
<HR />
<table width="80%" border="1">
<tr>
<th>ID</th>
<th>书名</th>
<th>作者</th>
<th>价格</th>
<th>删除</th>
</tr>
<%
// 数据库的名字
String dbName = "zap";
// 登录数据库的用户名
String username = "sa";
// 登录数据库的密码
String password = "123";
// 数据库的IP地址,本机可以用 localhost 或者 127001
String host = "127001";
// 数据库的端口,一般不会修改,默认为1433
int port = 1433;
String connectionUrl = "jdbc:sqlserver://" + host + ":" + port + ";databaseName=" + dbName + ";user=" + username
+ ";password=" + password;
//
//声明需要使用的资源
// 数据库连接,记得用完了一定要关闭
Connection con = null;
// Statement 记得用完了一定要关闭
Statement stmt = null;
// 结果集,记得用完了一定要关闭
ResultSet rs = null;
try {
// 注册驱动
ClassforName("commicrosoftsqlserverjdbcSQLServerDriver");
// 获得一个数据库连接
con = DriverManagergetConnection(connectionUrl);
String SQL = "SELECT from note";
// 创建查询
stmt = concreateStatement();
// 执行查询,拿到结果集
rs = stmtexecuteQuery(SQL);
while (rsnext()) {
%>
<tr>
<td>
<%=rsgetInt(1)%>
</td>
<td>
<a href="prepareupdateID=<%=rsgetInt("ID")%>" target="_blank"><%=rsgetString(2)%></a>
</td>
<td>
<%=rsgetString(3)%>
</td>
<td>
<%=rsgetString(4)%>
</td>
<td>
<a href="deleteID=<%=rsgetInt("ID")%>" target="_blank">删除</a>
</td>
</tr>
<%
}
} catch (Exception e) {
// 捕获并显示异常
eprintStackTrace();
} finally {
// 关闭我们使用过的资源
if (rs != null)
try {
rsclose();
} catch (Exception e) {}
if (stmt != null)
try {
stmtclose();
} catch (Exception e) {}
if (con != null)
try {
conclose();
} catch (Exception e) {}
}
%>
</table>
<a href="insertjsp">添加新纪录</a>
</center>
直接将你要的连接封装成一个数据库的连接类,在这个类中值完成数据库的连接和关闭不做任何事情,要用的时候直接调用就是了,你说的<jsp:useBean id="db" class "beanConnDB" scope="session"/>
JavaBean是一种符合特定规范的Java对象,在JavaBean中定义了一系列的属性(也就是成员变量),并提供了访问和设置这些属性的公共方法(也就是getXXX和setXXX方法)。JavaBean可以作为共享数据存放在page、request、session和application范围内。在JSP文件中,可以通过专门的标签来定义或访问JavaBean。例如:<jsp:useBean id="uuwoxin" scopo="page/request/session/application" class="BaiduUser">(--使用BaiduUser类实例化一个对象uuwoxin,相当于BaiduUser uuwoxin=new BaiduUser();--)
输出一个JavaBean的某个属性到页面上的时候,可以使用<jsp:getProperty name="uuwoxin" property="password">(--相当于uuwoxingetPassword();--)
设置一个JavaBean的某个属性,可以使用<jsp:setProperty name="uuwoxin" property="password" value="uuwoxin_password">(--相当于uuwoxinsetPassword("uuwoxin_password");--)
用于实例化JavaBean对象的类是写在后台的,比如Tomcat站点中WEB-INF/classes文件夹下,并且需要编译成字节码文件(class)。
struts框架中的ActionForm Bean就是一种典型的JavaBean。
深入了解JavaBean可以访问:>
JAVA Web开发中与数据库的连接 *** 作,配置:
1、新建数据库。
新建登录角色,在新建数据库的时候把数据库的所有权交给你新建的角色。用用户和密码控制数据库。保证数据库的安全。
2、编写contextxml文件 Xml文件的目的是封装用户和密码,也是封装的一种,方便 *** 作。
以下为contextxml文件样例:
<xml version="10" encoding="utf-8">
<Context reloadable = "true">
<Resource
name="jdbc/sampleHS"
type="javaxsqlDataSource"
maxActive="14"
先说一下链接任何的服务都是通过这种方式:协议://ip:端口,链接数据库服务也是这种结构,以下简单描述下每个参数的意思。。。
jdbc:mysql 表示你要连的是mysql的数据库服务。
localhost:表示是你要链接哪一台电脑的数据库,localhost表示的是连本地的数据库,也可以用127001来代替,如果是别的机器就要换成其他机器的ip。
3306:表示你电脑中安装的数据库的端口是3306(文中你写的是3360,可能是你写错了)。
test:表示是你要链接的数据库服务中的哪个数据库(test是数据库的名字,一定要和你在native for MySQL中建的名称保持一致)
以上就是关于简述JSP的工作原理和访问数据库的一般步骤全部的内容,包括:简述JSP的工作原理和访问数据库的一般步骤、jsp数据库 *** 作时,使用预处理语句的好处是什么请详细阐述。、jsp怎么在数据库中插入数据啊!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)