jsp的学习
jsp工作原理图:
1.就是有多个<% %>,相当于一个<% %>;
2.在<%%>中顶一个变量会变成Servlet函数的局部变量;
3.web服务器在调用jsp变量时会给jsp提供9个内置对象;
jsp标签:
一.指令元素:
用于从jsp发送一个信息到容器。
page、include、taglib。
二. 脚本元素
java片段:
<%java代码%>
<%= 表达式%>
<%
int i;//局部变量
%>
<!%
int i;//
改Servlet的成员变量
%>
三. 动作元素
<jsp:forward>//转发
在开发jsp的过程中,通常将jsp放到WEB-INF目录下,目的是为了防止用户直接访问这些jsp文件。
在webRoot下面有一个入口界面它主要转发,
<jsp:forward file = "/WEB-INF/xx.jsp"></jsp:forward>
<jsp:include file = ""><jsp:include>
动态引入:
<%@ include file = ""%>静态引入
<jsp:include file = ""><jsp:include>动态引入
相同点:就是把一个文件引入到一个另外一个文件
区别:静态引入把两个jsp页面翻译成一个Servlet,所以被引入的文件不要包含<body><html>
动态引入是把两个jsp页面分别翻译,所以被引入的jsp页面包含有<body><html>也不会报错
mvc(m(model模型)、v(view视图)、c(controller控制器))
mvc要求程序员将数据的输入(使用jsp视图)、数据的处理(使用Servlet即controller 调用后台的service类)、数据的显示(使用jsp)分开。
mvc规定了程学员怎么去开发软件(把数据的输入、数据的处理、数据的显示分离)。
web(jsp V/Servlet C)-service(M)开发方式就是mvc模式的一种具体实现。
web(
jsp V/Servlet C
)-service(M)-dao(M)也是mvc模式的一种具体体现。
我的购物车开发流程:
需求:
1.用户可以登录
2.用户可以购买商品
3.用户可以对购物车里的商品进行修改和删除
4.用户可已下订单
5.系统可以发送电子邮件给用户
UML图
登录界面
购物大厅界面:
我的购物车界面:
预览我的订单:
提交订单:
设计数据库和表
1.商品表
create table book(
.......
)
2.用户表
create table users(
.......
)
3.订单表(如何减少冗余)
4.