电子商务大作业
作业要求
制作一个简单的电子商务网站具有以下功能
1 能进行用户注册、登录。用户信息保存在数据库中。
2能对商品信息进行维护增加、删除、修改。商品信息保存在数据库中。
3实现简单的购物车功能能对所选择的商品进行列表显示并对价格进行统计。
纸质报告要求
1 实现过程说明
2数据库设计说明
3运行效果
4主要源代码
- 、创建用户注册、登录。用户信息保存在数据库中
1创建数据库表
在MyS QL中创建一个名为homeworks的数据库并在该数据库中创建一张名为User的表格。字段名数据类型是否主键
2)安装所需的第三方软件包
在testapp/WEB-INF新建lib目录并将以下需要的第三方软件包拷贝到lib目录卜:j stl.j ar>standard.j ar>mysql-connector-j ava-5.0.7-b in.j aro
3)配置JDBC数据源wcb.xml页面类容如下
<?xn) l vcrsion=/ l. 0 z encoding=//ISO-8859-1/z?>
<web-app xmlns= http://java ・ sun. com/xml/ns/javaee zxmlns:xsi二〃http://www. w3. org/2001/XMLSchcma-instancc/zxsi : schemaLocation= http: //java ・ sun. com/xml/ns/javaeehttp://java ・ sun ・ com/xml/ns/javaoc/wob一app 2 5.xsd〃 version二"2. 5">
<!一一Used by the JSTL database actions -->
<context-param>
<param-name>javax ・ servlet ・ jsp ・ jstl ・ sql. dataSource </param-name>
<param-valuc>jdbc:mysql://localhost:3306/homoworks?uscr二root&password=root, com. mysq1. jdbc ・ D river</param-value>
</contcxt-param>
<description>
Servlet and JSP Examples.
</description>
<display-name>Servlet and JSP Examples</display-name>
<servlet>
<servlet-name>Test</servlet-name>
<display-name>Test</display-name>
<description>A test Servlet</description>
<servlet-class>test ・ ServletTest </servlet-class>
</servlet>
<servlet-mapping>
〈servlet - n?ime>Tes t〈 /servlet-name〉
<url-pattern>/Test</url-pattern>
</servlet-mapping>
</web-app>
4)建立和信息录入相关的JSP页面
Index.jsp网站首页
<html>
<head>
<titlc>Scarch in User Databasc</titlc>
</head>
<body bgco 1 or=wh i t e/?>
Welcome to my website home page
<P>if you are a member please click login
<P>if not then click on the registration
<P>
<br/>
<a hrcf= /register. jsp">
<input type 二"button" value=/zregi strati on" />
</a>
<a href=//login. jsp">
<input typo二"button" valuc= login" />
</a>
</body>
</html>register.jsp:用于注册用户信息的录入。
<%@ page contentType二"text/html"%>
<%@ taglib prefix二"c" uri=z http://java. sun. com/jsp/jstl/core"%><%@ tagl ib prefix二"fn" uri= zhttp://java. sun. com/jsp/jstl/functions"%><html>
<head>
<title>User Entry Form</title>
</head>
<body>
Registered User Interface
<P>
Please enter information about a user below:
<form action=//validate. jsp" method二"post"〉
<table>
<tr>
<td>Login Name:</td>
<td><input type二"text" name= z 1 oginNamevalue=z/$ {fn: escapeXml (param, logi nName) }">
</td>
<td>${fn:escapeXml (loginNameError) }</td></tr>
<tr>
<td>Password:</td>
<td><input type二"text" name=z passwordz value=//$ (fn: escapeXml (param, password) }"></td><td>${fn:escapeXml (passwordError) }</td>
</tr>
<tr>
<td>First Name:</td>
<td><input type="text" name=//firstNamez value二"$ {fn:escapeXml (param, firstName) }"></td><td>${fn:escapeXml (f irstNameError) }</td>
</tr>
<tr>
<td>Last Name:</td>
<td>〈in put type 二"text" n ame=z last Namez/value=z $ (fn: escapeXml (param, last Name) } z></td><td>${fn:escapeXml (lastNamcError) }</td>
</tr>
<tr>
<td>Emai1 Address:</td>
<td><input type二"text" namc二"emailAddress" value=/ $ {fn:escapeXml (param, cmailAddrcss) }"></td>
<td>${fn:escapeXml (cmailAddrcssError) }</td>
<td>(Use format name@company. com) 〈 /td>
</tr>
<tr>
<td colspan=2Xinput typc="submit" value二"Submit"></td>
</tr>
</table>
</form>
</body>
</html>val idate.jsp 用于验证录入的用户信息
程序代码如下
<%@ taglib prefix二"c" uri=/zhttp://java. sun. com/jsp/jstl/core/z%><%@ taglib prefix二"fmt"uri=//http://java. sun. com/jsp/jstl/fmt"%><c:set var二"isValid" value二"tme" />
<c: if test= ${empty param- loginName}zz>
<c: set varvalue二"Login missing" />
<c:set var= isValid / value二"false" />
</c: if>
<c: if test= $ {empty param. password} z>
<c:set var/>
<c:set var=z isValid z value二"faIse" />
</c: if>
<c: if test= ${empty param- firstName}zz>
<c:set var〃 />
<c:set var二"isValid" value二"false" />
</c: if>
<c: if test二〃 $ {empty param・ 1 astName} >
<c:set var二〃 />
<c:set var="isVaJicT value二"false" />
</c: if>
<c: if test=/ $ (empty param, emai 1 Address}
<c: set var= emai 1 AddressError z scope二"request" value=/zEmai 1 Address missing" /><c:set var二"isValid" value二"false" />
</c: if><c:choose>
<c:when test二"$ {isValid}">
<jsp:forward page二"store, jsp" />
</c:whon>
<c:otherwisc>
<jsp:forward page二"register ・ jsp" />
〈 /c:otherwise〉
</c:choose>store.jsp用于将录入的信息保存到数据库中。
程序代码如下
<%@ taglib prefix=〃c〃 uri二〃http://java ・ sun. com/jsp/jstl/core〃 %>
<%@taglib prefix=*sql/ uri二"http://java. sun. com/jsp/jstl/sql"%><%@taglib prefix二"fmt"uri=zhttp://java. sun. com/jsp/jstl/fmt/z%><%—
See if the user is already defined. If not, insert theinfo, else update it.
—%>
<sql: query var= /user >
SELECT * FROM User
WHERE LoginName = ?
<sql:param value二〃 $ {param, loginName}" /></sql:query>
〈--
Deal with the date values: parse the register date and create a Date object from it, and createa new variable to hold the current date. - -〉
<fmt :parseDate value=/z$ {param. registerDate) z var=/ parsedRegisterDate/z pattern二〃yyyy_MM-dd〃/>
<jsp:useBean id二"now" class二〃jnva. util. Date" />
<c:choose>
<c:when test二〃 ${user- rowCount == 0}">
<sql:update>
INSERT INTO User
(LoginName, Password, FirstName, LastNamc, EmailAddress)
VALUES
(?, ?, ?, ?, value二〃 $ {param・ loginName}" />
?) value==
<sql:param z$ {param. firstName}" /> value二〃
<sql:param $ {param. lastN且me} 〃 />value.
<sql:param emailAddress} z />
<sql:param
<sql:param </sql:update>
</c:when>
<c:otherwise>
<sql:update>
UPDATE User
SET Password = ?,
FirstName = ?,
LastNamc = ?,
EmailAddress = ?,
WHERE
LoginName 二? valuc=
<sql:param 二〃 $ {param. firstName}" />
<sql:param valuc=/>
<sql:param value= $ {param. emailAddress}z />
<sql:param value= z$ {param. loginName} z />
<sql:param
</sql:update>
</c:otherwise>
</c:choose>
<%―Get the new or updated data from the database --%><sql:query var= newUser!nfo z scope二〃session〉
SELECT * FROM User
WHERE LoginName 二?
<sql: param value=/ $ {param. loginName}/>
</sql:query>
<%-一Redirect to the confirmation page --%><c:redirect url= confirmation. jspz />confirmationjsp:用于显示己保存到数据的信息。程序代码如下
<%@ page contentType二"text/html"%>
<%@ taglib prefix二"c" uri=z http://java. sun. com/jsp/jstl/core"%>
<%@ taglib prefix二"fn" uri=z http://java. sun. com/jsp/jstl/functions"%><html>
<head>
<title>User Info Stored</title>
</head>
<body bgcolor= /whitez >
<form action二"login, jsp" method二"get">
This is the information stored in the homeworks database:
<table>
<c: forEach i tcms=/z$ {newUserlnfo. rows} " var= row z>
<c:forEach items二"$ {row} 〃 var二"column"〉
<tr>
<td align二right>
<b>${fn:escapcXml (column, key) } :</b>
</td>
<td>
${fn:escapeXml (column, value) }
</td>
</tr>
</c:forEach>
</c:forEach〉
<td><input type二"submit" value二"GoBack">〈 /td>
</table>
</body>
</html>
二.用户登陆lo gin.j sp注册用户登陆界面
<%@page contentType=, ,text/htmr,%>
<%@taglib prcfix=HcM uri=,,http://java.sun.com/jsp/jstl/coren%>
<%@taglib prefix二"fn”uri="http://java.sun.com/jsp/jstl/functions"%>
<h tm l>
<head>
<title>Search in User Database</title>
</head>
<body bgcolor=HwhitcH>
<tab le>
<tr>
<td>login Name:</td>
<td><input type=</td>
</tr>
易探云怎么样?易探云香港云服务器比较有优势,他家香港BGP+CN2口碑不错,速度也很稳定。尤其是今年他们动作很大,推出的香港云服务器有4个可用区价格低至18元起,试用过一个月的用户基本会续费,如果年付的话还可以享受8.5折或秒杀价格。今天,云服务器网(yuntue.com)小编推荐一下易探云国内云服务器优惠活动,北京和深圳这二个机房的云服务器2核2G5M带宽低至330.66元/年,还有高配云服务器...
最近我们是不是在讨论较多的是关于K12教育的问题,培训机构由于资本的介入确实让家长更为焦虑,对于这样的整改我们还是很支持的。实际上,在云服务器市场中,我们也看到内卷和资本的力量,各大云服务商竞争也是相当激烈,更不用说个人和小公司服务商日子确实不好过。今天有看到UCloud发布的夏季促销活动,直接提前和双十一保价挂钩。这就是说,人家直接在暑假的时候就上线双十一的活动。早年的双十一活动会提前一周到十天...
前几天看到网友反馈到PacificRack商家关于处理问题的工单速度慢,于是也有后台提交个工单问问,没有得到答复导致工单自动停止,不清楚商家最近在调整什么。而且看到有网友反馈到,PacificRack 商家的之前年付低价套餐全部下架,而且如果到期续费的话账单中的产品价格会涨价不少。所以,如果我们有需要续费产品的话,谨慎选择。1、特价产品下架我们看到他们的所有原来发布的特价方案均已下架。如果我们已有...