基础------重点摘要----Redis使用示例

本文介绍了一个使用HTML、jQuery和Servlets实现的简单应用案例,该应用能够从数据库或Redis缓存中获取并显示中国省份列表。具体实现了通过Ajax请求获取省份数据,并将其填充到HTML的下拉选择框中。

html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/jquery-3.3.1.js"></script>
    <script>
        $(function () {
            $.get("proviceServlet",{},function (data) {
                $.each(data,function () {
                    var op="<option name='"+this.id+"'>"+this.name+"</option>";
                    $("#mysel").append(op);
                })
            })
        })
    </script>
</head>
<body>
    <select id="mysel">
        <option>--请选择--</option>
    </select>
</body>
</html>

service :

package cn.wjs.service;

import cn.wjs.dao.FindAllProviceDao;
import cn.wjs.domain.Province;
import cn.wjs.utils.JedisPoolUtils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import redis.clients.jedis.Jedis;

import java.util.List;

public class FindAllProviceService {

    private Jedis jedis= JedisPoolUtils.getJedis();
    private FindAllProviceDao fpd=new FindAllProviceDao();
    public String getAllProvice() {
        String json=jedis.get("Pjson");
        if(json==null||json.length()<=0){
            List<Province> provinces=fpd.findAll();
            ObjectMapper om=new ObjectMapper();
            String str = null;
            try {
                 str= om.writeValueAsString(provinces);
                System.out.println(str);
                jedis.set("Pjson",str);
            } catch (JsonProcessingException e) {
                e.printStackTrace();
            }
            System.out.println("从数据库查出来的");
            return str;

        }
        System.out.println("从redis中查处的");
        return json;


    }
}

servlet:

package cn.wjs.servlet;

import cn.wjs.service.FindAllProviceService;

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 java.io.IOException;

@WebServlet("/proviceServlet")
public class ProviceServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        FindAllProviceService fs=new FindAllProviceService();
        String json=fs.getAllProvice();
        response.setContentType("application/json;charset=utf-8");
        response.getWriter().write(json);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
}

Dao:

package cn.wjs.dao;

import cn.wjs.domain.Province;
import cn.wjs.utils.JDBCUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;

import java.util.List;

public class FindAllProviceDao {
   private  JdbcTemplate jt= new JdbcTemplate(JDBCUtils.getDataSource());
    public List<Province> findAll() {
        String sql="select * from province";
        List<Province> list = jt.query(sql, new BeanPropertyRowMapper<Province>(Province.class));
        return list;
    }
}

此处省略配置。。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值