一般的原则是页面不直接调用底层方法,如果你只是练习的话就再页面上直接调用也可以,写在<%%>中,和java中的使用方法一样,new对象,使用哪个方法,需要导包,java也一样,导包可以既在myeclipse中alt+/组合键自动导,也可以在头部手动写。如楼上。
个人建议你在sevlet里面调用,这个就是单纯的java调用了。然后用request等内置对象存,页面去取就可以了。这个也符合MVC的设计思想。实际开发中也会这么做。没有人会给jsp页面中写一堆java代码的。初学应该养成良好的习惯。
呵呵,楼主既然思路都有了还怕写不出代码么?
你这个思路没有问题的!
可以把这个问题拆分成几个小问题,就简单多了。
第一是文件上传,可以参照Jakarta的FileUpload组件,其实也不一定要用这个,用普通的Post也就行了。
第二是Excel解析,用JSL或者POI都行
第三是数据保存,这个应该简单吧,一个循环,一行对应一条数据,写好了方法循环赋值调用就行了。
第四是查询和显示,这个更简单了,不用多说。
文件上传和Excel解析的例子网上很多的,改改就变自己的了,何必在这管别人要代码呢~
(1)获取文本框内容
(2)连接数据库
(3)查询数据库
(4)插入数据
(5)以表格形式输出数据库中的数据
<%@page contentType="text/html;charset=gbk" %>
<%@page import="javasql" %>
<%
String sidbook=requestgetParameter("idbook");// 获取文本框内容
String idbook=new String(sidbookgetBytes("iso-8859-1"));
String scategoryname=requestgetParameter("categoryname");
String categoryname=new String(scategorynamegetBytes("iso-8859-1"));
String sbookname=requestgetParameter("bookname");
String bookname=new String(sbooknamegetBytes("iso-8859-1"));
String sauthor=requestgetParameter("author");
String author=new String(sauthorgetBytes("iso-8859-1"));
String ssuppliername=requestgetParameter("suppliername");
String suppliername=new String(ssuppliernamegetBytes("iso-8859-1"));
String soutday=requestgetParameter("outday");
String outday=new String(soutdaygetBytes("iso-8859-1"));
String sprice=requestgetParameter("price");
String price=new String(spricegetBytes("iso-8859-1"));
String sstock=requestgetParameter("stock");
int stock=IntegerparseInt(sstock); //将字符转换为数字
String sfabu=requestgetParameter("selectfabu");
String fabu=new String(sfabugetBytes("iso-8859-1"));
String shotdeal=requestgetParameter("selecthotdeal");
String hotdeal=new String(shotdealgetBytes("iso-8859-1"));
String ssale=requestgetParameter("sale");
String sale=new String(ssalegetBytes("iso-8859-1"));
ClassforName("sunjdbcodbcJdbcOdbcDriver");
Connection con=DriverManagergetConnection("jdbc:odbc:booksystem");
Statement sql=concreateStatement();
ResultSet rs=sqlexecuteQuery("select from books where idbook='"+idbook+"'"); //按照idbook查询数据库
if(rsnext())
outprint("此书(图书编号:'"+idbook+"')已存在于数据库中,插入失败 !"+"<p>");
else
{
sqlexecuteUpdate("insert into books values('"+idbook+"','"+categoryname+"','"+bookname+"','"+author+"','"+suppliername+"','"+outday+"','"+price+"','"+stock+"','"+fabu+"','"+hotdeal+"','"+sale+"') "); //插入数据到数据库中
outprint("<strong>已将图书(图书编号:'"+idbook+"')录入数据库!</strong>"+"<p>");
}
rs=sqlexecuteQuery("select from books ");
outprint("数据库中的书目如下: ");
outprint("<table border>");
outprint("<tr>");
outprint("<th width=72>图书编号</td>");
outprint("<th width=72>图书类别</td>");
outprint("<th width=50>图书名称</td>");
outprint("<th width=50>作者</td>");
outprint("<th width=62>出 版 商</td>");
outprint("<th width=50>出版日期</td>");
outprint("<th width=50>售价</td>");
outprint("<th width=50>库存(本)</td>");
outprint("<th width=50>是否发布</td>");
outprint("<th width=50>是否热点书</td>");
outprint("<th width=50>出售(本)</td>");
outprint("</tr>");
while(rsnext())
{
String a,b,c,d,e,f,g,h,i,j,k; //这里将数据以表格形式输出
outprint("<tr>");
a=rsgetString(1);
outprint("<td>"+a+"</td>");
b=rsgetString(2);
outprint("<td>"+b+"</td>");
c=rsgetString(3);
outprint("<td>"+c+"</td>");
d=rsgetString(4);
outprint("<td>"+d+"</td>");
e=rsgetString(5);
outprint("<td>"+e+"</td>");
f=rsgetString(6);
outprint("<td>"+f+"</td>");
g=rsgetString(7);
outprint("<td>"+g+"</td>");
h=rsgetString(8);
outprint("<td>"+h+"</td>");
i=rsgetString(9);
outprint("<td>"+i+"</td>");
j=rsgetString(10);
outprint("<td>"+j+"</td>");
k=rsgetString(11);
outprint("<td>"+k+"</td>");
outprint("</tr>");
}
conclose();
%>
下面的代码即可实现(对数据库的 *** 作):
<%@ 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>
Java读取数据库记录,并把读取到的数据现在是在jsp页面需要用到一下几种技术:
1,jdbc java连接数据库技术
2,Tomcat 运行jsp页面所需要的服务器
servlet 属于web主流在当前要求中,不使用。也可以达到相同效果
把数据库的数据保存在response、session、application,然后在页面使用struts标签、jsp标签等显示,或者用<%。
对于你的这个问题,建议你学一下系统的javaee体系,应为把数据读到页面不是那么简单的,需要jdbc链接数据库,需要一个tomcat服务器,需要数据库jar包、、、、、、
以上就是关于JSP如何连接数据库全部的内容,包括:JSP如何连接数据库、怎样将Excel文件导入数据库(在JSP环境下Java代码)、如何将数据库中查询到的数据 输出到jsp页面中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)