通过maven部署jdbc驱动:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
web.xml配置servlet信息
<servlet>
<servlet-name>HelloJavaWeb</servlet-name>
<servlet-class>javawebstudy.NewHelloJavaWeb</servlet-class>
<init-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://127.0.0.1:3306/mysql</param-value>
</init-param>
<init-param>
<param-name>user</param-name>
<param-value>root</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>123456</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HelloJavaWeb</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
static final String JDBC_DRIVER="com.mysql.jdbc.Driver";
创建类,extends HttpServlet 。Override doGet方法,通过ServletConfig读取xml中配置的数据库信息。
ServletConfig mysqlcfg=this.getServletConfig();
String mysqlurl=mysqlcfg.getInitParameter("url");
String mysqlname=mysqlcfg.getInitParameter("user");
String mysqlpassword=mysqlcfg.getInitParameter("password");
通过PrintWriter pw=resp.getWriter();创建向页面送信息。
链接数据库,然后通过pw.println打印出来
完整代码:
package javawebstudy;
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.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class NewHelloJavaWeb extends HttpServlet {
static final String JDBC_DRIVER="com.mysql.jdbc.Driver";
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
ServletConfig mysqlcfg=this.getServletConfig();
String mysqlurl=mysqlcfg.getInitParameter("url");
String mysqlname=mysqlcfg.getInitParameter("user");
String mysqlpassword=mysqlcfg.getInitParameter("password");
PrintWriter pw=resp.getWriter();
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
try {
Class.forName(JDBC_DRIVER);
try {
conn=DriverManager.getConnection(mysqlurl, mysqlname, mysqlpassword);
stmt=conn.createStatement();
rs=stmt.executeQuery("select user,password from user;");
while(rs.next()){
System.out.println(rs.getString("user"));
pw.println(rs.getString("user")+" "+rs.getString("password"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
pw.close();
}
}
嗯,刚开始学习,希望跟C++一样,慢慢进步。