- 浏览: 33065 次
- 性别:
- 来自: 沈阳
文章分类
最新评论
-
hyjasonlee:
birthday 为Date 能取数据出来吗?我用sqlite ...
利用dbutils框架简化jdbc开发
先把代码附上:
public class IndexServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8");//设置浏览器以什么字符代码打开 response.setCharacterEncoding("UTF-8");//设置response字符 PrintWriter out = response.getWriter(); request.getSession();//这里必须要这么写一下,要获取session对象 //1.显示网站所有商品 out.print("本网站有如下书籍:<br/>"); Map<String,Book> map = DB.getMap(); for(Map.Entry<String, Book> entry : map.entrySet()){//map.entry别忘记了 Book book = entry.getValue(); String url = "/day07/servlet/BuyServlet?id="+book.getId(); url = response.encodeURL(url); //得到重写后的url
//要在浏览器后面加上session的id号码
out.print(book.getName() + "<a href='"+url+"'>购买</a><br/>");
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
class DB{
private static Map<String,Book> map = new HashMap();
static{
map.put("1", new Book("1","javaweb开发","老张"));
map.put("2", new Book("2","jdbc开发","老黎"));
map.put("3", new Book("3","struts2开发","老张"));
map.put("4", new Book("4","spring开发","老黎"));
map.put("5", new Book("5","hibernate开发","老张"));
}
public static Map getMap(){
return map;
}
}
class Book implements Serializable{//重点,别忘了实现序列化
private String id;
private String name;
private String author;
public Book() {
super();
// TODO Auto-generated constructor stub
}
public Book(String id, String name, String author) {
super();
this.id = id;
this.name = name;
this.author = author;
}
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 getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
//购买 public class BuyServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.得到用户想买的书 String id = request.getParameter("id"); Book book = (Book) DB.getMap().get(id); //2.把用户买的书加在session中用于管理所有书的集合中了 HttpSession session = request.getSession(); Cookie cookie = new Cookie("JSESSIONID",session.getId()); cookie.setMaxAge(30*60); cookie.setPath("/day07"); response.addCookie(cookie); //cookie 没有禁用的时候这么写 List list = (List) session.getAttribute("list"); if(list==null){ list = new ArrayList(); session.setAttribute("list", list); } list.add(book); //3.跳转到购物车显示列表 //request.getRequestDispatcher("/servlet/ListCartServlet").forward(request, response); String url = response.encodeRedirectURL("/day07/servlet/ListCartServlet"); //实现 url重写 response.sendRedirect(url); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
//显示用户买的所有书(购物车列表显示页面) public class ListCartServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); out.print("您购买了如下商品:<br/>"); List<Book> list = (List) request.getSession().getAttribute("list"); for(Book book : list){ out.print(book.getName() + "<br/>"); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
发表评论
-
自学JSP---el表达式注意事项
2012-11-15 20:39 5211. El表达式函数和自定义标签一样都可以封装jsp中的 ... -
自学JSP----JSTL标签库
2012-11-12 18:43 538<c:out>标签 标签用于输出 ... -
自学Servlet_10_session(关于表单)
2012-11-05 18:36 609防止表单重复提交: 首先,在前台用js禁止。 其次:用se ... -
自学Servlet_7_request(解决get和post提交的乱码)
2012-11-06 18:30 0解决get和post提交的乱码: if(request.g ... -
自学Servlet_8_request(表单)
2012-11-03 22:48 740<form action="/day06/ ... -
自学Servlet_7_resquest(获取客户机带过来的数据)
2012-11-03 22:45 620获取客户机带过来的数据三种情况: //1. //ht ... -
自学Servlet_6_respuest(获取客户机信息、防盗链)
2012-11-03 22:41 972获取客户机信息: //得到客户机想请求的资源 ... -
自学Servlet_5_response(定时刷新、请求重定向)
2012-11-03 22:32 663控制定时刷新的两种方法: String data = &q ... -
自学Servlet_4_response(输出随机图片)
2012-11-03 22:26 684输出随机图片: private static final i ... -
自学Servlet_3_response
2012-11-02 18:32 676response解决中文乱码问题: //更改resp ... -
自学Servlet_2_servletContext(2)
2012-11-02 11:57 641读取配置文件的各种方法: 方法一: ServletCo ... -
自学Servlet_2_servletContext
2012-11-02 10:32 8121.两种获取servletContext对象的方式 Servl ... -
自学Servlet_1_获取初始化参数
2012-11-02 10:17 629获取配置的初始化参数的方式1 String value = c ...
相关推荐
5. **会话管理**:通过session对象跟踪用户状态,例如购物车中的书籍。 6. **异常处理**:使用JSP的error-page配置或Java异常处理机制捕获并处理错误。 通过研究这个实例,学习者可以深入理解JSP如何与数据库交互,...
《JSP网络开发实例自学手册实例代码》是一个针对初学者和进阶者设计的资源集合,旨在通过实际操作帮助读者掌握JSP(Java Server Pages)技术在网络开发中的应用。这个压缩包包含了书中所讲解的各种实例的源代码,...
3. **会话管理**:理解session对象的使用,如何在用户的多次交互间保存信息,例如购物车功能的实现。 4. **数据库连接与操作**:通过JDBC(Java Database Connectivity)接口连接数据库,执行SQL查询,展示如何在...
- **购物车和订单系统**:涉及到商品展示、选择、添加到购物车、结算等步骤,可能使用session和cookie来跟踪用户信息。 - **新闻发布系统**:动态生成新闻列表,支持按日期、类别筛选,可能涉及XML或JSON数据交换。 ...
3. **session对象**:提供了一种在用户会话之间存储数据的方法,适用于管理用户登录状态或购物车等。 4. **application对象**:在所有用户间共享数据,适用于全局变量和应用程序级信息。 5. **pageContext对象**:...
不仅如此,自学者也能从中受益匪浅,因为它提供了一个实际的电子商务平台的开发实例。 首先,让我们深入了解一下这三个核心技术: 1. **jsp(JavaServer Pages)**:JSP是Java Web开发中的视图层技术,它允许...
7. **会话管理**:JSP提供`session`对象来管理用户会话,可以存储和检索用户特定的信息,如购物车、登录状态等。 8. **错误处理**:`<error-page>`指令可以用来配置错误处理,当发生特定的HTTP状态码或异常时,JSP...
9. **page对象**:实际上就是当前JSP页面的Servlet实例,提供了对Servlet方法的直接访问,例如getServletConfig()和init()。 **CHM格式的Jsp内置对象参考手册详细阐述了这些对象的使用方法,包括示例代码和最佳实践...
5. **会话管理**:用户登录和购物车功能需要处理会话,了解如何在JSP中使用session对象来保持用户状态。 6. **异常处理**:学习如何在JSP和Servlet中捕获和处理可能出现的异常,保证系统的健壮性。 7. **安全考虑*...
实训还涉及了会话管理,如使用Session实现购物车功能,但会话结束时购物车信息会被清除。登录后,订单信息将保存在数据库中,通过多表连接处理订单和订单项的存储及查询,进一步理解了数据库的关联操作。 在技术...