web实习报告

来源:m.fanwen118.com时间:2021.10.12

Hebei Normal University of Science & Technology

信息网络系统开发课程实习

2012-2013第1

web实习报告

学期

题 目:潮流鞋城

院(系、部):工商管理学院信息管理教学部

学 生 姓 名:王海超

指 导 教 师:刘淑霞

20xx年12月2 8日

web实习报告

web实习报告

目 录

摘 要 ..................................................................... 3

Abstract .................................................................. 3

1 鞋城的登录、注册与注销 ................................................. 4

1.1 登录 ............................................................................................................................ 4

1.2 注册 ............................................................................................................................ 7

1.3 注销 ........................................................................................ 错误!未定义书签。0 2链接页面 .............................................. 错误!未定义书签。2

2.1 店铺交流区 ............................................................................ 错误!未定义书签。2

2.2购物区 ..................................................................................... 错误!未定义书签。2

2.3 淘宝网 .................................................................................... 错误!未定义书签。4

2.4凡客 ......................................................................................... 错误!未定义书签。4

3店铺交流区-留言板 ..................................... 错误!未定义书签。5

4 购物区-购物车 .......................................................... 23

结论 ..................................................................... 39

致谢 ..................................................................... 40

参考文献 ................................................................. 41

2

摘要:

随着科学技术的发展和进步人们的生活水平也在不断的提高。人们都说这是一个网络的时代,因此Internet的使用变得越来越广泛和普及。本学期学习JAVA以及JAVAWEB让我对系统开发这个方向有了自己理解和认识。潮流鞋城网站主要运用到了JSP、HTML等。开发工具运用的是Dreamweaver和MyEclipse。大家可以在店铺交流区给店主留言,方便交流。可以在购物区自由选择所需物品,也可链接到淘宝、凡客等大型购物网站。

Abstract:

With the development of science and technology and progress  people's standard of living is also in constant increase. People say it is a network of times, so the use of the Internet is becoming more and more widely and popularization. The term learning JAVA and JAVAWEB let me on the system

development in this direction have their understanding and knowledge. Tide shoes city website mainly USES the JSP, HTML, etc. Development tool is the use of Dreamweaver and MyEclipse. You can shop in communication area to the shopkeeper message, convenient communication. In the shopping area can be free to select the desired goods, also can link to clean out treasure, every guest and other large shopping website.

3

1.鞋城的登录、注册与注销

1.1登录

在各系统中几乎都会包括用户登录验证及注销的功能,此功能完全可以使用

session实现。具体思路是:当用户登陆成功后,设置一个session范围的属性,然后在其他需要验证的页面中判断是否存在此session范围的属性,如果存在,则表示已经是正常登录,用户登录后可以进行注销的操作。

denglu.jsp:完成登录表单的显示,同时向叶面提交数据,已完成登录的验证。如果登录成功(用户名和密码固定:whc/123456),则保存属性;如果登录失败,则显示登录失败的信息。

web实习报告

<%@ page language="java" contentType="text/html" pageEncoding="utf-8"%>

4

<%

String path = request.getContextPath();

String

()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>

<head>

<base href="<%=basePath%>">

<title>My JSP 'denglu.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

</head>

<body><font face="隶书" size="7"><strong><font color="#ff0000">

欢迎进入潮流鞋城!</font></strong></font>

<marquee

style="font-family: 华文行楷; color: #FF00FF; text-decoration: basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPortblink; font-size: lem; font-style: oblique">欢迎光临!</marquee>

<hr><font size="5"><font color="#ff0000">

5

还没有注册?点击</font>

<font color="#ff0080"><a href="zhuce.jsp">这里</a></font></font> </body><h2>

<body background="picture/Wi.jpg">

<form action="denglu.jsp" method="post"><font color="#ff0000">

用户名: <input type="text" name="uname"><br> 密&nbsp;码 :&nbsp;</font>&nbsp;&nbsp; &nbsp; <input

type="text" name="upass"><br> <input type="submit"

value="登录"> <input type="reset" value="重置">

</form>

<%

String name=request.getParameter("uname");

String password=request.getParameter("upass");

if(!(name==null||"".equals(name)

||password==null||"".equals(password))){

if("whc".equals(name)&&"123456".equals(password)){

response.setHeader("refresh", "2;URL=1.jsp");

session.setAttribute("userid", name);

%>

<h3>用户登录成功,两秒后跳转到欢迎页!</h3>

<h3>

如果没有跳转,请按<a href="1.jsp">这里</a>

</h3>

<%

}else{

%>

<h3>错误的用户名和密码!</h3>

6

<%

}

}

%>

</body>

</html>

1.2 注册

zhuce.jsp:

web实习报告

代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%

String path = request.getContextPath(); String basePath = request.getScheme() + "://"

7

+ request.getServerName() + ":" + request.getServerPort() + path + "/";

%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>

<head>

<base href="<%=basePath%>">

<title>My JSP 'zhuce.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css"> -->

</head>

<form action="login.jsp"method="post">

<body background="picture/jgfg.jpg">

<table border="1" width="362" height="280">

<tbody>

<tr>

<td><font color="#0080c0"><b><font face="kaiti">名:</font></b></font></td>

<td>&nbsp;<input type="text" name="name2">

8 姓

</td> </tr> <tr> <td><font color="#0080c0"><b><font face="kaiti">密码:</font></b></font></td>

<td>&nbsp;<input type="password" name="text2"> </td> </tr> <tr> <td><font color="#0080c0"><b><font face="kaiti">邮箱:</font></b></font><font color="#0080c0"></font></td>

<td>&nbsp;<input type="text" name="name3"> </td> </tr> <tr> <td>性别:</td> <td>&nbsp;<input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女</td> </tr> <tr> </tr> <tr> <td><input type="submit" value="注册"></td> <td><input type="reset" value="重置"></td>

9

</tr> </tbody> </table>

</body>

</html>

1.3 注销

zhuxiao.jsp:此功能完成登录的注销,注销后,页面要跳转回denglu.jsp页面,等待用户继续登录。

web实习报告

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

10

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort

()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>My JSP 'zhuxiao.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head>

<body background="picture/b1.jpg">

<h2>您已成功退出鞋城,期待您的下次光临!!!</h2>

</body>

</html>

11

2.链接页面

2.1 店铺交流区

2.2 购物区

2.3 淘宝网

2.4凡客

web实习报告

代码:<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort

()+path+"/";

12

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>My JSP '1.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<body>&nbsp; <br><body background="picture/b.jpg"><div <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> align="center">&nbsp;<font size="6" face="隶书">友情链接<br><br><font size="7"><a href="jiaoliu.jsp">店铺交流区</a>

</font></font><font size="7"><br></font><font size="7" face="隶书">&nbsp;&nbsp; </font><font size="7" face="隶书"><br><a href="welcome.jsp">购物区</a></font></div>

<div align="center">&nbsp;&nbsp; <br><br><br><font size="6" face="隶书"><font size="7"><a href="taobao.jsp">淘宝网</a>

<div align="center">&nbsp; <br><font size="6" face="隶书"><font size="7"><a

13

href="fanke.jsp">凡客</a> </body>

</html>

淘宝网:

web实习报告

凡客:

14

3.店铺交流区-留言板

1.创建工具JavaBean——MyTools。

package com.yxq.toolbean;

import java.io.UnsupportedEncodingException;

import java.text.SimpleDateFormat;

import java.util.Date;

public class MyTools {

public static String changeTime(Date date){ } public static int strToint(String str){ //将String型数据转换为SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return format.format(date); int型数据的方法

15

web实习报告

} } if(str==null||str.equals("")) str="0"; int i=0; try{ i=Integer.parseInt(str); }catch(NumberFormatException e){ } return i; i=0; e.printStackTrace(); public static String toChinese(String str){ } if(str==null) str=""; //进行转码操作的方法 try { str=new String(str.getBytes("iso-8859-1"),"utf-8"); } catch (UnsupportedEncodingException e) { } return str; str=""; e.printStackTrace();

16

2.创建值JavaBean——WordSingle。

package com.yxq.valuebean;

public class WordSingle {

private String author;

private String title;

private String content;

private String time;

public String getAuthor() {

return author;

}

public void setAuthor(String author) {

this.author = author;

}

public String getContent() {

return content;

}

public void setContent(String content) {

this.content = content;

}

public String getTime() {

return time;

}

public void setTime(String time) {

this.time = time;

}

public String getTitle() {

return title;

}

public void setTitle(String title) {

this.title = title;

}

}

3.创建用户填写留言信息的页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%

17

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort

()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>My JSP 'liuyan.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> -->

</head>

<body >

<br><body background="picture/bbbb.jpg">

18

<form action="addWord">

留言者 :&nbsp;

<input type="text" name="author" size="25"><br> 留言标题:

<input type="text" name="title" size="31"><br> 留言内容:

<textarea name="content"row="7"cols="30"></textarea> <p>

<input type="submit"value="提交">

<input type="reset" value="重置">

<a href="show.jsp">查看留言</a>

</p>

</form>

</body>

web实习报告

4.创建处理用户请求的Servlet——WordServlet。

19

package com.yxq.valuebean;

public class WordSingle {

private String author;

private String title;

private String content;

private String time;

public String getAuthor() {

return author;

}

public void setAuthor(String author) {

this.author = author;

}

public String getContent() {

return content;

}

public void setContent(String content) {

this.content = content;

}

public String getTime() {

return time;

}

public void setTime(String time) {

this.time = time;

}

public String getTitle() {

return title;

}

public void setTitle(String title) {

this.title = title;

}

}

5.创建显示留言信息的show1.jsp页面。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="java.util.ArrayList"%>

<%@ page import="com.yxq.valuebean.WordSingle" %>

<%

20

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort

()+path+"/";

%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>My JSP 'show.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> -->

</head>

<body>

<%ArrayList wordlist=(ArrayList)application.getAttribute("wordlist"); if(wordlist==null||wordlist.size()==0)

out.print("没有留言可以显示!");

21

else{

for(int i=wordlist.size()-1;i>=0;i--){

WordSingle single=(WordSingle)wordlist.get(i); %> 留言者:<%=single.getAuthor() %>

<p>

留言时间:<%=single.getTime() %>

<p>

留言标题:<%=single.getTitle() %>

<p>

留言内容:<textarea readonly="readonly"><%=single.getContent() %></textarea> <a href="jiaoliu.jsp">我要留言</a>

<hr width="100%">

<%

}}

%>

</body>

</html>

22 rows="7"cols="30"

6.在web.xml文件中配置Servlet。

<servlet>

<description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>WordServlet</servlet-name>

<servlet-class>com.yxq.servlet.WordServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>WordServlet</servlet-name>

<url-pattern>/addWord</url-pattern>

</servlet-mapping>

4.购物区-购物车

1.创建封装商品信息的值JavaBean——GoodsSingle。

package com.yxq.valuebean;

23

web实习报告

public class GoodsSingle {

private String name;

private float price;

private int num;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getNum() {

return num;

}

public void setNum(int num) {

this.num = num;

}

public float getPrice() {

return price;

}

public void setPrice(float price) {

this.price = price;

}

}

//保存商品名称 //保存商品价格 //保存商品购买数量

2.创建工具JavaBean——MyTools。

package com.yxq.toolbean;

import java.io.UnsupportedEncodingException;

import java.text.SimpleDateFormat;

import java.util.Date;

public class MyTools {

public static String changeTime(Date date){

SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return format.format(date);

}

public static int strToint(String str){ //将String型数据转换为int型数据的方法

if(str==null||str.equals(""))

str="0";

int i=0;

try{

24

i=Integer.parseInt(str);

}catch(NumberFormatException e){

i=0;

e.printStackTrace();

}

return i;

}

public static String toChinese(String str){ //进行转码操作的方法 if(str==null)

str="";

try {

str=new String(str.getBytes("iso-8859-1"),"utf-8");

} catch (UnsupportedEncodingException e) {

str="";

e.printStackTrace();

}

return str;

}

}

3.创建实现购物车的JavaBean——ShopCar。

package com.yxq.toolbean;

import java.util.ArrayList;

import com.yxq.valuebean.GoodsSingle;

public class ShopCar {

private ArrayList buylist=new ArrayList();

//用来存储购买的商品

public void setBuylist(ArrayList buylist) {

this.buylist = buylist;

}

/**

* @功能 向购物车中添加商品

* @参数 single为GoodsSingle类对象,封装了要添加的商品信息

*/

public void addItem(GoodsSingle single){

if(single!=null){

if(buylist.size()==0){

如果buylist中不存在任何商品

GoodsSingle temp=new GoodsSingle();

temp.setName(single.getName());

temp.setPrice(single.getPrice());

temp.setNum(single.getNum());

buylist.add(temp);

25 ////

存储商品

}

else{ //如果buylist中存在商品

int i=0;

for(;i<buylist.size();i++){ //遍历buylist集合对象,判断该集合中是否已经存在当前要添加的商品

GoodsSingle temp=(GoodsSingle)buylist.get(i); //获取buylist集合中当前元素

if(temp.getName().equals(single.getName())){ //判断从buylist集合中获取的当前商品的名称是否与要添加的商品的名称相同

//如果相同,说明已经购买了该商品,只需要将商品的购买数量加1

temp.setNum(temp.getNum()+1); //将商品购买数量加1

break; //结束for循环

}

}

if(i>=buylist.size()){ //说明buylist中不存在要添加的商品

GoodsSingle temp=new GoodsSingle();

temp.setName(single.getName());

temp.setPrice(single.getPrice());

temp.setNum(single.getNum());

buylist.add(temp); //存储商品

}

}

}

}

/**

* @功能 从购物车中移除指定名称的商品

* @参数 name表示商品名称

*/

public void removeItem(String name){

for(int i=0;i<buylist.size();i++){ //遍历buylist集合,查找指定名称的商品

GoodsSingle temp=(GoodsSingle)buylist.get(i); //获取集合中当前位置的商品

if(temp.getName().equals(name)){ //如果商品的名称为name参数指定的名称

if(temp.getNum()>1){ //如果商品的购买数量大于1

26

temp.setNum(temp.getNum()-1); 量减1

break; }

else if(temp.getNum()==1){ 购买数量为1

buylist.remove(i); 集合对象中移除该商品 } } } } }

index.jsp页面的具体代码如下:

//则将购买数

//结束for循环

//如果商品的//从buylist

4.创建实例的首页面index.jsp,在该页面中直接将请求转发给了Servlet,

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>

<%@ page import="java.util.ArrayList" %>

<%@ page import="com.yxq.valuebean.GoodsSingle" %> <%

String path = request.getContextPath(); String

basePath

=

request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head>

<base href="<%=basePath%>">

27

<title>My JSP 'index.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --></head>

<% request.setCharacterEncoding("GB2312");

String uname = request.getParameter("username"); session.setAttribute("username",uname); %><body>

<%!

static ArrayList goodslist=new ArrayList(); static{ //用来存储商品 //静态代码块 String[] names={"2012韩版男士板鞋","冬季男板鞋","时尚休闲男靴","加绒

//商品名称

//商品价格 //初始化商品信息列表 加厚高帮男鞋"};

float[] prices={55,65,75,85}; for(int i=0;i<4;i++){ //定义一个GoodsSingle类对象来封装商品信息 GoodsSingle single=new GoodsSingle();

28

single.setName(names[i]); single.setPrice(prices[i]); single.setNum(1);

//封装商品名称信息 //封装商品价格信息 //封装购买数量信息 //保存商品到goodslist集

goodslist.add(i,single);

合对象中 %> <% 中

response.sendRedirect("show1.jsp");

//跳转到show.jsp页

session.setAttribute("goodslist",goodslist);

//保存商品列表到session

}

}

面显示商品

%><a href="welcome.jsp">返回</a> </body> </html>

5.创建处理用户访问首页面请求的Servlet——IndexServlet。

package com.yxq.servlet;

import java.io.IOException; import java.util.ArrayList;

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 com.yxq.valuebean.GoodsSingle;

public class IndexServlet extends HttpServlet {

private static ArrayList goodslist=new ArrayList();

29

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doPost(request,response);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

HttpSession session=request.getSession();

session.setAttribute("goodslist",goodslist);

response.sendRedirect("show.jsp");

}

static{ //静态代码块

String[] names={"热血类动漫","科幻类动漫","运动类动漫","推理类动漫","冒险类动漫"};

float[] prices={10.0f,15.0f,25.0f,23.0f,18.0f};

for(int i=0;i<5;i++){

GoodsSingle single=new GoodsSingle();

single.setName(names[i]);

single.setPrice(prices[i]);

single.setNum(1);

goodslist.add(single);

}

}

}

6.在web.xml文件中配置IndexServlet。

<servlet>

<description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>IndexServlet</servlet-name>

<servlet-class>com.yxq.servlet.IndexServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>IndexServlet</servlet-name>

<url-pattern>/index</url-pattern>

</servlet-mapping>

7.创建show1.jsp页面,该页面用来显示初始化的商品信息列表。

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.util.ArrayList" %>

<%@ page import="com.yxq.valuebean.GoodsSingle" %>

30

<br><table width="200" border="1">

<tbody><tr><a href="welcome.jsp">点此返回宝贝界面</a>

<br><body background="picture/bbb.jpg">

<td><jsp:include page="timechange.jsp"/></td>

<td><jsp:include page="message.jsp"/></td></tr>

<tr>

<td><jsp:include page="applicationjs.jsp"/></td>

</tr>

</tbody></table><br><br>

<%String name=(String)session.getAttribute("username");

out.println("<br>"+"欢迎您"+name+"来到这里,祝您购物愉快!"+"<br>");%>

<% ArrayList goodslist=(ArrayList)session.getAttribute("goodslist"); %> <table border="1" width="450" rules="none" cellspacing="0" cellpadding="0">

<tr height="50"><td colspan="3" align="center">提供商品如下</td></tr> <tr align="center" height="30" bgcolor="lightgrey"> <td>名称</td> <td>价格(元)</td> <td>购买</td> </tr> <% if(goodslist==null||goodslist.size()==0){ %>

31

<tr height="100"><td colspan="3" align="center">没有商品可显示!</td></tr> <% %> <tr height="50" align="center"> <td><%=single.getName()%></td> <td><%=single.getPrice()%></td> <td><a href="docar.jsp?action=buy&id=<%=i%>">购买</a></td> } else{ for(int i=0;i<goodslist.size();i++){ GoodsSingle single=(GoodsSingle)goodslist.get(i); </tr> <% %> <tr height="50"> } }

<td align="center" colspan="3"><a href="shopcar.jsp">查看购物车</a></td> </tr>

</table>

32

8.创建接受并处理“购买”。“移除”、和“清空购物车”请求的Servlet——BuyServlet。

package com.yxq.servlet;

import java.io.IOException;

import java.util.ArrayList;

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 com.yxq.toolbean.MyTools;

import com.yxq.toolbean.ShopCar;

import com.yxq.valuebean.GoodsSingle;

public class BuyServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doPost(request,response);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String action=request.getParameter("action"); //获取action参数值 if(action==null)

action="";

33

web实习报告

if(action.equals("buy")) //触发了“购买”请求

buy(request,response); //调用buy()方法实现商品的购买

if(action.equals("remove")) //触发了“移除”请求

remove(request,response); //调用remove()方法实现商品的移除

if(action.equals("clear")) //触发了“清空购物车”请求 clear(request,response); //调用clear()方法实现购物车的清空

}

//实现购买商品的方法

protected void buy(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

HttpSession session=request.getSession();

String strId=request.getParameter("id"); //获取触发“购买”请求时传递的id参数,该参数存储的是商品在goodslist对象中存储的位置

int id=MyTools.strToint(strId);

ArrayList goodslist=(ArrayList)session.getAttribute("goodslist"); GoodsSingle single=(GoodsSingle)goodslist.get(id);

ArrayList buylist=(ArrayList)session.getAttribute("buylist"); //从session范围内获取存储了用户已购买商品的集合对象

if(buylist==null)

buylist=new ArrayList();

ShopCar myCar=new ShopCar();

myCar.setBuylist(buylist); //将buylist对象赋值给ShopCar类实例中的属性

myCar.addItem(single); //调用ShopCar类中addItem()方法实现商品添加操作

session.setAttribute("buylist",buylist);

response.sendRedirect("show.jsp"); //将请求重定向到show.jsp页面

}

//实现移除商品的方法

protected void remove(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

HttpSession session=request.getSession();

ArrayList buylist=(ArrayList)session.getAttribute("buylist");

String name=request.getParameter("name");

ShopCar myCar=new ShopCar();

34

myCar.setBuylist(buylist); //将buylist对象赋值给ShopCar类实例中的属性

myCar.removeItem(MyTools.toChinese(name)); //调用ShopCar类中removeItem ()方法实现商品移除操作

response.sendRedirect("shopcar.jsp");

}

//实现清空购物车的方法

protected void clear(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

HttpSession session=request.getSession();

ArrayList buylist=(ArrayList)session.getAttribute("buylist"); //从session范围内获取存储了用户已购买商品的集合对象

buylist.clear(); //清空buylist集合对象,实现购物车清空的操作

response.sendRedirect("shopcar.jsp");

}

}

9.在web.xml文件中配置BuyServlet,其配置代码如下:

<servlet>

<description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>BuyServlet</servlet-name>

<servlet-class>com.yxq.servlet.BuyServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>BuyServlet</servlet-name>

<url-pattern>/doCar</url-pattern>

</servlet-mapping>

10.创建shopcar.jsp页面,该页面用来显示用户购买的商品。

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.util.*" %>

<%@ page import="com.yxq.valuebean.GoodsSingle" %>

<%if(session.getAttribute("username")==null)

{String name=(String)session.getAttribute("username");

35

out.println(name+"购买的商品如下");}

%>

<!-- 通过动作标识,获取ShopCar类实例 -->

<jsp:useBean id="myCar" class="com.yxq.toolbean.ShopCar" scope="session"/> <%

ArrayList buylist=myCar.getBuylist(); //获取实例中用来存储购买的商品的集合

%>

<table border="1" width="450" rules="none" cellspacing="0" cellpadding="0">

<tr height="50"><td colspan="5" align="center">购买的商品如下</td></tr> <tr align="center" height="30" bgcolor="lightgrey"> <td width="25%">名称</td> <td>价格(元)</td> <td>数量</td> <td>总价(元)</td> <td>移除(-1/次)</td> float total=0; //用来存储应付金额 </tr> <% if(buylist==null||buylist.size()==0){ %> <tr height="100"><td colspan="5" align="center">您的购物车为空!</td></tr> <% } else{

36

for(int i=0;i<buylist.size();i++){ GoodsSingle single=(GoodsSingle)buylist.get(i); String name=single.getName(); //获取商品名称

float price=single.getPrice(); //获取商品价格

int num=single.getNum(); float money=((int)((price*num+0.05f)*10))/10f; //计 //获取购买数量

算当前商品总价,并进行四舍五入

%> <tr align="center" height="50"> <td><%=name%></td> <td><%=price%></td> <td><%=num%></td> <td><%=money%></td> <td> total+=money; //计算应付金

<a href="docar.jsp?action=remove&name=<%=single.getName() %>">移除</a> </td>

</tr> <% }

37

%> } <tr height="50" align="center"><td colspan="5">应付金额:<%=total%></td></tr>

<tr height="50" align="center"> <td colspan="2"><a href="welcome.jsp">继续购物</a></td>

<td colspan="3"><a href="docar.jsp?action=clear">清空购物车</a></td>

web实习报告

38

结论:

时间飞快,几个月的毕业设计即将结束了。这几个月内,在刘书霞老师的指导下进行的毕业设计让我受益匪浅。

首先,我的自学能力得到了加强。在实习的前几天主要进行的是与java有关的知识讲解及其他预备知识的普及。在这之前由于种种原因我没有系统的学过java,所以对于java我几乎一无所知。尽管老师讲的比较快。但我还是竭尽所能的去跟上老师的节奏。在这个过程中老师曾给我打过一剂预防针---对语法的理解无需太清晰,会用就可以。所以我只需了解大概框架及原理即可。这就教会了我自学的一种方法——可以在第一遍时不求甚解,先了解知识框架,之后再在使用的过程中不断的加深对知识的理解,从而较快的学会知识并利用之用于实践。

其次我的实际的操作能力得到了加强。知识讲解告一段落之后我们便进入到了紧张而又短暂的项目中。但不得不说刚开始代码书写总是出错。由于对原理理解的不够透彻,语言使用缺乏足够经验所以进度极慢。在经过了多次讨论以及与老师的交流我们渐渐的对项目有了一个较为合理的理解,所以再次投入的过程就比较顺利。

最后是团队协作能力的提升。在整个项目完成过程中团队协作有着不可替代不可或缺的作用。在这一过程中我们当中谁若遇到问题其他成员还可以帮助解决从而加快了项目完成速度提高了相率。

这次实习拉近了我与社会的距离,也让自己在实习工作中开拓了视野,增长了才干。社会和大学一样也是一个学习和受教育的地方,但无论是在哪片广阔的天地里,我为将来更加激烈的竞争打下了更为坚实的基础。但仅仅靠这几个月的学习还是远远不够的,还不足以应对激烈的竞争。在以后的学习中,我还得更加努力的学习,培养自己的能力,进一步完善自己!

39

致谢:

实习报告是在刘老师的悉心指导下完成的。在实习这几个月时间里,刘老师无论是在指导报告写作上还是在提供文献参考上都给予了我很大的帮助。老师严谨的治学风格,平易近人的态度,缜密的学术思维都对我以后的求学和工作都有深刻的影响。 感谢老师在我的报告撰写过程给予我的鼓励和帮助,无论是从实习报告的选题,还是研究方法,乃至报告的写作都给予了我极大的帮助和关键的指导。同时也感谢我的同学对我的实习报告提出的建议。此外还要表示对参考文献作者的感谢。在此,谨向给予我关怀和鼓励的各位同学和老师致以深深的谢意。

40

参考文献:

[1] 沈嫒芬,林万莲主编.信息服务及其利用.武汉:华中师范大学出版社,1996.7

[2] 张成昱,来强,王平,赵仪,孔黎.分布式网络信息资源重构模式及系统实现.清华大学学报,

2003.2

[3] 薛华,薛福任,工作流技术及其在网上审批中的应用,计算机工程与应用,2004.22

[4] 胡杰,党延忠,基于web的工作流技术在文档管理系统中的应用,计算机工程与应用,2003. 12

[5] 皮晓青,唐守渊,冯驰,梁伟,王润,科技资源开放与共享策略[M]重庆:西南师范人学出版社

2009.2

[6] 严蔚敏,吴伟民主编 . 数据结构 清华大学出版社 2006.5

[7] (美) 斯贝尔(Spell,B.) 著;董梁,刘艳 译 java高级编程(第二版)清华大学出版社 2006.11

[8] 刘俊亮 王清华 JSP Web开发学习实录 清华大学出版社 2011.7(1)

[9] 薛华成.管理信息系统(第三版)北京:清华大学出版社,1999,25-27.

[10] 邝孔武,王晓敏.信息系统分析与设计(第一版)[M].北京:清华大学出版社,1999.

[11] 刘京华.Java Web整合开发王者归来[M]. 北京清华大学出版社2010

[12]刘春晓,孟祥福,李昕.基于Jboss的数据库连接池研究与实现[J]. 微处理机: 2008

[13] Craig Walls, Ryan BreidenBach. Spring In Action[M]. Manning Publications. 2006

[14]张孝祥. 深入Java Web开发内幕——核心基础[M]. 北京电子工业出版社

41

更多类似范文
┣ Web前端技术实训任务书 7800字
┣ WEB前端面笔试题总结 11700字
┣ WEB前端开发浅析 3000字
┣ WEB应用系统开发课程专业实习报告模板 14600字
┣ 更多web前端实习报告
┗ 搜索类似范文