當前位置:首頁 » 操作系統 » servlet獲取資料庫數據

servlet獲取資料庫數據

發布時間: 2023-01-24 12:56:54

A. html怎麼獲取後端數據獲取方法介紹

1、首先先創建一個HTML,html是前端頁面骨架,然後通過javascript調用後端接。口,接受返回的response,這里通過前端的一個select下拉框,調用後台的介面填充數據。
2、html中的需求是在頁面在完成後select獲取資料庫中的值並填充其中,這里定義ajax方法。
3、然後編寫後台的程序,編寫servlet/controller中的獲取資料庫值的方法。
4、在前端根據servlet/controller返回的值在js中渲染標簽中的值。
5、通過ajax的方式先移除原先的元素,然後再把資料庫的值填充進去。
6、因為html中引用了jquery,所以一定要引入jquery腳本
7、開發servlet/controller時要注意返回數據的格式。

B. 求一個jquery ajax請求servlet獲取資料庫數據,並顯示在頁面的例子

假設:
1、你的頁面在Web-Root下,內容為: <div id="showMsg"></div><input type="text" id="userName" />,所用編碼為utf-8
2、你的servlet為: HelloWorldServlet.java 映射路徑為 servlet/helloWorldServlet
步驟:
1、引入jquery-1.6.4.min.js
2、編寫id為userName的輸入框的點擊觸發函數:
$("#userName").keyup(function(){
$.ajax({
type: "post",
url: "servlet/helloWorldServlet?userName="+$(this).val(),
dataType: "json",
success: function(data){
$("#showMsg").html(data.msg);//修改id為showMsg標簽的html
}, error: function(){
alert("請求出錯");
}
})
})
3、後台處理接收到的內容:
request.setCharactorEncoding("utf-8");
String userName = request.getParameter("userName");
response.setCharactorEncoding("utf-8");
PringWriter out = response.getWriter();
out.print("{\"msg\":\"你好~~"+userName+"!\"}");

注意事項:
1、這里的編碼統一為utf-8
2、請求路徑servlet/helloWorldServlet為相對路徑,因此你的頁面必須在項目的Web-Root下(也就是默認的web文件夾下,名字可能因項目配置不同而改變)
3、沒了,記得給分哦,打字很辛苦的~

C. 怎麼訪問jsp時通過servlet獲取資料庫的數據

HTML是固定死的,無法動態的顯示處理後的結果。
而servlet和jsp解決了這個問題,servlet可以接受來自用戶登陸請求頁面的數據,進行計算處理之後,返回給jsp頁面來顯示。
就你這個問題來說,應該這樣寫:
登錄頁面使用html和jsp都無所謂,裡面需要一個表單FORM,action="處理業務的servlet的url",有一個提交查詢按鈕,這個查詢按鈕為submit。那麼點擊查詢後,會把表單數據提交給servlet,在servlet中可以通過request.getParameter("參數名");來獲取表單中的用戶名參數,然後在servlet中調用jdbc代碼取得資料庫中對應用戶的余額,然後通過request.setAttribute("余額",yue);可以傳給jsp,在jsp頁面中使用<%=request.getAttribute("余額")%>來顯示相應的余額。

D. servlet獲取資料庫內容,如何將所有欄位放到數組里在jsp怎麼顯示出來,用jstl,

把list屬性存到application中,然後再jsp取就行了。看servlet的屬性裡面的application屬性。

E. 如何使用jsp頁面跳轉到servlet中讀取資料庫中的數據,再通過servlet跳轉到下一個jsp頁面

servlet執行資料庫操作.把結果例如得到了一個List all = DB.get()....
可以這樣做 : request.setAttribute("allList",all);
這是把all的值賦給名字叫 allList 的
然後JSP 頁面里就可以通過
List allList = request.getAttribute("allList");
然後在JSP頁面里就可以得到這個結果了
我看你寫的DAO操作.
如果結果是一個集合的話
所以servlet里應該是 List all = IDAO.getList() 看你自己的方法如果調用了..
然後通過我上面說的一個賦值,一個取值.就可以在JSP頁面里取出來了.

F. 怎麼讓servlet取出資料庫數據

項目中關於資料庫的操作,一般都是會集中在DAO總編寫,而外部的只需要調用他的各種方法的借口就行了,servlet就相當於一個class,你之所以不會是不知道,怎樣將得到的數據傳到jsp頁面中,所以我推薦,你去看一下相關知識,比如
request.getRequestDispatcher("/somePage.jsp").forward(request, response); 和response.sendRedirect("/somePage.jsp");
這兩個方法的運用,
同時,你必須了解servlet和jsp的4個作用域,就是保存你資料庫取出來的數據的4個地方,關鍵詞是request,session,application和page,你可以去一個一個的看一下,至於servlet和class差不多,你只要學會數據會的地方和怎樣把他們傳給頁面,你就很明白了

G. layui表格通過servlet連接資料庫拿到數據

1.layui布局表格

<div class="demoTable">

搜索ID:

    <div class="layui-inline">

<input name="id" class="layui-input" id="demoReload" autocomplete="off">

</div>

<button class="layui-btn layui-bg-green" data-type="reload">搜索</button>

</div>

<table class="layui-hide" id="LAY_table_user" lay-filter="user"></table>

<script>

layui.use('table',function(){

var table =layui.table;

//方法級渲染

        table.render({

elem:'#LAY_table_user'

            ,url:'http://localhost:8080/onlineTest_war_exploded/question'

            ,cols: [[

,{field:'questionId',title:'題號',width:200}

,{field:'questionTitle',title:'題目',width:300}

,{field:'city',title:'通過率',width:200}

,{field:'classify',title:'難度',width:200}

]]

,id:'testReload'

            ,page:true

            ,height:310

        });

var $ =layui.$,active = {

reload:function(){

var demoReload =$('#demoReload');

//執行重載

                table.reload('testReload', {

page: {

curr:1 //重新從第 1 頁開始

                    }

,where: {

key: {

id:demoReload.val()

}

}

},'data');

}

};

$('.demoTable .layui-btn').on('click',function(){

var type =$(this).data('type');

active[type] ?active[type].call(this) :'';

});

});

</script>

url是servlet在web.xml下手動配置的路徑

第一個javabean對象是存放表格原始數據 第二個javabean是存放code msg count和表格原始數據的 把第二個javabean轉換為json格式發給後台

如圖 第一次檢查的時候發現傳回去的json裡面帶\ 原因:之前用ajax已經把存放列表原始數據的數據轉換為json了 再用第二個javabean對象又轉換了一次相當於沒轉換 所以識別不出來

結果:

H. 如何利用ajax將servlet從資料庫中取得的數

顯示數據的jsp頁面發送ajax請求servlet獲取表格的html然後設置容器的innerHTML就行了
demo,居於jquery的,注意servlet需要將數組組合成table的html代碼返回,而不是直接返回數組,ajax接受的數據只有xml和字元串2種
<script
type="text/javascript"
src="jquery.js"></script>
<script
type="text/javascript">
$(function
()
{
$.ajax({
url:
'xxxxxxxx.do',
//servlet的url,注意要組合成table的html然後返回就行了
cache:
false,
dateType:
'html',
success:
function
(data)
{
$('#dv').html(data);
},
error:
function
(xhr)
{
alert('servlet出錯\n'+xhr.status+'\n'+xhr.responseText);
}
});
});
</script>
<div
id="dv"></div>

I. eclips上在servlet中獲取資料庫中所有的信息並將其顯示在頁面上

您好,//import語句就不寫了,反正現在的IDE這么先進,這難不了大家的
public class GetA000_photoServlet extends HttpServlet {
private static final String CONTENT_TYPE = "image/jpeg";
/**Initialize global variables*/
public void init() throws ServletException{
}
/**Process the HTTP Get request*/
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException {
//從頁面中取得傳進來的參數personid
String personID = request.getParameter("personID");
//DataSourceManager 為取數庫連接的類
DataSourceManager db = null;
Connection conn = null;
ResultSet rs = null;
PreparedStatement pstmt = null;
//用來存儲照片數據的緩沖區
byte [] buf=null;
String sql = "select a.photo from Ftable a where a.PERSONID=?";
try{
db = new DataSourceManager();
if(db != null){
conn = db.getConnection();
if(conn != null){
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,personID);
rs = pstmt.executeQuery();
if(rs.next()){
//buf = rs.getBytes(1); //在網上查到的處理代碼是這樣處理的,但我這樣做後卻解決不了問題,我同學以為是數據的問題,然後認為只要把結果rs.getBytes(1)寫到輸出流,但結果確是令人非常失望,這令我不理解.後來作了如下的修改就基本解決了.(我的圖片是以Blob類型存Oracle中的)
Blob blocco = (Blob)rs.getObject("A000_PHOTO");
int length = (int)blocco.length();
buf = blocco.getBytes(1, length);
}else{
buf = new byte[0];
}
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(rs != null)
rs.close();
if(pstmt != null)
pstmt.close();
if(conn != null)
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}if(buf == null)buf = new byte[0];
//告訴瀏覽器輸出的是圖片
response.setContentType(CONTENT_TYPE);
//圖片輸出的輸出流
OutputStream out = response.getOutputStream();
//將緩沖區的輸入輸出到頁面
out.write(buf);
//輸入完畢,清楚緩沖
out.flush();
}
/**Clean up resources*/
public void destroy() {

}
}

//頁面調用
<img border="0" src="<%=request.getContextPath()%>/getPhotoServlet/getPhoto?personID=16873&ts=aaaa" width="200" height="250">
TS是一個隨機欄位用於防止資料庫更新後,頁面不能顯示更新後的圖片.我傳入的是一個時間戳以保證每次請求的地址都是不一樣的.如果你的應用布署帶有項目名的話,如http://localhost:8080/myServer/...,請不要忘了把<%=request.getContextPath()%>忘了寫上.

//web.xml配置
<servlet>
<servlet-name>getPhotoServlet</servlet-name>
<servlet-class>com.szdc.web.gbkc.GetA000_photoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>getPhotoServlet</servlet-name>
<url-pattern>/getPhotoServlet/getPhoto</url-pattern>
</servlet-mapping>

熱點內容
雷神g50如何設置安卓原生模式 發布:2024-05-19 16:50:04 瀏覽:120
c語言小數四捨五入 發布:2024-05-19 16:23:28 瀏覽:524
資料庫被注入攻擊 發布:2024-05-19 16:21:31 瀏覽:834
微信忘記密碼從哪裡看 發布:2024-05-19 16:06:37 瀏覽:32
寶馬x4貸款買哪個配置好 發布:2024-05-19 15:56:03 瀏覽:22
微控pid演算法 發布:2024-05-19 15:46:31 瀏覽:135
雲盤視頻解壓密碼 發布:2024-05-19 15:23:17 瀏覽:848
和平精英怎麼改地區位置安卓 發布:2024-05-19 15:19:05 瀏覽:286
酒店的路由器如何配置 發布:2024-05-19 15:10:44 瀏覽:500
rpgmaker腳本 發布:2024-05-19 14:48:58 瀏覽:407