servlet訪問資料庫
『壹』 怎樣用servlet進行對資料庫的操作
1、首先明確一點,servlet就是一個繼承自javax.servlet.http.HttpServlet的類。
2、範例:使用servlet連接資料庫
packagecom.oracle.project.servlet;
importjava.util.*;
importjava.io.*;
importjava.sql.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
importjavax.servlet.annotation.*;
@WebServlet("/TestServlet")
{
="oracle.jdbc.driver.OracleDriver";
publicstaticfinalStringDBURL="jdbc:oracle:thin:@localhost:1521:ORACLEDB";
publicstaticfinalStringDBUSER="scott";
="tiger";
privateConnectionconn=null;
publicConnectiongetConnection(){
try{
if(this.conn==null){
Class.forName(DBDRIVER);
this.conn=DriverManager.getConnection(DBURL,DBUSER,PASSWORLD);
}
}catch(Exceptione){
e.printStackTrace();
}
returnconn;
}
@Override
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
PrintWriterout=response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>"+this.getConnection()+"</h1>");
out.println("</body>");
out.println("</html>");
}
@Override
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
this.doGet(request,response);
}
}
『貳』 怎麼訪問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("余額")%>來顯示相應的余額。
『叄』 java web中servlet類中連接資料庫問題
<body>
<form action="servlet/Login" method="post">
用戶名:<input type="text" name="username"> <br/>
密 碼 :<input type="keyword" name="keyword"><br/>
學 號:<input type="num" name="num"><br/>
<input type="submit" value="注冊">
</form>
</body>
下面是獲取表單信息,並保存到資料庫中的servlet,注意獲取信息時名字要和jsp提交的信息一致,
response.setContentType("text/html;charset=UTF-8");
//獲取輸入信息
String member = request.getParameter("username");
String keyword = request.getParameter("keyword");
String num = request.getParameter("num");
//連接資料庫
String url = "jdbc:mysql://localhost:3306/thecheck";
String user="root";
String password = "19960104";
try {
Class.forName("com.mysql.jdbc.Driver");
try {
java.sql.Connection conn = DriverManager.getConnection(url, user, password);
java.sql.Statement st = conn.createStatement();
String sql = "insert into student values("+"'"+member+"',"+"'"+keyword+"',"+"'"+num+"',"+"0)";
//System.out.println(sql);
st.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
其中還要注意的是寫的輸入語句要和資料庫中的sql語句對應,否則也會出現錯誤。
『肆』 怎樣用servlet連接資料庫
public class ConnSql{
private static Connection conn;
/**
* 資料庫鏈接靜態代碼塊
*/
static{
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//連接本地sql2005 String url="jdbc:sqlserver://192.168.1.111:1433;databaseName=YITAC";
//連接本機sql2005 String url="jdbc:sqlserver://localhost:1433;databaseName=YITAC";
conn = DriverManager.getConnection(url, "sa", "123");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static Connection getConn(){
return conn;
}
}
資料庫炸包:sqljdbc4.jar
『伍』 怎麼在servlet中連接資料庫
//純java方法,建立連接,資料庫名稱為:TestDBx0dx0a public Connection getConnection() {x0dx0a String url = "jdbc:sqlserver://localhost:1433;DatabaseName=TestDB";x0dx0a java.sql.Connection con = null;x0dx0a try {x0dx0a Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");x0dx0a String user = "sa";x0dx0a String pwd = "123456";x0dx0a con = java.sql.DriverManager.getConnection(url, user, pwd);x0dx0a }x0dx0a catch (Exception ex) {x0dx0a ex.printStackTrace();x0dx0a }x0dx0a return con;x0dx0a }x0dx0a以上代碼是創建資料庫連接的語句,在具體應用時調用這個方法就可以了。
『陸』 為什麼我的servlet鏈接不了資料庫
//1.調用UserService完成查詢
UserService service = new UserServiceImpl();
List<User> users = service.findAll();
在UserListServlet 方法外
使用@Autowired private UserService userService;
或者@Resource private UserService userService;
然後啟動項目才可以引入service,因為spring構建bean並注入是在項目啟動時注入,當前引入的,無法通過new去聲明service;
『柒』 如何使用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差不多,你只要學會數據會的地方和怎樣把他們傳給頁面,你就很明白了
『捌』 servlet無法調用資料庫
對象為空。。
有可能是某些依賴注入的類,創建示例需要按框架的寫法來
『玖』 要在Servlet的doPost裡面訪問資料庫,doPost的異常拋出怎麼寫
servlet中的
dopost()
或
doget()
只是servlet生命周期里的一種方法而已,主要是用來處理從表單獲取的數據或值,如果你的表單里的值是通過post方式傳送的那麼你處理的時候就調用dopost()方法,反之,如果你的值是通過get方式傳送,那麼就調用doget()方法處理(用某一方式處理的時候,記得在另外的那個方法里寫調用這個方法的語句)。