目录
2、java代码:SelectOneEmpServlet.java
步骤3:java类ListEmpServlet,进行数据库访问操作,并输出显示
一、前言
上一篇文章我们介绍了Servlet使用jdbc访问数据库:增加员工信息插入mysql数据库,详细可参考博文:原创 java服务器端开发-servlet:3_1、Servlet使用jdbc访问数据库:增加员工信息插入mysql数据库 所谓常见之“增删改查”,这篇文章我们来讲讲如何查询员工信息
二、查询个人员工信息
1、配置文件代码:web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>web02</display-name>
<!-- t05_查询个人员工信息表格显示 -->
<servlet>
<servlet-name>selectOneEmp</servlet-name>
<servlet-class>t05_查询个人员工信息.SelectOneEmpServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>selectOneEmp</servlet-name>
<url-pattern>/selectOne</url-pattern>
</servlet-mapping>
</web-app>
2、java代码:SelectOneEmpServlet.java
package t05_查询个人员工信息;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 查询个人员工信息
* @UpdateTime:2011年02月28日 下午17:30:00
* @ProjectName: 【项目名】
* @ClassName:【类名】
* @CategoryName:【类型】如:Activity
* @author:luminal、邮箱 luminal_yyh@163.com
* @since 1.0【版本】
* @Description:(可以在这里描述这个类的作用)
* 测试地址:
* http://localhost:8080/web02/selectOne?id=1;//低级错误,不要加分号
* http://localhost:8080/web02/selectOne?id=1
*
* 别忘记数据库首先要添加过数据,才能进行查询
* 否则查不到数据会报异常:java.lang.NumberFormatException: null
*/
public class SelectOneEmpServlet extends HttpServlet{
public void service(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
int id = Integer.parseInt(request.getParameter("id"));
Connection conn = null;
PreparedStatement prep = null;
ResultSet rst = null;
try {
//Class.forName("com.mysql.jdbc.Driver"); //提示被弃用
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/jsd1108db",
"root","你的mysql密码");
prep = conn.prepareStatement(
"select * from t_emp where id=?");
prep.setInt(1, id);
rst = prep.executeQuery();
if(rst.next()){
String name = rst.getString("name");
double salary = rst.getDouble("salary");
int age = rst.getInt("age");
out.println("id:" + id + "<br/>");
out.println("姓名:" + name + "<br/>");
out.println("薪水:" + salary + "<br/>");
out.println("年龄:" + age + "<br/>");
}
}catch(Exception e){
e.printStackTrace();
out.println("系统繁忙,稍后重试");
}finally{
if(rst != null){
try {
rst.close();
} catch (SQLException e) {
}
}
if( prep != null){
try {
prep.close();
} catch (SQLException e) {
}
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
}
}
}
}
}
3、效果演示
查询数据,首先要添加过数据才能进行查询,我在上篇文章已经添加过,这里就不演示了!可以说上篇文章已经把基本步骤给走了一篇,如:安装配置mysql、mysql基本使用、下载配置mysql驱动等就不再讲了。
下面我们来操作演示一下:启动tomact,部署web项目,在谷歌浏览器输入:http://localhost:8080/web02/selectOne?id=1
我们可以看到查询的数据:
三、查询所有员工数据表格显示
1、配置文件代码:web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>web02</display-name>
<!-- t06_查询所有员工数据表格显示 -->
<servlet>
<servlet-name>showFormEmp</servlet-name>
<servlet-class>t06_查询所有员工数据表格显示.ListEmpServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>showFormEmp</servlet-name>
<url-pattern>/show</url-pattern>
</servlet-mapping>
</web-app>
2、java代码:ListEmpServlet.java
package t06_查询所有员工数据表格显示;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 查询所有员工数据表格显示【主要功能】
* @UpdateTime:2011年02月28日 下午17:30:00
* @ProjectName: 【项目名】
* @ClassName:【类名】
* @CategoryName:【类型】如:Activity
* @author:luminal、邮箱 luminal_yyh@163.com
* @since 1.0【版本】
* @Description:(可以在这里描述这个类的作用)
* 测试地址:
* http://localhost:8080/web02/show
*/
public class ListEmpServlet extends HttpServlet{
public void service(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
Connection conn = null;
PreparedStatement prep = null;
ResultSet rst = null;
try {
//Class.forName("com.mysql.jdbc.Driver"); //提示被弃用
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/jsd1108db",
"root","你的mysql密码");
prep = conn.prepareStatement(
"select * from t_emp");
rst = prep.executeQuery();
out.println("<table border='1' width='60%' " +
"cellpadding='0' cellspacing='0'>");
out.println("<tr><td>ID</td><td>姓名</td>" +
"<td>薪水</td><td>年龄</td></tr>");
while(rst.next()){
int id = rst.getInt("id");
String name = rst.getString("name");
double salary =rst.getDouble("salary");
int age = rst.getInt("age");
out.println("<tr><td>" + id
+ "</td><td>" + name
+ "</td><td>" + salary
+"</td><td>" + age
+ "</td></tr>");
}
out.println("</table>");
} catch (Exception e) {
e.printStackTrace();
out.println("系统繁忙,稍后重试");
}finally{
if(rst != null){
try {
rst.close();
} catch (SQLException e) {
}
}
if( prep != null){
try {
prep.close();
} catch (SQLException e) {
}
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
}
}
}
}
}
3、效果演示
下面我们来操作演示一下:启动tomact,部署web项目,在谷歌浏览器输入:http://www.localhost:8080/web02/show
我们可以看到查询的数据:
4、执行流程简单介绍
步骤1:浏览器输入地址
http://www.localhost:8080/web02/show
步骤2:匹配配置文件 web.xml
浏览器地址的 show 对应 <url-pattern>的 /show
然后找到 java包、类ListEmpServlet
<!-- t06_查询所有员工数据表格显示 -->
<servlet>
<servlet-name>showFormEmp</servlet-name>
<servlet-class>t06_查询所有员工数据表格显示.ListEmpServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>showFormEmp</servlet-name>
<url-pattern>/show</url-pattern>
</servlet-mapping>
步骤3:java类ListEmpServlet,进行数据库访问操作,并输出显示
ListEmpServlet类查询数据库,并以表格的形式输出显示,目前的表格是在java类中嵌套 html 代码的形式,
后面的博文会慢慢的进行深入介绍和优化。