如何将数据从servlet获取到JSP页面?

沃尔特·八重洲

我正在开发一个小型sql servlet应用程序,该应用程序从html页面的文本区域中接收SQL命令,将命令发送到建立sql连接并将结果集放入arraylist的servlet中。我把所有这些都记下来了,我可以在Java servlet类中将列名打印到浏览器中。我需要做的一件事是使用JSP页面将结果打印到表中。JSP页面的外观类似于我们最初使用的html页面。我不知道如何从servlet到要显示给用户的JSP页面获取arraylist。

这是HTML页面:

<html>
    <head>
        <title>WebApp</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body style="background-color:blue;">
    <center>
        <font color="white">
        <h1> Welcome to the Project 4 Remote Database Management System</h1>
        <hr>
        You are connected to the Project4 database. <br>Please enter any valid SQL query or update statement.<br>
        If no query/update command is given the Execute button will display all supplier information in the database. <br>All execution results will appear below. 
        <br>
        <br>
        <form action="NewServlet" method="post">
            <textarea rows="10" cols="60"name="command"></textarea>
            <br>
             <button type="submit">Execute Query</button>
             <button type="submit">Clear Command</button>
       </form>
        <hr>
        <h1>Database Results</h1>
        </font>
    </body>
</html>

这是servlet代码:

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 java.util.ArrayList;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.JOptionPane;

/**
 *
 * @author KJ4CC
 */
public class NewServlet extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
     Connection connection;
    Vector<String> columnNames = new Vector<String>();
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            String command = request.getParameter("command");
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            sqlConnection(command);
           //prints out column names into the browser. 
                out.println(columnNames);

        }
    }
    public void sqlConnection(String command){
        String driver = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/project3";
        String user = "root";
        String pass = "Brandy?1994";
        ResultSet rs;
         try {
             Class.forName(driver);
         } catch (ClassNotFoundException ex) {
             Logger.getLogger(NewServlet.class.getName()).log(Level.SEVERE, null, ex);
         }
         try {
             connection = DriverManager.getConnection(url,user,pass);
         } catch (SQLException ex) {
             Logger.getLogger(NewServlet.class.getName()).log(Level.SEVERE, null, ex);
         }
         Statement stmt;
         try {
             stmt = connection.createStatement();
             rs = stmt.executeQuery(command);
             int colNum = rs.getMetaData().getColumnCount();

                    for (int i = 0; i < colNum; i++) {

                        columnNames.add(rs.getMetaData().getColumnLabel(i+1));


                    }
         } catch (SQLException ex) {
             Logger.getLogger(NewServlet.class.getName()).log(Level.SEVERE, null, ex);
         }
    }
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}

这是JSP页面的开始:

    <html>
        <head>
            <title>WebApp</title>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
        </head>
        <body style="background-color:blue;">
        <center>
            <font color="white">
            <h1> Welcome to the Project 4 Remote Database Management System</h1>
            <hr>
            You are connected to the Project4 database. <br>Please enter any valid SQL query or update statement.<br>
            If no query/update command is given the Execute button will display all supplier information in the database. <br>All execution results will appear below. 
            <br>
            <br>
            <form action="NewServlet" method="post">
                <textarea rows="10" cols="60"name="command"></textarea>
                <br>
                 <button type="submit">Execute Query</button>
                 <button type="submit">Clear Command</button>
           </form>
            <hr>
            <h1>Database Results</h1>

           <%
    DO TABLE STUFF HERE TO OUTPUT SQL RESULTS
%>

            </font>
        </body>
    </html>

我想我将创建一个javaBean来存储数组,以便JSP页面可以访问列arraylist。然后使用for循环遍历数组列表,以便我可以创建表列。我如何将JSP页面链接到servlet,以便可以获取所需的信息?

我必须在servlet中执行sql连接,并且无法在JSP页面中进行连接。

古尔温德·辛格

在您的servlet方法中,在页面上下文中设置属性,如下所示

HttpServletRequest req = (HttpServletRequest)request;
.... // find out what to put
req.getPageContext.setAttribute('some', objectYouFound);

在您的jsp中,使用el来访问变量:

${some}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从JSP页面获取数据到servlet

来自分类Dev

如何从JSP页面获取数据到servlet

来自分类Dev

如何将参数从jsp页面发送到servlet?

来自分类Dev

如何将参数从jsp页面传递到servlet?

来自分类Dev

如何将带有选中复选框的表行值从jsp获取到servlet

来自分类Dev

如何将数据获取到字符串

来自分类Dev

如何将动态数据获取到KingFisher数组中

来自分类Dev

如何将JSP中获取的值传递给Servlet?

来自分类Dev

从servlet获取数据到jsp页面

来自分类Dev

如何将数据从SQL数据库获取到存储Blob中以获取参考数据

来自分类Dev

如何从jsp页面获取ID到servlet?

来自分类Dev

如何将基于jsp字符串的数组获取到JavaScript变量

来自分类Dev

如何在不使用AJAX的情况下将servlet的arrayList元素从servlet获取到jsp并显示在同一jsp上

来自分类Dev

如何将<script>中的数组从JSP页面传递到Servlet

来自分类Dev

如何将错误消息从servlet发送到jsp页面?

来自分类Dev

如何将数据从我的MySQL数据库获取到Zoho Books。

来自分类Dev

如何将表单模型中的数据获取到 Django 中的数据库中

来自分类Dev

C# sql 如何将特定列的数据获取到数据网格

来自分类Dev

当数据可用时如何将数据获取到 TCP 客户端?

来自分类Dev

如何使用 PHP 将数据获取到我的 Angular 页面?

来自分类Dev

如何将数据从Azure DB表获取到Android应用程序?

来自分类Dev

如何将指数平滑模型预测值获取到POWER BI / POWER Query数据集?

来自分类Dev

如何将全局环境中的列表数据获取到列表中

来自分类Dev

我如何将URL从Firebase数据库获取到我的Flutter项目中

来自分类Dev

如何将axios标头中的数据获取到Vue中的组件

来自分类Dev

如何将数据从电子秤中获取到Web应用程序中?

来自分类Dev

如何将数据从BroadcastReceiver获取到另一个类BroadcastReceiver

来自分类Dev

如何将数据从json对象获取到python中的字典

来自分类Dev

AngularJs如何将数据从轮询服务获取到控制器

Related 相关文章

  1. 1

    如何从JSP页面获取数据到servlet

  2. 2

    如何从JSP页面获取数据到servlet

  3. 3

    如何将参数从jsp页面发送到servlet?

  4. 4

    如何将参数从jsp页面传递到servlet?

  5. 5

    如何将带有选中复选框的表行值从jsp获取到servlet

  6. 6

    如何将数据获取到字符串

  7. 7

    如何将动态数据获取到KingFisher数组中

  8. 8

    如何将JSP中获取的值传递给Servlet?

  9. 9

    从servlet获取数据到jsp页面

  10. 10

    如何将数据从SQL数据库获取到存储Blob中以获取参考数据

  11. 11

    如何从jsp页面获取ID到servlet?

  12. 12

    如何将基于jsp字符串的数组获取到JavaScript变量

  13. 13

    如何在不使用AJAX的情况下将servlet的arrayList元素从servlet获取到jsp并显示在同一jsp上

  14. 14

    如何将<script>中的数组从JSP页面传递到Servlet

  15. 15

    如何将错误消息从servlet发送到jsp页面?

  16. 16

    如何将数据从我的MySQL数据库获取到Zoho Books。

  17. 17

    如何将表单模型中的数据获取到 Django 中的数据库中

  18. 18

    C# sql 如何将特定列的数据获取到数据网格

  19. 19

    当数据可用时如何将数据获取到 TCP 客户端?

  20. 20

    如何使用 PHP 将数据获取到我的 Angular 页面?

  21. 21

    如何将数据从Azure DB表获取到Android应用程序?

  22. 22

    如何将指数平滑模型预测值获取到POWER BI / POWER Query数据集?

  23. 23

    如何将全局环境中的列表数据获取到列表中

  24. 24

    我如何将URL从Firebase数据库获取到我的Flutter项目中

  25. 25

    如何将axios标头中的数据获取到Vue中的组件

  26. 26

    如何将数据从电子秤中获取到Web应用程序中?

  27. 27

    如何将数据从BroadcastReceiver获取到另一个类BroadcastReceiver

  28. 28

    如何将数据从json对象获取到python中的字典

  29. 29

    AngularJs如何将数据从轮询服务获取到控制器

热门标签

归档