Java 在Mysql Servlet中,将值增加1
大家好,制作一个简单的投票系统,显示投票结果和喜欢的人数。我正在使用html页面创建一个表单,其中列出了您可以使用单选按钮投票选择的食物。这是第页:Java 在Mysql Servlet中,将值增加1,java,html,mysql,database,servlets,Java,Html,Mysql,Database,Servlets,大家好,制作一个简单的投票系统,显示投票结果和喜欢的人数。我正在使用html页面创建一个表单,其中列出了您可以使用单选按钮投票选择的食物。这是第页: <HTML> <HEAD><TITLE></TITLE></HEAD> <FORM ACTION="NewServlet" method="post"> <br> <b> Select your fa
<HTML>
<HEAD><TITLE></TITLE></HEAD>
<FORM ACTION="NewServlet" method="post">
<br>
<b> Select your favorite food:</B>
<br>
<input type="radio" name="choice" value="Ice Cream">Ice Cream
<br>
<input type="radio" name="choice" value ="Hamburger">Hamburger
<br>
<input type="radio" name="choice" value ="Pizza">Pizza
<br>
<br />
<br />
<INPUT TYPE="submit" value="Query" >
<INPUT TYPE="reset" value="Reset">
</FORM>
</BODY>
</HTML>
选择您喜爱的食物:
冰淇淋
汉堡包
披萨
这是我创建的servlet页面,它将连接到数据库并更改列,以便每次有人投票时like都会增加一个。我只是不知道怎么做。这就是我到目前为止所做的:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Danny
*/
@WebServlet(urlPatterns = {"/NewServlet"})
public class NewServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String driver = "com.mysql.jdbc.Driver";
try {
Class.forName(driver).newInstance();
Connection connection;
String choice[] = request.getParameterValues("choice");
connection = (Connection) DriverManager.getConnection("jdbc:mysql://localhost", "root", "symphonia23");
Statement s = connection.createStatement();
s.executeQuery("use food");
if (choice.length != 0) {
for (int i = 0; i <= choice.length; i++) {
s = connection.createStatement();
s.executeQuery("use food");
s.executeUpdate("UPDATE Food SET Liked = Liked +1 WHERE Food = '"
+ choice[i] + "';");
}
}
s = connection.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM favoritefood");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<tabe>");
while (rs.next()) {
out.println("<tr>");
out.println("<td>");
out.println(rs.getString("Food"));
out.println("</td>");
out.println("<td>");
out.println(rs.getInt("Liked"));
out.println("<br>");
out.println("</td>");
out.println("</tr>");
}
out.println("</tabe>");
out.println("</body>");
out.println("</html>");
out.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (InstantiationException | IllegalAccessException
| ClassNotFoundException e1) {
e1.printStackTrace();
}
}
}
/*
*要更改此模板,请选择工具|模板
*然后在编辑器中打开模板。
*/
导入java.io.IOException;
导入java.io.PrintWriter;
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.ResultSet;
导入java.sql.SQLException;
导入java.sql.Statement;
导入javax.servlet.ServletException;
导入javax.servlet.annotation.WebServlet;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
/**
*
*@作者丹尼
*/
@WebServlet(urlPatterns={“/NewServlet”})
公共类NewServlet扩展了HttpServlet{
@凌驾
受保护的void doPost(HttpServletRequest请求,
HttpServletResponse响应)引发ServletException,IOException{
String driver=“com.mysql.jdbc.driver”;
试一试{
Class.forName(driver.newInstance();
连接;
字符串选择[]=request.getParameterValues(“选择”);
connection=(connection)DriverManager.getConnection(“jdbc:mysql://localhost“根”,“交响乐23”);
语句s=connection.createStatement();
s、 执行(“使用食物”);
if(choice.length!=0){
对于(int i=0;i除了您不应该在Java代码中编写HTML之外,还有什么问题?HTML代码在一个单独的页面中。我正在编写一个servlet页面。当我对一种食物(如冰淇淋)进行投票时,我喜欢它向表中显示该食物以及有多少喜欢它的食物,但它没有显示任何内容。当我单击e summit Button你试过调试你的servlet吗?我已经添加了一张图片来展示我试图实现的目标,还添加了一张我的数据库的图片来说明它是如何设置的。我相信这个完全错误的问题已经解决了,找到了解决方案。