download:大话HTTP协议漫画+图解打造高中生也能学会的编程基础课程

无论从实际工作还是认知的角度,系统学习HTTP都非常必要,这是很多人刚需,但不论是学校还是市面上的教程很少有既系统全面又贴近实际工作的,这是我们制作此课程的出发点和目的

适合人群
HTTP应用非常广泛,我们的课程适用于包括
研发、运维、测试、产品、项目经理等在内的所有人
甚至是非计算机行业的人

技术储备要求
无技术储备要求
public Book() {
}

public Book(String id, String name, String price, String auth,        String publish, String description) {    super();    this.id = id;    this.name = name;    this.price = price;    this.auth = auth;    this.publish = publish;    this.description = description;}public String getDescription() {    return description;}public void setDescription(String description) {    this.description = description;}public String getId() {    return id;}public void setId(String id) {    this.id = id;}public String getName() {    return name;}public void setName(String name) {    this.name = name;}public String getPrice() {    return price;}public void setPrice(String price) {    this.price = price;}public String getAuth() {    return auth;}public void setAuth(String auth) {    this.auth = auth;}public String getPublish() {    return publish;}public void setPublish(String publish) {    this.publish = publish;}

}

25
import java.util.LinkedHashMap;
import java.util.Map;
import cn.huiyu.ben.Book;
public class BookDao {
private static Map<String,Book> bookMap = new LinkedHashMap<String, Book>();
private BookDao() {
}
static{
bookMap.put("1", new Book("1","1111","11.0","zqwang","111出版社","111111111"));
bookMap.put("2", new Book("2","2222","22.0","zqwang","222出版社","222222222"));
bookMap.put("3", new Book("3","3333","33.0","zqwang","333出版社","333333333"));
}

public static Map<String,Book> getBooks(){    return bookMap;}public static Book getBook(String id){    return bookMap.get(id);}

}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
//1.查询数据库中一切的书展现
Map<String,Book> map = BookDao.getBooks();
for(Map.Entry<String , Book> entry : map.entrySet()){
Book book = entry.getValue();
response.getWriter().write("<a href='"+request.getContextPath()+"/servlet/BookInfoServlet?id="+book.getId()+"'>"+book.getName()+"
");
}
response.getWriter().write("
");

    //2.显现之前看过的书    Cookie [] cs = request.getCookies();    Cookie findC = null;    if(cs!=null){        for(Cookie c : cs){            if("last".equals(c.getName())){                findC = c;            }        }    }    if(findC == null){        response.getWriter().write("没有看过任何书!");    }else{        response.getWriter().write("您曾经阅读过的书:

");
String[] ids = findC.getValue().split(",");
for(String id : ids){
Book book = BookDao.getBook(id);
response.getWriter().write(book.getName()+"
");
}
}
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
//1.获取要看的书的id,查询数据库找出书,输出书的细致信息
String id = request.getParameter("id");
Book book = BookDao.getBook(id);
if(book==null){
response.getWriter().write("找不到这本书!");
return;
}else{
response.getWriter().write("
书名:"
+book.getName()+"");
response.getWriter().write("
作者:"
+book.getAuth()+"");
response.getWriter().write("
售价:"
+book.getPrice()+"");
response.getWriter().write("
出版社:"
+book.getPublish()+"");
response.getWriter().write("
描画信息:"
+book.getDescription()+"");
}

    //2.发送cookie保管最后看过的书    // --- 1 --> 1    // 1 --2,1 --> 2,1    // 2,1--3,2,1 --> 3,2,1    // 3,2,1 -- 4,3,2 --> 4,3,2    // 4,3,2 --3,4,2 --> 3,4,2    String ids = "";    Cookie [] cs = request.getCookies();    Cookie findC = null;    if(cs!=null){        for(Cookie c : cs){            if("last".equals(c.getName())){                findC = c;            }        }    }    if(findC == null){        //阐明之前没有看过书的记载        ids += book.getId();    }else{        //阐明之前有历史看过的书的记载,需求依据历史记载算一个新的记载出来        String [] olds = findC.getValue().split(",");        StringBuffer buffer = new StringBuffer();        buffer.append(book.getId()+",");        for(int i = 0;i<olds.length && buffer.toString().split(",").length<3 ;i++){            String old = olds[i];            if(!old.equals(book.getId())){                buffer.append(old+",");            }        }        ids = buffer.substring(0, buffer.length()-1);    }    Cookie lastC = new Cookie("last",ids);    lastC.setMaxAge(3600*24*30);    lastC.setPath(request.getContextPath());    response.addCookie(lastC);}
©著作权归作者所有:来自51CTO博客作者mb606f2586973a4的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 资深大牛带你深度剖析ios面试
  2. 研一小白看过来
  3. Android(安卓)玩家看过来:来自 Seagate 的 GoFlex Satellite 你也
  4. [置顶] Android中一些优秀的博文(看过的)
  5. Android事情记载
  6. android 自定义ViewGroup实现可记载并呈现选择的ListView
  7. Android—Intent没理解的看过来
  8. Android日志分类及查看过滤
  9. android 默认浏览器 无法下载,此手机不支持此内容(自定义文件or AP

随机推荐

  1. 在 android 上运行 python 的方法
  2. Android touch事件一种解释
  3. Android开发基础-系统结构
  4. Android百度地图开发(一)环境搭建
  5. 界面编程之基本界面组件(7)ImageView(图像视
  6. Android横竖屏切换实例总结
  7. 断网使用RycyclerView的jar包,运行时报错
  8. Android 设置DrawableRight和DrawableLef
  9. Android(安卓)环境搭建,Helloworld以及常
  10. android各个版本特性和市场占有率(2012年5