Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在jsp文件中获取数据表单SQL表?_Java_Mysql_Sql_Jsp - Fatal编程技术网

Java 如何在jsp文件中获取数据表单SQL表?

Java 如何在jsp文件中获取数据表单SQL表?,java,mysql,sql,jsp,Java,Mysql,Sql,Jsp,所以在读了别人给我的建议之后。 这是我正在使用的所有文件。 有一个问题,AuthorServlet文件中的Authorfindall方法给了我一个未声明的错误,这不是真的,因为它在AuthorService文件中 我能得到一些帮助吗? 多谢各位 作者类 package user.domain; public class Author { private String email; private String name; private String affiliation; public

所以在读了别人给我的建议之后。 这是我正在使用的所有文件。 有一个问题,AuthorServlet文件中的Authorfindall方法给了我一个未声明的错误,这不是真的,因为它在AuthorService文件中

我能得到一些帮助吗? 多谢各位

作者类

package user.domain;

public class Author {
private String email;
private String name;
private String affiliation;

public String getEmail(){
    return email;
}

public void setEmail(String email){
    this.email = email;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getAffiliation(){
    return affiliation;
}

public void setAffiliation(String affiliation){
    this.affiliation = affiliation;
}

@Override
public String toString() {
    return "Author [ email=" + email + ", name="
            + name + ", affiliation=" + affiliation +"]";
}
}

作者服务

package user.service;

import java.util.List;

import user.dao.UserDao;
import user.domain.Author;

public class AuthorService {
private UserDao userDao = new UserDao();



public List<Object> Authorfindall() throws InstantiationException, IllegalAccessException, ClassNotFoundException {
    // TODO Auto-generated method stub
    return userDao.Authorfindall();
}
}

作者Servlet

package user.web.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import user.service.AuthorService;
import user.domain.Author;

/**
 * Servlet implementation class AuthorServlet
 */
@WebServlet("/AuthorServlet")
public class AuthorServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#HttpServlet()
 */


/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    doPost(request, response);
}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    AuthorService authorservice = new AuthorService();
    try {           
        request.setAttribute("AuthorList", authorservice.Authorfindall());

    } catch (InstantiationException | IllegalAccessException
            | ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    try {
        List<Object> li = authorservice.Authorfindall();
        for(int i = 0; i < li.size();i++){
            System.out.println(li.get(i).toString());
        }

    } catch (InstantiationException | IllegalAccessException
            | ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


    request.getRequestDispatcher("/Queryresult/author.jsp").forward(request, response);
}
}

用户道

Public Class UserDao {
public List<Object> Authorfindall()throws InstantiationException, 
IllegalAccessException, ClassNotFoundException{
    List<Object> list = new ArrayList<>();
    try {
        Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
        Connection connect = DriverManager
                  .getConnection("jdbc:mysql://127.0.0.1:3306/sampledb?"
                          + "user=root&password=Shafiko93!");


        String sql = "select * from author";
        PreparedStatement preparestatement = connect.prepareStatement(sql); 
        ResultSet resultSet = preparestatement.executeQuery();

        while(resultSet.next()){
            Author author = new Author();
            author.setEmail(resultSet.getString("email"));
            author.setName(resultSet.getString("name"));
            author.setAffiliation(resultSet.getString("affiliation"));
            list.add(author);
         }

    } catch(SQLException e) {
        throw new RuntimeException(e);
    }
    return list;
}

}

您也可以分享您的查询吗?您是如何创建rs的?您不应该这样做,而是在servlet中获取数据并将其传递给jspI,因为jspI不知道如何做到这一点。老师给你布置项目,希望你知道@GeorgyGobozovServlet更适合这种代码,它连接到数据库并获取数据。这是一个很好的阅读: