servlet的一个小例子

先导入jar

bean层:

package com.yz.bean;


public class Books {
private int id;
private String bName;
private int bNum;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getbName() {
return bName;
}
public void setbName(String bName) {
this.bName = bName;
}
public int getbNum() {
return bNum;
}
public void setbNum(int bNum) {
this.bNum = bNum;
}


}

 

dao层:

package com.yz.dao;


import java.util.List;


import com.yz.bean.Books;


public interface BooksDAO {
public List<Books> findAll();
}

 

dao层实现:

package com.yz.dao;


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;


import com.yz.bean.Books;
import com.yz.util.JDBCUtil;


public class BooksDAOImpl  implements BooksDAO{


@Override
public List<Books> findAll() {
Connection conn=null;
PreparedStatement pstat=null;
ResultSet rs=null;
List<Books> lists=null;
try {
conn=JDBCUtil.getConnection();
String sql="select * from booknum";
pstat=conn.prepareStatement(sql);
rs=pstat.executeQuery();
lists=new ArrayList<>();
while(rs.next()){
Books b=new Books();
b.setId(rs.getInt("id"));
b.setbName(rs.getString("bName"));
b.setbNum(rs.getInt("bNum"));
lists.add(b);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
JDBCUtil.closeResource(conn, pstat, rs);
}

return lists;
}


}

 

Servlet层:

package com.yz.servlet;


import java.io.IOException;
import java.io.PrintWriter;
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 com.yz.bean.Books;
import com.yz.dao.BooksDAO;
import com.yz.dao.BooksDAOImpl;


import net.sf.json.JSONArray;


/**
 * Servlet implementation class BooksServlet
 */
@WebServlet("*.do")
public class BooksServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public BooksServlet() {
        super();
        // TODO Auto-generated constructor stub
    }


/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
//获取DAO对象
BooksDAO b=new BooksDAOImpl();
List<Books> lists=b.findAll();
JSONArray jArray=new JSONArray().fromObject(lists);
          String str=jArray.toString();
          System.out.println(str);
          //写到流中
          out.println(str);
          out.close();
}


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


}

工具类:

package com.yz.util;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class JDBCUtil {
public static Connection getConnection() throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test2", "root", "666666");
return conn;
}

// 关闭资源
public static void closeResource(Connection conn,Statement stat,ResultSet rs)
{
if(conn!=null)
{
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(stat!=null)
{
try {
stat.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

if(rs!=null)
{
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

 

JSP页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/json.js"></script>
</head>
<body οnlοad="f1()">
<div id="mydiv"></div>
<script type="text/javascript">
function f1() {
setInterval(f2, 5000); //每5秒打印一次
}
//获取XMLHttpRequest对象
function getXMLHttpRequest() {
//1.获取XMLHttpRequest对象
var xhr = null;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
return xhr;
}


function f2() {
var xhr = getXMLHttpRequest();
xhr.open("post", "books.do", true);
xhr.setRequestHeader("Context-Type",
"application/x-www-form-urlencoded");
xhr.send();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var jsonstring = xhr.responseText;
console.log(jsonstring);
//原生JSON.parse(string)
var jsonObject = JSON.parse(jsonstring);
console.log(jsonObject);
//需要引入第三方json.js      json2.js   string.parseJSON()
var jsonObject1 = jsonstring.parseJSON();
console.log(jsonObject1);
var str = "销量前三名商品是:<br/>";
for (var i = 0; i < jsonObject.length; i++) {
str += "商品名称:" + jsonObject[i].bName
+ ",商品序号:" + jsonObject[i].id  + ",商品销量:"
+ jsonObject[i].bNum+"<br>"
}
document.getElementById("mydiv").innerHTML = str;
}
}
}
</script>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值