目录

  • 1 课程概述及开发工具
    • 1.1 第1次课 课程概述
    • 1.2 第1次课  开发工具
  • 2 HTML基础(4+2)
    • 2.1 第2次课  认识HTML
    • 2.2 第3次课  表格制作
    • 2.3 第4次课  表单:文本框和按钮制作
    • 2.4 第4次课  表单:单选框制作
    • 2.5 第4次课  表单:复选框制作
    • 2.6 第4次课  表单:下拉框制作
    • 2.7 第4次课  表单综合练习
    • 2.8 综合项目:大学生消费水平调查问卷网页设计
    • 2.9 第4次课 CSS基础
      • 2.9.1 第4次课  认识CSS-嵌入式CSS语句
      • 2.9.2 第4次课  认识CSS-文档头内CSS语句
      • 2.9.3 第4次课  认识CSS-CSS外部文件应用
      • 2.9.4 附:CSS参考手册
  • 3 JSP开发基础
    • 3.1 第1次课 认识JSP
    • 3.2 第1次课  EL语言
    • 3.3 第1次课 JSP页面元素
    • 3.4 第2次课  JSP页面元素-代码片段
    • 3.5 第3次课  JSP页面元素-标签行为
      • 3.5.1 第3次课  标签行为jsp:useBean
    • 3.6 第4次课 标签行为 jsp:forward
      • 3.6.1 第4次课 标签行为jsp:param
    • 3.7 第5次课 再一次认识JSP
    • 3.8 附:JavaEE API(开发者参考手册)
    • 3.9 jsp基础测试题
  • 4 JSP内置对象
    • 4.1 第1次 JSP内置对象概述
    • 4.2 第1次 request对象概述
    • 4.3 第2次 request对象获取表单中的请求参数
    • 4.4 第3次 request对象获取URL中的请求参数
    • 4.5 第4次 小项目:列表导航与详情页面设计
    • 4.6 第5次 request对象获取特殊的请求参数-“一对多键-值”对(选)
    • 4.7 第5次 小项目:调查问卷(选)
    • 4.8 第6次 session对象
    • 4.9 第7次 存储“键-值”对到session对象
    • 4.10 第8次 存储“键-值(对象)”对到session对象
    • 4.11 第9次 小项目:果卉团-选购功能设计与实现
    • 4.12 第10次 application对象
    • 4.13 第10次 小项目:运用application实现留言板
  • 5 Servlet开发基础
    • 5.1 第1次 Servlet概述
    • 5.2 第1次 Servlet的生命周期
    • 5.3 第2次 Servlet生成HTML页面
    • 5.4 第3次 Servlet处理表单数据
    • 5.5 第4次 Servlet页面重定向
    • 5.6 第4次 小项目:Web计算器
    • 5.7 第5次 Servlet请求转发
    • 5.8 第6次 Servlet中访问HttpSession对象
    • 5.9 第7次 小项目:简单Web教师工资计算
  • 6 JDBC数据库访问技术
    • 6.1 第1次 JDBC概述
    • 6.2 第2次 JDBC-Statement、ResultSet
    • 6.3 第3次 JDBC实现Web页面简单查询
    • 6.4 第4次 JDBC完成表单查询应用
    • 6.5 第4次 小项目:“寝室大事记”Web查询系统
    • 6.6 第5次 JDBC-预准备语句PreparedStatement
    • 6.7 第6次 JDBC完成增删改功能应用
    • 6.8 第7次 小项目:基于层次架构模式的Web教师工资管理系统
    • 6.9 JDBC API
第9次 小项目:果卉团-选购功能设计与实现

问题与需求:

功能需求分析:有一个果商主要出售4种水果,苹果apple、香蕉balanna、梨pear、菠萝pineapple。“新冠”疫情期间衍生出了新型购买模式-“果商-小区”模式,如何将该果商的四种水果让各小区居民知晓并由用户提交水果订单、用户查看相应订单数据等是选购的重要功能环节之一。

数据需求分析:每一种水果,应至少包含英文名、中文名、购买数量、图片等信息。

果卉团-选购功能设计:

  1. 根据“将该果商的四种水果让各小区居民知晓并由用户提交水果订单”需求,应设计一个“加入购物车”的功能页面。根据目前已学的技术,可以通过设计fruitslist.jsp完成。

  2. 根据"用户查看相应订单数据"需求,应设计一个“查看购物车”的功能页面。根据目前已学的技术,可以通过设计seeit.jsp完成。

  3. 关键技术点:如何将用户选购的水果数据存放到“购物车”,用户可以查看“购物车”,这个“购物车”可以通过session机制来实现。

具体实现:

版本1:能提供水果名的选购

四种水果名用一个String[]表示。

String[] fruits={"apple","balanna","pear","pineapple"};

fruitslist.jsp的界面设计:

<body>

<form>

<table style="border:2px solid;color:red;">

<tr><td>序号</td><td>选择水果</td></tr>

<%

String[] fruits={"apple","balanna","pear","pineapple"}; 

for(int i=0;i<fruits.length;i++){

%>

<tr> 

<td>

<%=i+1 %>

</td>

<td>

<input type="checkbox" name="select" value=<%=fruits[i] %>><%=fruits[i] %>

</td>

</tr>

<%

}

%>

</table>

<input type="submit" value="加入购物车">

</form>

</body>


通过request获得用户的选择项目,再转储到session中的功能代码:

<%

if (request.getParameterValues("select")!=null){

session.setAttribute("all", request.getParameterValues("select"));}

%>

購物車頁面:

从session中访问这些选择选择项目:

<%

String[] arr= (String[])(session.getAttribute("all"));

for(int j=0;j<arr.length;j++){

%>

<%=arr[j] %>

<%} %>



版本2:能提供水果名、选择数量的选购功能


                                   

                                        图1                                                                     图2



参考代码:

<body>

<form action="fruitslist.jsp">

<table>

<tr><td>序号</td><td>选择水果</td><td>选择数量</td></tr>

<%

String[] fruits={"apple","balanna","pear","pineapple"};

for(int i=0;i<fruits.length;i++){

%>

<tr>

<td><%=i+1 %></td>

<td><input type="checkbox" name="select" value=<%=fruits[i] %>><%=fruits[i] %></td>

<td><select name="<%=fruits[i] +"num"%>">

<option value="1">1Kg</option><!-- 此处各选项可通过for循环实现 -->

<option value="2">2Kg</option>

</select>

</td>

</tr>

<%} %>

</table>

<input type="submit" value="加入购物车">

</form>

<%

if (request.getParameterValues("select")!=null){

session.setAttribute("all", request.getParameterValues("select"));

%>

您的选择为:<br>

<%

String[] arr= (String[])(session.getAttribute("all"));

for(int j=0;j<arr.length;j++){

session.setAttribute(arr[j]+"num", request.getParameter(arr[j]+"num"));

%>

<%=arr[j] %>

<%=session.getAttribute(arr[j]+"num") %>Kg<br>

<%}} %>

<br>

<a href="seeit.jsp">去购物车看看吧</a>

</body>


版本3:能提供水果名、选择数量、水果图片的选购功能

参考运行效果:

参考代码:(略)

提示:图片名可以设置为apple.jpg、balanna.jsp等,这样就可以通过for循环动态生成img标记了。^_^

本页面内容全部由作者姚远原创,请使用者写明出处后再行使用。