本文目錄一覽:
- 1、jsp中用servlet連接數據庫
- 2、JSP+Servlet+數據庫
- 3、jsp怎麼把數據傳給servlet
- 4、jsp中如何把servlet中獲得的一個數據庫結果集傳到jsp頁面中,然後再jsp頁面中顯示結果集的內容?
- 5、如何把servlet的數據傳遞給JSP頁面
jsp中用servlet連接數據庫
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import javax.imageio.stream.FileImageInputStream;
public class DBUtil {
private Connection conn;
private Statement stmt;
private PreparedStatement pps;
private ResultSet rs=null;
private String url=”jdbc:oracle:thin:@localhost:1521:orcl”;
static{
try {//加載驅動
Class.forName(“oracle.jdbc.driver.OracleDriver”);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private Connection getConnection(){
try {//獲取連接
return DriverManager.getConnection(url,”username”,”password”);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public int update(String sql){
int row=-1;
try {
conn=getConnection();
stmt=conn.createStatement();
row=stmt.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
close();
}
return row;
}
public int update(String sql,Object …obj){
//Object …obj 動態數組 類型是Object,數組名為obj
int row=-1;
try {
conn=getConnection();
pps=conn.prepareStatement(sql);//預處理語句對象
for(int i=0;iobj.length;i++){
if(obj[i] instanceof File){//將文件寫入數據庫
FileInputStream fis=new FileInputStream((File)obj[i]);
pps.setBinaryStream(i+1, fis, (int)((File)obj[i]).length());
continue;
}
pps.setObject(i+1, obj[i]);
}
row=pps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
close();
}
return row;
}
public ListMapString,Object queryToList(String sql){
try {
conn=getConnection();
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
ResultSetMetaData rsmd=rs.getMetaData();//獲取列的信息
ListMapString,Object list=new LinkedListMapString,Object();
while(rs.next()){
MapString,Object map=new HashMapString,Object();
for(int i=1;i=rsmd.getColumnCount();i++){
map.put(rsmd.getColumnName(i), rs.getObject(i));//把每列信息封裝成map
}
list.add(map);//map列信息封裝進list
}
return list;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
close();
}
return null;
}
public ListMapString,Object queryToList(String sql,Object …obj){
try {
conn=getConnection();
//stmt=conn.createStatement();
pps=conn.prepareStatement(sql);
for(int i=0;iobj.length;i++){
pps.setObject(i+1, obj[i]);
}
rs=pps.executeQuery();
ResultSetMetaData rsmd=rs.getMetaData();//獲取列的信息
ListMapString,Object list=new LinkedListMapString,Object();
while(rs.next()){
MapString,Object map=new HashMapString,Object();
for(int i=1;i=rsmd.getColumnCount();i++){
map.put(rsmd.getColumnName(i), rs.getObject(i));//把每列信息封裝成map
}
list.add(map);//map列信息封裝進list
}
return list;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
close();
}
return null;
}
public PageBean getPage(String sql,int pagesize,int pagenow){
PageBean pb=new PageBean();
pb.setPagesize(pagesize);
pb.setPagenow(pagenow);
pb.setRowstart((pagenow-1)*pagesize+1);
pb.setRowend(pb.getRowstart()+pagesize-1);
pb.setRowall(queryToList(sql).size());
pb.setPageall(pb.getRowall()%pagesize==0?pb.getRowall()/pagesize:pb.getRowall()/pagesize+1);
//sql=”select * from (select rownum as rowindex,t.* from (“+sql+” and rownum='”+pb.getRowend()+”‘) t) where rowindex='”+pb.getRowstart()+”‘”;
sql=”select * from (select t.*,rownum as rowindex from (“+sql+”)t where rownum=”+pb.getRowend()+”) where rowindex=”+pb.getRowstart();
pb.setList(queryToList(sql));
return pb;
}
private void close(){
try {
if(rs!=null)
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(pps!=null){
try {
pps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
if(stmt!=null)
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(conn!=null)
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
最上面的是連接數據庫的,下面的是方法的封裝,用的時候直接定義一個對象調用方法就好了。當然別忘了下載驅動包
JSP+Servlet+數據庫
1、寫出DAO,DAO中定義出CRUD接口,並寫出各自的實現;
2、建出servlet;
3、準備好數據庫,進行連接測試,無問題,繼續;有問題,修正;
4、DAO測試無問題後,開始着手servlet和jsp文件,按照你的要求寫即可。
JSP+Servlet這種實現的好處就是快,適用於小項目,但是大項目不推薦的~~~
jsp怎麼把數據傳給servlet
jsp向servlet傳值大致有這麼幾種情況。
第一種超鏈接,在href=’servletAction?id=xxx’
第二種form表單提交,當點擊submit時,action=”servletAction” method=’get/post’
第三種就是利用ajax,url=’servletActionz’,當然了,這裡也有get和post兩種情況,get直接在url後面加問號傳參,post會把參數放在實體內容裡面。
最後在servlet那邊 用 request.getParameter(“參數名”);就可以拿到了
jsp中如何把servlet中獲得的一個數據庫結果集傳到jsp頁面中,然後再jsp頁面中顯示結果集的內容?
jsp頁面傳值個servlet可通過form提交,servlet可通過request.getRequestDispatcher(“跳轉的jsp頁面”)進行頁面跳轉,值通過request.setAttribute(“name”,value)進行傳遞。
你的代碼沒問題啊,你現在是說test.jsp如何獲得這些值么?
如何把servlet的數據傳遞給JSP頁面
jsp通過servlet傳值到另外一個jsp的方法:
jsp通過form表單傳給servlet的值通過request對象可以傳到另外一個jsp。
Servlet傳值給Jsp
具體實現如下:
java代碼:String a= “abccdefg “;
request.setAttribute( “ValueA “,a);
request.getRequestDispatcher( “網址/jsp頁面 “).forward(request,response);
jsp頁面:
%
String s =(String)request.getAttribute( “ValueA “);
%
jsp頁面就可以取出Servlet的值。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/291882.html