❶ servlet是怎麼導入數據到mysql資料庫的挺急的。
你好,很高興解答你的問題。
報錯的原因是因為下圖中用紅框框起來的那個語句。這里不應該使用executeQuery方法。從方法名可以看出大概,這個方法是用來執行查詢語句的,非查詢(select)語句是不可以執行的。但是此處卻執行了一個insert語句。所以就報錯了。
這里可以換成使用excute方法。
如果有幫助到你,請點擊採納。
我解答的大部分是軟體開發新人遇到的問題,如果有興趣,可以關注我。
❷ 怎麼用Servlet連接mysql資料庫 給個例題
package com.jsp.Database;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.microsoft.jdbc.sqlserver.SQLServerDriver;
public class JDBCServlet extends HttpServlet
{
/* 連接資料庫屬性*/
String driver;
String password,url,user;
/*處理doGet */
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException
{
response.setContentType("text/html;charset=gb2312");
PrintWriter out=response.getWriter();
try
{
Connection con=getConnection();
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from user_info");
while(rst.next())
{
out.println(rst.getString("userid"));
out.println("<br>");
}
rst.close();
stmt.close();
con.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
/*處理doPost請求*/
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException
{
doGet(request,response);
}
public void init()throws ServletException
{
driver=getInitParameter("DRIVER");
password=getInitParameter("PASSWORD");
url=getInitParameter("URL");
user=getInitParameter("USER");
}
private Connection getConnection()
{
Connection con=null;
try
{
Class.forName(driver);
con=DriverManager.getConnection(url,user,password);
}
catch(Exception e )
{
e.printStackTrace();
}
return con;
}
}
======== web.xml文件配置========
<servlet>
<servlet-name>JDBCServlet</servlet-name>
<servlet-class>com.jsp.Database.JDBCServlet</servlet-class>
<init-param>
<param-name>DRIVER</param-name>
<param-value>com.microsoft.jdbc.sqlserver.SQLServerDriver</param-value>
</init-param>
<init-param>
<param-name>URL</param-name>
<param-value>jdbc:jdbc:mysql://127.0.0.1:3306/資料庫名</param-value>
</init-param>
<init-param>
<param-name>USER</param-name>
<param-value>用戶名</param-value>
</init-param>
<init-param>
<param-name>PASSWORD</param-name>
<param-value>密碼</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>JDBCServlet</servlet-name>
<url-pattern>/init_servlet</url-pattern>
</servlet-mapping>
WEB.XML在你的tomcat/webapp/你的目錄/WEB-INF/下..
或者復制tomcat/webapp/ROOT/WEB-INF/下的,,做一下修改就行了.
❸ 為什麼我的servlet連接mysql資料庫時,總發生以下錯誤(我用的是tomcat伺服器):
推測原因:
1、資料庫沒有打開,解決方法:打開伺服器;
2、驅動包沒有加進去,解決辦法:下載mysql驅動包->項目->右擊->properties->java build path->libraries-> add external jars(這是在myeclipse下的流程,如果你用的是其他的IDE你再網路一下);
3、連接字元串寫錯,解決辦法:仔細檢查你的URL是否正確。
❹ 用servlet收集表單數據,然後怎麼將收集到的數據插入到資料庫中
//得到表單中的數據String userName=request.getParameter("username");String pwd=request.getParameter("password");//將收集到得數據插入到資料庫中String sql="insert into 表名 values ('uerName','pwd')";//插入語句具體執行過程。public static void main(String[] args) {
Connection con=null;
Statement stmt=null;
try{
//1.載入驅動
String driverName="com.mysql.jdbc.Driver";
Class.forName(driverName);
/**
* Driver d=new com.mysql.jdbc.Driver();
DriverManager.registerDriver(d);
除非不會自動注冊,採用此代碼,因此在這個地方不用此代碼
*/
//2.創建資料庫連接(mysql資料庫)
String url="jdbc:mysql://127.0.0.1:3306/資料庫名";
String username="root";//database name
String password="root";//database name
con = DriverManager.getConnection(url,username,password);
//3.獲取Statement對象【獲取資料庫操作對象】
stmt=con.createStatement();
try{ sql="insert into test values("+"'"+userName+"',"+"'"+pwd+"')";
stmt.executeUpdate(sql);
}catch(Exception e){
e.printStackTrace();
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
stmt.close();
con.close();
}catch(Exception e1){e1.printStackTrace();}
}
} 最好的建議是可以吧要出入的數據進行封裝,然後以對象的形式進行操作。可以用hibernate
❺ 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語句對應,否則也會出現錯誤。
❻ java怎麼通過servlet獲取from的傳值查詢mysql資料庫對應表的數據並顯示到jsp頁面中
request.getSession().setAttribute("cid",id);
//這樣在後面就可以通過session.getAttribute("cid")來獲取,望採納
❼ 關於eclipse中servlet通過jdbc連接mysql資料庫問題。
把 context,rs,conn 分別System.ou.println();一下看是那個出現空指針異常,然後再看那個方法出現這個mull!
根據你以上的代碼,只能說這么多啦!
❽ servlet 連接MySQL資料庫亂碼問題
沒看到你怎麼存的,
先在你的連接串後面加上 encoding=utf8看看得不得
不行,去看看你的mysql.ini裡面看看,資料庫 是什麼編碼的
我猜有可能是你存的時候用的UTF-8,然後讀出來了就用的GBK
我這乾脆你的程序都改成UTF-8看看
❾ servlet mysql資料庫菜鳥問題
你寫的類不是已經讀了嗎
<%=getlessonById(ID)%>
把這句寫在表單里顯示