簡體   English   中英

如何在JSP中執行SQL SELECT查詢?

[英]How do I execute an SQL SELECT query in JSP?

我想在JSP中執行SQL查詢。 顯示必須使用JSP代碼,而不是Java。

我無法在Java頁面中引入JSP代碼。

package tn.com.tradenet.utilisateur;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


public class Modification extends HttpServlet
{
public void doPost()
{
try
{

String id ="1"; //request.getParameter("userName");
String nom ="mecchlaoui"; //request.getParameter("userName");
String prenom ="fawzia"; //request.getParameter("userName");
String email ="hotmail"; //request.getParameter("password");
String profil ="fawzia"; //request.getParameter("password");
String login ="fawzia"; //request.getParameter("password");
String pass ="1258"; //request.getParameter("password");

ConnectionBD mod = new ConnectionBD();
//String sql="SELECT id FROM utilisateur";
//ResultSet res=mod.execMonSQl(sql);


//while (res.next())
//{
//id = res.getString(1);

//}

mod.execMonUpdate("UPDATE utilisateur SET nom='"+nom+"',prenom='"+prenom+"', email='"+email+"', profil='"+profil+"',login='"+login+"',pass='"+pass+"' WHERE 'id'='"+id+"'");
System.out.println("element ajoutté");}

catch(SQLException s)
{
System.out.println("erreur" +s);
}
}

public static void main(String[] args) {

Modification mdf =new Modification();

mdf.doPost();


}


} 

您需要重寫真正的 HttpServlet#doPost()方法,而不是添加另一個不會被servlet容器調用的方法。

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // Do your job here.
}

並且您需要在web.xml中以已知的URL模式映射該servlet。

<servlet>
    <servlet-name>modification</servlet-name>
    <servlet-class>com.example.Modification</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>modification</servlet-name>
    <url-pattern>/modification</url-pattern>
</servlet-mapping>

使用上述<url-pattern> ,servlet將在URL http://example.com/context/modification上偵聽。

最后,在您的JSP中更改HTML表單操作URL,以使其與servlet URL相匹配。

<form action="modification" method="post">

也可以看看:


與具體問題無關,請注意,您仍然需要更改servlet代碼以顯示具有JSP風格的結果頁面。 例如

request.getRequestDispatcher("/WEB-INF/result.jsp").forward(request, response);

另外,servlet內的main()方法沒有任何意義,請將其刪除。 最后但並非最不重要的一點是,您的SQL方法對SQL注入攻擊很敏感。 學習PreparedStatement

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM