1. 程式人生 > 實用技巧 >64dbg和x32dbg零基礎從入門到精通視訊教程

64dbg和x32dbg零基礎從入門到精通視訊教程

前臺程式碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/jquery-3.3.1.min.js"></script>
    <script>
        $(function () {
            //傳送ajaxqingq
            $.get("provinceServlet",{},function (data) {
                //[{"id":1,"name":"北京"},{"id":2,"name":"上海"},{"id":3,"name":"廣州"},{"id":4,"name":"陝西"}]
                //1.獲取select
                var property=$("#province")
                //2.遍歷json陣列
                $(data).each(function () {
                    //3.建立<option>
                    var option="<option name='"+this.id+"'>"+this.name+"</option>"
                    //4.呼叫select的append追加option
                    property.append(option);
                });




            });
        })
    </script>
</head>
<body>
<select id="province">
    <option>---請選擇---</option>
</select>
</body>
</html>

實體類程式碼

package cn.jztd.domain;


public class Province {
    private  int id;
    private  String name;


    public int getId() {
        return id;
    }


    public void setId(int id) {
        this.id = id;
    }


    public String getName() {
        return name;
    }


    public void setName(String name) {
        this.name = name;
    }
}
dao層介面程式碼  
package cn.jztd.dao.impl;


import cn.jztd.domain.Province;


import java.util.List;


public interface ProvinceDao {
    public List<Province> findAll();
}
dao層實現介面程式碼  
package cn.jztd.dao.impl;


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


import java.util.List;


public class ProvinceDaoimpl implements ProvinceDao {
    //1.宣告成員變數 jdbctemplement
    private JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource());
    @Override
    public List<Province> findAll() {
       //1.定義sql
        String sql="select * from province";
        //2.執行sql,查詢賦值到實體類
        List<Province> list = template.query(sql, new BeanPropertyRowMapper<Province>(Province.class));
        return  list;
    }
}
service介面程式碼,實現redis快取  
package cn.jztd.service.impl;


import cn.jztd.domain.Province;


import java.util.List;


public interface ProcinceService {
    public List<Province> findAll();
    public String faindojosn();
}
serice實現介面程式碼  
package cn.jztd.service.impl;


import cn.jztd.dao.impl.ProvinceDaoimpl;
import cn.jztd.domain.Province;
import cn.jztd.redis.util.JediPoolUtils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import redis.clients.jedis.Jedis;


import java.util.List;


public class ProcinceServiceimpl implements ProcinceService {
    ProvinceDaoimpl pr=new ProvinceDaoimpl();
    @Override
    public List<Province> findAll() {
        return  pr.findAll();
    }


    @Override
    public String faindojosn() {
        //連線redis
        Jedis jedis= JediPoolUtils.getJed();
        //查詢procince的值
        String per=jedis.get("procince");
        if(per==null||per.length()==0)//判斷該鍵在redis中存在嗎
        {
            System.out.println("沒有查詢到資料");
            //不存在查詢資料庫
            List<Province> list = pr.findAll();
            //序列化為json
            ObjectMapper mapper=new ObjectMapper();
            try {
                per = mapper.writeValueAsString(list);
                jedis.set("procince",per);
            } catch (JsonProcessingException e) {
                e.printStackTrace();
            }
            //把json新增到redis中


        }
        else
        {
            System.out.println("查詢到資料");


        }
        return per;
    }
}

servlet程式碼

package cn.jztd.web.servlet;


import cn.jztd.dao.impl.ProvinceDao;
import cn.jztd.dao.impl.ProvinceDaoimpl;
import cn.jztd.domain.Province;
import cn.jztd.service.impl.ProcinceService;
import cn.jztd.service.impl.ProcinceServiceimpl;
import com.fasterxml.jackson.databind.ObjectMapper;


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;
import java.util.List;


@WebServlet("/provinceServlet")
public class ProvinceServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.呼叫查詢
        ProcinceService provinceDao=new ProcinceServiceimpl();
    /*    List<Province> list = provinceDao.findAll();
        //2.序列化list為json
        ObjectMapper objectMapper=new ObjectMapper();
        String json = objectMapper.writeValueAsString(list);
        System.out.println(json);*/


        //redis快取方式查詢
        String json=provinceDao.faindojosn();
        System.out.println(json);
        //3.響應格式
        response.setContentType("application/json;charset=utf-8");
        response.getWriter().write(json);
    }


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