将数据从MySQL检索到JSP

时间:2015-07-22 08:58:58

标签: javascript java jsp servlets

我正在开发一个webapp,现在我想在提交一个数据后从我的数据库( MySQL )检索数据到 JSP (同一页面)形成。我找到了一些使用 AJAX 的教程,但它对我没用。

有人可以帮我找到检索数据的方法,或者只是告诉我为什么这段代码不起作用。当我在服务器上运行它并单击提交按钮时,我被重定向到空白页面。我希望与表格中的数据保持同一页面。

这是我的servlet代码:

public class FileUploadServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public static final String VUE = "/WEB-INF/upload.jsp";

    private static List<Fichier> files = new LinkedList<Fichier>();

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        this.getServletContext().getRequestDispatcher( VUE ).forward(
                request, response );
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        UploadForm.uploadByJavaServletAPI(request); 
            UploadForm.getData(response);
    }

getData()方法:

    public static void getData(HttpServletResponse response){

        Site2GDAO site2GDAO = new Site2GDAOImpl();

          List<RNP_Site2G> Site2G=new ArrayList<RNP_Site2G>();

          Site2G=site2GDAO.getAllData();

          Gson gson2G = new Gson();

          JsonElement element2G = gson2G.toJsonTree(Site2G, new TypeToken<List<RNP_Site2G>>() {}.getType());                  

          JsonArray jsonArray2G = element2G.getAsJsonArray();


          response.setContentType("application/json");

          try {
            response.getWriter().print(jsonArray2G);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }              
    }

我的JSP代码:

<html>
    <head>
    <meta charset="utf-8" />
    <title>Envoi des fichiers RNP</title>
        <script src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script src="js/fileupload.js"></script>
        <link type="text/css" rel="stylesheet" href="css/form.css">
    </head>
    <body>
        <form action="Upload" method="post" enctype="multipart/form-data">
            <fieldset>
                <legend>Envoi de fichier</legend>
                <label for="fichier">Emplacement du premier fichier <span class="requis">*</span></label>
                <input type="file" id="fichier" name="fichiers[]" multiple value="<c:out value="${fichier.nom}"/>"/>
                <span class="erreur">${form.erreurs['fichier']}</span>
                <br />
                <br />
                <input type="submit" value="Envoyer" id="showTable"/>
                <br />
            </fieldset>
        </form>
        <div id="tablediv">
            <table cellspacing="0" id="site2G">
                <tr>
                    <th scope="col">CGI</th>
                    <th scope="col">BSC</th>
                    <th scope="col">Site Name</th>
                    <th scope="col">Cells</th>
                    <th scope="col">EA</th>         
                </tr>
            </table>
        </div>      
    </body>
</html>

Javascript代码:

$(document).ready(function() {
    $("#tablediv").hide();
      $("#showTable").click(function(event){
           $.post('../Upload',function(responseJson) {
            if(responseJson!=null){
                $("#site2G").find("tr:gt(0)").remove();
                var table1 = $("#site2G");
                $.each(responseJson, function(key,value) {
                     var rowNew = $("<tr><td></td><td></td><td></td><td></td><td></td></tr>");
                        rowNew.children().eq(0).text(value['bsc']);
                        rowNew.children().eq(1).text(value['sitename']);
                        rowNew.children().eq(2).text(value['cells']);
                        rowNew.children().eq(3).text(value['cgi']);
                        rowNew.children().eq(4).text(value['ea']);
                        rowNew.appendTo(table1);
                });
                }
            });
            $("#tablediv").show();         
  });     
});

1 个答案:

答案 0 :(得分:0)

您需要在web.xml中使用名称Upload映射您的servlet,如下所示:

//Initialze the servlet
<servlet>
   <servlet-name>Upload</servlet-name> 
   <servlet-class>package.FileUploadServlet</servlet-class>
</servlet>

//Then map it with a url so it can be used.
<servlet-mapping>
   <servlet-name>Upload</servlet-name>
   <url-pattern>/Upload</url-pattern>
</servlet-mapping>

请查看Creating and Configuring Servlets教程以获取更多信息。