download:Python工程师面试宝典一线大厂资深面试官亲授
Python服务端工程师学什么,面试问什么,你该准备什么?别苦恼,别害怕,别纠结,这门课程带你系统梳理面试知识,增加面试成功几率,提升后端开发技能,在面试之前解决你的各种问题,让你技术实力和面试技巧得到双重提升。
适合人群
Python服务端工程师(后端工程师)
初/中级 web 开发者和全栈开发者
使用 Python 语言的开发者
(运维工程师,爬虫工程师,数据分析师等)
技术储备要求
掌握Python编程语言
会使用Python进行网站开发,了解网站工作原理
有一定的网站后端基础知识
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;}
}
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,2String 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);}