- 浏览: 113793 次
- 性别:
- 来自: 成都
文章分类
最新评论
例子:利用session完成购物车.
domain:
servlet:
登陆页面:
欢迎页面:
购买页面:
domain:
package cn.itcast.cd.jsp.domain; public class User { private String name; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User [name=" + name + ", password=" + password + "]"; } } package cn.itcast.cd.jsp.domain; import java.util.ArrayList; import java.util.List; public class ShoppingCar { private List<ShoppingCarItem> list = new ArrayList<ShoppingCarItem>(); public List<ShoppingCarItem> getList() { return list; } public void add(ShoppingCarItem item){ list.add(item); } public void remove(String id){ for (ShoppingCarItem item : list) { if (id.equals(item.getId())){ list.remove(item); break; } } } } package cn.itcast.cd.jsp.domain; public class ShoppingCarItem { private String id; private String name; private double price; private Integer number; 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 double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public Integer getNumber() { return number; } public void setNumber(Integer number) { this.number = number; } } package cn.itcast.cd.utils; public class Utils { public static boolean hasLength(String str) { return str != null && !"".equals(str); } }
servlet:
package cn.itcast.cd.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import cn.itcast.cd.jsp.domain.User; /** * Servlet implementation class LoginServlet */ public class LoginServlet extends HttpServlet { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); //获取参数 String name = request.getParameter("name"); String password = request.getParameter("password"); //封装对象 User user = new User(); user.setPassword(password); user.setName(name); HttpSession session = request.getSession(); session.setAttribute("user", user); //显示到页面 RequestDispatcher dispatcher = request.getRequestDispatcher("/welcome.jsp"); dispatcher.forward(request, response); } } package cn.itcast.cd.servlet; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import cn.itcast.cd.jsp.domain.ShoppingCar; import cn.itcast.cd.jsp.domain.ShoppingCarItem; /** * Servlet implementation class BuyServlet */ public class BuyServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); String name = request.getParameter("name"); String number = request.getParameter("number"); ShoppingCarItem item = new ShoppingCarItem(); item.setName(name); item.setNumber(Integer.parseInt(number)); HttpSession session = request.getSession(); ShoppingCar car = (ShoppingCar)session.getAttribute("car"); if (car == null) { //car为空,则创建一个购物车,并放到session中,否则,session中有购物车,不需要再添加到session中. car = new ShoppingCar(); session.setAttribute("car", car); } car.add(item); RequestDispatcher dispatcher = request.getRequestDispatcher("/car.jsp"); dispatcher.forward(request, response); } } package cn.itcast.cd.servlet; import java.io.IOException; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import cn.itcast.cd.jsp.domain.ShoppingCar; import cn.itcast.cd.jsp.domain.ShoppingCarItem; /** * Servlet implementation class ShowServlet */ public class ShowServlet extends HttpServlet { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); HttpSession session = request.getSession(); ShoppingCar car = (ShoppingCar)session.getAttribute("car"); RequestDispatcher dispatcher = request.getRequestDispatcher("/car.jsp"); dispatcher.forward(request, response); } }
登陆页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="/login" method="post"> <table border="0" cellpadding="3" cellspacing="0"> <tr> <td>用户名:</td> <td><input type="text" name="name"/></td> </tr> <tr> <td>密 码:</td> <td><input type="password" name="password"/></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="登 陆"/> </td> </tr> </table> </form> </body> </html>
欢迎页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> 欢迎回来!<font color="blue"><b><i>${sessionScope.user.name}</i></bi></font><br/> <a href="/buy.jsp">开始购物</a> <a href="/show">管理购物车</a> </body> </html>
购买页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="/buy" method="post"> <table border="0" cellpadding="3" cellspacing="0"> <tr> <td>商品名称:</td> <td> <select name="name"> <option>鼠标</option> <option>键盘</option> <option>显示器</option> </select> </td> </tr> <tr> <td>数  量:</td> <td><input type="text" name="number"/></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="购买"/> </td> </tr> </table> </form> </body> </html> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <c:choose> <c:when test="${empty sessionScope.car}"> 购物车没有任何商品...... </c:when> <c:otherwise> <table> <tr> <th>商品名称</th> <th>商品数量</th> </tr> <c:forEach items="${sessionScope.car.list}" var="item"> <tr> <td>${item.name }</td> <td>${item.number }</td> </tr> </c:forEach> </table> </c:otherwise> </c:choose> <form action="/buy.jsp" method="post"> <input type ="submit" value="继续购物"/> </form> </body> </html>
发表评论
-
java远程调试(转载)
2012-12-29 16:43 894新接手的项目采用的是Maven作为编译管理工具,项目内容则是按 ... -
将秒转换成日期格式的java方法:
2012-12-29 12:01 952package net.blogjava.frankieg ... -
java对世界各个时区(TimeZone)的通用转换处理方法(转载)
2012-12-25 15:24 977在进行国际性软件项目开发的过程中,有时候会碰到一些比较特殊的要 ... -
RandomAccessFile
2012-12-19 22:05 789RandomAccessFile RandomAccessF ... -
java-WEB中的过滤器Filter
2012-09-18 22:58 1467过滤器是一个程序,它先于与之相关的s ... -
java中的el——表达式语言
2012-09-09 23:36 874EL 全名为 Expression Lang ... -
java-下载图片(正则表达式、HttpURLConnection、流、socket综合运用)
2012-08-26 22:22 1282package cn.itcast.httpserver; ... -
java-用HttpURLConnection发送Http请求.
2012-08-26 22:00 721注意:利用URL发送的请求,服务器只返回实体部分,不包括htt ... -
java-模拟tomcat服务器
2012-08-26 21:57 1126模拟tomcat服务器端代码示例:package cd.itc ... -
java-SAX解析XML示例
2012-08-25 19:13 815JAVA 解析 XML 通常有两种方式:DOM 和SAX ... -
java-增强for循环示例
2012-08-25 19:14 823package cd.itcast.day1; impo ... -
java-反射示例
2012-08-24 14:13 713package cd.itcast.day1; im ... -
java-可变参数示例
2012-08-24 14:07 537package cd.itcast.day1; pu ... -
java-枚举示例
2012-08-24 14:04 700package cd.itcast.day1; /* ... -
java-注解annotation
2012-08-24 13:54 725package cd.itcast.day2; impo ... -
Java-dom编程:操作xml
2012-08-24 13:47 745package cd.itcast.day3.xmldom; ...
相关推荐
JSP页面可以通过EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)来访问模型中的数据。 4. **整合三者**:在JSP中通过请求转发或包含指令将模型数据传递给视图。控制器会将处理结果转发...
在实际应用中,将这两个库添加到项目的类路径中,可以方便地在JSP页面上使用JSTL标签,比如使用`<c:forEach>`进行迭代,`<c:if>`进行条件判断,或者使用`<fmt:formatDate>`进行日期格式化。这极大地提高了代码的...
使用JSTL和EL,开发者可以避免在JSP页面中编写过多的Java脚本,从而实现“视图”和“逻辑”的分离,更符合MVC(Model-View-Controller)设计模式。这有利于提升代码的可维护性和团队协作效率。 集成JSTL到项目中,...
- **减少Java代码**:JSTL减少了JSP页面中的Java代码量,使得页面更加整洁,遵循了MVC设计模式。 - **重用性**:JSTL标签可以重复使用,提高代码复用率。 在实际应用中,这些jar包通常会添加到项目的类路径中,以...
系统架构通常采用MVC(Model-View-Controller)模式,其中Model代表数据模型,处理业务逻辑和数据访问;View负责用户界面展示;Controller(Servlet)处理用户请求,协调Model和View之间的交互。整个系统通过HTTP...
使用JSTL可以使得JSP页面更加清晰,遵循MVC设计模式,提高代码的可读性和可维护性。此外,由于JSTL是标准库,这意味着它的兼容性和社区支持都非常好。 8. **注意事项** 虽然JSTL提供了许多功能,但并不是所有任务...
总的来说,`jstl.jar` 和 `standard.jar` 在Java Web开发中起着至关重要的作用,它们帮助开发者编写更清晰、更易于维护的JSP页面,通过JSTL标签和EL表达式来处理常见的页面逻辑,使得页面代码更加符合MVC(Model-...
JSTL的使用大大简化了JSP页面的编写,使得代码更加清晰,更符合MVC设计模式,让开发者能够专注于业务逻辑而不是页面呈现细节。在实际开发中,JSTL常常与EL(Expression Language)一起使用,提供更强大的数据绑定和...
Java-JSTL,全称JavaServer Pages Standard Tag Library,是Java服务器页面标准标签库,它为JSP开发者提供了一系列预定义的、用于处理常见任务的标签。这些标签旨在简化JSP开发,提高代码的可读性和可维护性,降低与...
在实际应用中,JSTL的使用能够显著提高JSP页面的可维护性和可读性,因为它将业务逻辑和显示逻辑分离,遵循了MVC(Model-View-Controller)设计模式。通过结合EL,开发者可以更加便捷地处理数据和控制页面流,使得JSP...
【JSP源码——jsp+servlet+javaBean实现MVC】是基于Java Web技术构建的一种经典MVC(Model-View-Controller)模式的应用实例。在Web开发中,MVC模式被广泛采用,它将应用程序的业务逻辑、数据处理和用户界面分离,...
总之,JSTL和EL的结合使用,能够极大地提升JSP页面的可维护性和效率,让代码更加简洁,更符合MVC设计模式,从而降低开发和维护的复杂度。在实际开发中,应当充分利用这两个工具来提高代码质量。
学习这个项目,你可以了解如何在Java Web应用中实现MVC模式,包括Servlet的生命周期、请求响应处理,JSP的EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的使用,以及如何设计和组织...
使用JSTL可以使得JSP页面更加整洁,将业务逻辑与展示逻辑分离,符合MVC设计模式。 **standard.jar**是另一个关键组件,它是JSTL依赖的Tomcat提供的Java Expression Language (EL)实现,名为Tomcat EL。EL是一种轻量...
使用JSTL可以显著提高代码的可读性和可维护性,因为它将业务逻辑从视图层(JSP页面)移出,遵循了MVC(Model-View-Controller)设计模式。JSTL的核心库文件就是jstl.jar,其中包含了一系列的标签实现。 2. Standard...
2. **JSP页面设计**:学习如何在JSP页面中使用JSTL标签(如`<c:forEach>`、`<fmt:formatDate>`等)和EL表达式(如`${}`)进行数据处理和展示。 3. **Action和Service层设计**:查看Action类如何接收请求,调用...
这个系统利用了Java服务器页面(JSP)、Servlet和JavaServer Pages Standard Tag Library(JSTL)等技术,构建在MySQL数据库之上,提供了数据存储和查询的功能。 首先,JSP是Java的一种动态网页技术,它允许开发者...
**JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它为JSP页面提供了一套方便使用的标签,用于简化HTML和Java代码的结合,提高开发效率。标题提到的`jstl-1.1.0.jar`和`jstl-...
使用JSTL可以减少在JSP页面中直接编写Java脚本,遵循MVC(Model-View-Controller)设计模式,提高了代码的可读性和可维护性。JSTL主要由以下几个核心模块组成: 1. **Core**: 提供基本的控制结构,如循环、条件判断...
【标题】"jsp实验-用java实现MVC模式的管理系统"揭示了本次实验的核心内容,即使用Java语言和JSP技术构建一个基于MVC(Model-View-Controller)设计模式的管理信息系统。这个系统旨在帮助初学者理解并实践MVC模式在...