我有我的progect问题。 progect的文件:的Servlet与JDBC
House.class
public class House implements Serializable {
//properties -------------------------------------------------------------
private String price;
private String square;
private String RoomNumbers;
//------------------------------------------------------------------------
//getters - settersm Object overriding.... -----------------------------
HouseDAO.class
public class HouseDAO {
Connection connection;
final String DB_CONNECTION = "jdbc:mysql://localhost:3306/mydb2";
final String DB_USER = "root";
final String DB_PASSWORD = "root";
public HouseDAO(Connection connection) {
this.connection = connection;
}
public List<House> getList() {
List<House> houses = new ArrayList<>();
try {
connection = DriverManager.getConnection(DB_CONNECTION, DB_USER, DB_PASSWORD);
System.out.println("Connection available");
PreparedStatement ps = connection.prepareStatement("SELECT Square, RoomNumbers, Price FROM houses WHERE District = 'Dnepr'");
ResultSet rs = ps.executeQuery();
while (rs.next()){
House house = new House();
house.setSquare(rs.getString("Square"));
house.setRoomNumbers(rs.getString("RoomNumbers"));
house.setPrice(rs.getString("Price"));
houses.add(house);
}
}catch (Exception ex){
System.out.println("SQL exceprion");
ex.printStackTrace();
}
return houses;
}
}
和Servlet: HousesBaseServlet
@WebServlet("/post")
public class HosesBaseServlet extends HttpServlet {
Connection conn;
private HouseDAO houseDAO;
@Override
public void init(){
houseDAO = new HouseDAO(conn);
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException{
//choice from html form
// String choice = request.getParameter("district");
try {
List<House> houses = houseDAO.getList();
request.setAttribute("houses", houses);
request.getRequestDispatcher("/houses.jsp").forward(request,response);
}catch (Exception ex) {
System.out.println("Fail to connect with base");
ex.printStackTrace();
}
}
}
我看了一些solutiotuns,但它并不能帮助。
SQL exceprion值java.sql.SQLException:在两个例外的问题找到了 JDBC没有合适的驱动程序的:mysql://本地主机:3306/MYDB2
我尝试添加:
的Class.forName( “com.mysql.jdbc.Driver”);
我的代码,并添加MySQL连接器JAR到我的项目,但它抛出异常:
SQL异常抛出java.lang.ClassNotFoundException:com.mysql.jdbc.Driver
第二个例外:
JasperException:绝对URI:http://java.sun.com/jsp/jstl/core 不能在在web.xml或部署 的jar文件此应用程序无法与基地
连接在这里解决的是我的pom.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
,
JSP标签库:
%@ taglib prefix =“c”uri =“http://java.sun.com/jsp/jstl/core”%
和项目结构: [项目结构] [1]
在项目结构 - >库我有所有罐子。
您的WEB-INF没有任何lib文件夹来放置mysql jar – Ramanlfc
'@Override public void init(){ houseDAO = new HouseDAO(conn);在这个servlet中''conn'有什么意义呢?关于你的问题,我认为Idea没有“看到”这是一个maven项目,请尝试重新输入它 – 2016-03-05 16:15:57
没有帮助。只有在使用tomcat的情况下,在具有MAIN类的标准项目中才会出现问题 – user202822