澳门新葡亰信誉平台游戏在JSP中访问数据库大全

by admin on 2020年1月20日

 小说分类:Java编程

今昔有无尽初学jsp的网上朋友日常会问数据库怎么总是啊,怎么老出错啊?所以小编聚集的在这里写篇小说供大家参照他事他说加以侦察,其实这种把数据库逻辑全体位居jsp里未必是好的做法,可是福利初行家学习,所以自个儿就这么做了,当大家学到一定程度的时候,能够虚构用MVC的方式开荒。在操演那么些代码的时候,你早晚将jdbc的驱动程序放到服务器的类路线里,然后要在数据Curry建一个表test,有五个字段比方为test1,test2,可以用上面SQL建 create table test(test1 varchar(20卡塔尔国,test2 varchar(20卡塔尔,然后向那一个表写入一条测量试验纪录,那么今后起来我们的jsp和数据库之旅吧。 

<%@ page contentType=”text/html; charset=gb2312″ %>
<%@ page info=”database handler”%>
<%@ page import=”java.io.*”%>
<%@ page import=”java.net.*”%>
<%@ page import=”java.lang.*”%>
<%@ page import=”java.util.*”%>
<%@ page import=”java.sql.*”%>
<%@ page import=”javax.servlet.*”%>
<%@ page import=”javax.servlet.http.*”%>
<%@ page import=”oracle.sql.CLOB”%>
<%@ page import=”oracle.jdbc.driver.OracleResultSet”%>

1、引言

一、jsp连接Oracle8/8i/9i数据库(用thin模式) 
testoracle.jsp如下: 
<%@ page contentType=”text/html;charset=gb2312″%> 
澳门新葡亰信誉平台游戏,<%@ page import=”java.sql.*”%> 
<html> 
<body> 
<%Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance(); 
String url=”jdbc:oracle:thin:@localhost:1521:orcl”; 
//orcl为您的数据库的SID 
String user=”scott”; 
String password=”tiger”; 
Connection conn= DriverManager.getConnection(url,user,password); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql=”select * from test”; 
ResultSet rs=stmt.executeQuery(sql); 
while(rs.next()) {%> 
你的率先个字段内容为:<%=rs.getString(1卡塔尔%> 
你的第4个字段内容为:<%=rs.getString(2State of Qatar%> 
<%}%> 
<%out.print(“数据库操作成功,恭喜您”卡塔尔国;%> 
<%rs.close(); 
stmt.close(); 
conn.close(); 
%> 
</body> 
</html> 

<html>
<head>
<meta content=”text/html; charset=gb2312″
http-equiv=”content-type”>
</head>
<body>
<%
int i=0;
String parID = request.getParameter(“id_no”);
String strSql;
String content=””;

数据库应用程序,特别是基于WEB
的数据库应用程序,常会涉及到图片消息的存款和储蓄和显示。平日大家运用的诀要是将所要呈现的图样存在一定的目录下,在数据库中保存相应的图片的名目,在JSP
中国建工业总会公司立相应的数据源,利用数据库访谈工夫管理图片音讯。可是,如果大家想动态的显得图片,上述办法就不能够知足急需了。大家一定要把图片存入数据库,然后经过编制程序动态地出示大家须求的图形。实操中,能够运用JSP的编制程序方式来促成图片的数据库存款和储蓄和出示。

二、jsp连接Sql Server7.0/2000数据库 
testsqlserver.jsp如下: 
<%@ page contentType=”text/html;charset=gb2312″%> 
<%@ page import=”java.sql.*”%> 
<html> 
<body> 
<%Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance(); 
String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs”; 
//pubs为你的数据库的 
String user=”sa”; 
String password=””; 
Connection conn= DriverManager.getConnection(url,user,password); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql=”select * from test”; 
ResultSet rs=stmt.executeQuery(sql); 
while(rs.next()) {%> 
您的首先个字段内容为:<%=rs.getString(1卡塔尔国%> 
您的第1个字段内容为:<%=rs.getString(2)%> 
<%}%> 
<%out.print(“数据库操作成功,恭喜您”卡塔尔;%> 
<%rs.close(); 
stmt.close(); 
conn.close(); 
%> 
</body> 
</html> 

try{
String xmlFile = “/usr/local/tomcat/webapps/vehicles/test.xml”;

2、  创设后台数据库

三、jsp连接DB2数据库 
testdb2.jsp如下: 
<%@ page contentType=”text/html;charset=gb2312″%> 
<%@ page import=”java.sql.*”%> 
<html> 
<body> 
<%Class.forName(“com.ibm.db2.jdbc.app.DB2Driver “).newInstance(); 
String url=”jdbc:db2://localhost:5000/sample”; 
//sample为你的数据库名 
String user=”admin”; 
String password=””; 
Connection conn= DriverManager.getConnection(url,user,password); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql=”select * from test”; 
ResultSet rs=stmt.executeQuery(sql); 
while(rs.next()) {%> 
您的率先个字段内容为:<%=rs.getString(1State of Qatar%> 
你的第一个字段内容为:<%=rs.getString(2卡塔尔(قطر‎%> 
<%}%> 
<%out.print(“数据库操作成功,恭喜您”卡塔尔国;%> 
<%rs.close(); 
stmt.close(); 
conn.close(); 
%> 
</body> 
</html> 

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
String dburl=”jdbc:oracle:thin:@192.168.15.250:1521:ycdb”;
Connection
con=DriverManager.getConnection(dburl,”training”,”deep1704sea”);
Statement stmt=con.createStatement();

   
假定管理的是图片消息,那么我们得以创设相应的数据库及数据表对象。大家要存取的数据表布局的SQL脚本如下所示:

四、jsp连接Informix数据库 
testinformix.jsp如下: 
<%@ page contentType=”text/html;charset=gb2312″%> 
<%@ page import=”java.sql.*”%> 
<html> 
<body> 
<%Class.forName(“com.informix.jdbc.IfxDriver”).newInstance(); 
String url = 
“jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver; 
user=testuser;password=testpassword”; 
//testDB为你的数据库名 
Connection conn= DriverManager.getConnection(url); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql=”select * from test”; 
ResultSet rs=stmt.executeQuery(sql); 
while(rs.next()) {%> 
你的率先个字段内容为:<%=rs.getString(1卡塔尔%> 
您的第二个字段内容为:<%=rs.getString(2卡塔尔国%> 
<%}%> 
<%out.print(“数据库操作成功,恭喜你”State of Qatar;%> 
<%rs.close(); 
stmt.close(); 
conn.close(); 
%> 
</body> 
</html> 

//使用流读取CLOB或BLOB列
strSql = “select xmlgen.getxml(‘select * from account_holder where
id_no=”0001”’) from dual “;
ResultSet rs=stmt.executeQuery(strSql);
if(rs.next()){
CLOB clob = ((OracleResultSet)rs).getCLOB(1);
if(clob!=null){
Reader is = clob.getCharacterStream();
BufferedReader br = new BufferedReader(is);
String s = br.readLine();
while(s!=null){
//byte[] temp = s.getBytes(“iso-8859-1”);
//s = new String(temp);
content += s;
s=br.readLine();
}
}
}
//out.println(content);

if exists (select * from dbo.sysobjects where id =

五、jsp连接Access数据库 
<%@page import=”java.sql.*” 
import =”java.util.*” 
import =”java.io.*” 
import=”java.text.*” 
contentType=”text/html; charset=gb2312″ 
buffer=”20kb” 
%><%! int all,i,m_count; 
String odbcQuery; 
Connection odbcconn; 
Statement odbcstmt; 
ResultSet odbcrs; 
String username,title,content,work,email,url,time,date; 
String datetime; 
%> 
<% 
try{ 
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); 
}catch (ClassNotFoundException e) 
{ out.print (“驱动程序不设有”卡塔尔; 
}  
try{ 
odbcconn = DriverManager.getConnection(“jdbc:odbc:db1”); 
odbcstmt = odbcconn.createStatement();      
odbcQuery=”Select * From book where datetime>2001-4-26 Order By datetime DESC”; 
odbcrs=odbcstmt.executeQuery(odbcQuery); 
int i=0; 
while (i<130) odbcrs.next(); 
while (odbcrs.next()) 

//*/////////////////////////彰显数据库的开始和结果用于调节和测量试验程序是用// 
int ii; 
try{ 
try{ 
for (ii=1;;ii++) 
out.print (“<br>Cloumn “+ii+” is: “+odbcrs.getString(ii)); 
}catch (NullPointerException e) { 
out.print (“有空的指针”卡塔尔国; 

}catch (SQLException e){ 


odbcrs.close(); 
odbcstmt.close(); 
odbcconn.close(); 
}catch (SQLException e) 
{ out.print (e); 

%> 

//将从数据库中读出的开始和结果写到文件中
FileOutputStream fo = new FileOutputStream(xmlFile);
PrintStream so = new PrintStream(fo);
so.println(content);
so.close();

object_id(N'[dbo].[picturenews]’) andOBJECTPROPERTY(id,
N’IsUserTable’) = 1)

rs.close();
stmt.close();
con.close();

drop table [dbo].[picturenews]

}catch(Exception e){
out.println(e);
}
%>
</body>
</html>

GO

CREATE TABLE [dbo].[picturenews] (

      [id] [int] IDENTITY (1, 1) NOT NULL ,

       [image] [image] NULL ,

       [content] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL
,

       [detail] [varchar] (5000) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

                   

     
表picturenews中,字段id作为标志,每存款和储蓄大器晚成行数据,自动增添1。字段image

用于存款和储蓄图片消息,其数据类型为“image”。

      3、向数据仓库储存储二进制图片

启航Dreamweaver MX后,新建三个JSP文件。其代码如下所示。

<%@ page contentType=”text/html;charset=gb2312″%>

<HTML>

<HEAD>

<TITLE>存款和储蓄图片</TITLE>

</HEAD>

<body>

<!– 上面包车型客车窗体将以Post方法,将数据传递给testimage.jsp文件 –>

<FORM METHOD=POST ACTION=”testimage.jsp”>

新 闻 标 题:<INPUT TYPE=”text” NAME=”content”>

新 闻 图 片:<INPUT TYPE=”file” NAME=”image”>

音讯内容:<TEXTAREA name=”txtmail” rows=”15″ cols=”90″
style=”BOGL450DEENVISION-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px
solid; BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid;
FONT-SIZE: 9pt; HEIGHT: 200px; WIDTH: 100%” wrap=”physical”
></TEXTAREA><br>

      <INPUT TYPE=”submit”></form>

</body>

</HTML>

将此文件保留为InputImage.jsp文件,在那之中testimage.jsp文件是用来将图片数据存入数据库的,具体代码如下所示:

<%@ page contentType=”text/html;charset=gb2312″%>

<%@ page import=”java.sql.*” %>

<%@ page import=”java.util.*”%>

<%@ page import=”java.text.*”%>

<%@ page import=”java.io.*”%>

<html>

<body>

<%

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

//加载驱动程序类

Connection
con=DriverManager.getConnection(“jdbc:odbc:denglu”,”sa”,”sa”);

//创建数据库联机,此中denglu为数量库名,sa为延续数据库的帐号及密码。

Statement stmt=con.createStatement();

//建立Statement对象

String content=request.getParameter(“content”);

content=new String(content.getBytes(“8859_1″),”gb2312”);

String filename=request.getParameter(“image”);

filename=new String(filename.getBytes(“8859_1″),”gb2312”);

String detail=request.getParameter(“txtmail”);

detail=new String(detail.getBytes(“8859_1″),”gb2312”);

//拿到所要呈现图片的标题、存款和储蓄路径、内容,并展开中文编码

FileInputStream str=new FileInputStream(filename);

String sql=”insert into picturenews(content,image,detail)
values(?,?,?)”;

PreparedStatement pstmt=con.prepareStatement(sql);

pstmt.setString(1,content);

pstmt.setBinaryStream(2,str,str.available());

pstmt.setString(3,detail);

pstmt.execute();

//将数据存入数据库

out.println(“Success,You Have Insert an Image Successfully”);

%>

4、网页中动态显示图片

接下去大家要编制程序从数据库中收取图片,其代码如下所示。

<%@ page contentType=”text/html;charset=gb2312″%>

<%@ page import=”java.sql.*” %>

<%@ page import=”java.util.*”%>

<%@ page import=”java.text.*”%>

<%@ page import=”java.io.*”%>

<html>

<body>

<%

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

//加载驱动程序类

Connection
con=DriverManager.getConnection(“jdbc:odbc:denglu”,”sa”,”sa”);

Statement stmt=con.createStatement();

ResultSet rs=null;

//建立ResultSet(结果集)对象

int id= Integer.parseInt(request.getParameter(“id”));

//获得所要呈现图片的编号id,并转变为整型

String sql = “select image from picturenews WHERE id=”+id+””;

//要进行查询的SQL语句

rs=stmt.executeQuery(sql);

while(rs.next()) {

ServletOutputStream sout = response.getOutputStream();

//图片输出的出口流

InputStream in = rs.getBinaryStream(1);

byte b[] = new byte[0x7a120];

for(int i = in.read(b); i != -1;)

{

sout.write(b);

//将缓冲区的输入输出到页面

in.read(b);

}

sout.flush();

//输入实现,毁灭缓冲

sout.close();

}

%>

</body>

</html>

将此文件保留为testimageout.jsp文件。下一步要做的专门的学问正是运用HTML标志:

<IMG src=”testimageout.jsp?id=<%=rs.getInt(“id”State of Qatar%>”  width=100
height=100>抽取所要体现的图样,此中id是所要抽取图片的数码。本例中大家输出了第一个和最后三个图形音信,详细的程序代码如下所示。

<%@ page contentType=”text/html;charset=gb2312″%>

<%@ page import=”java.sql.*” %>

<html>

<head>

<title>动态呈现数据库图片</title>

</head>

<body>

<%

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

Connection
con=DriverManager.getConnection(“jdbc:odbc:denglu”,”sa”,”sa”);

Statement stmt=con.createStatement();

String sql=new String();

sql= “select * from picturenews”;

ResultSet rs=stmt.executeQuery(sql);

rs.last();

//将指针移至最终一条记下

%>

<table>

<tr><td><IMG height=99 src=”testimageout.jsp?id=1″
width=136></td>

//抽取第一个图片

<td><IMG height=99
src=”testimageout.jsp?id=<%=rs.getInt(“id”)%>”
width=136></td>

//抽出最终一个图形

</tr></table>

</body>

</html>

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图