HUNAN
CITY
UNIVERSITY
WEB 应用与开发课程设计
报 告
设计题目: JSP+SQL 电脑销售网站
专 业: 信息管理与信息系统
学生姓名:
XXXXXXXX
班级学号:
X
分组成员: X
指导教师:
X
2012 年 06 月 8 日
《WEB 应用与开发》课程设计报告
X
一、设计时间
2012 年 6 月 04 日-----6 月 08 日
二、设计地点
信息科学与工程学院机房(新校区 510 机房)
三、设计目的
1,巩固学习 JSP 基础知识。
2,灵活运用 JIP、JavaBean 和 Servlet 等技术,实现网上购物系统的功能。
3,培养查阅资料,独立思考问题的能力。
四、设计小组成员
X
五、指导老师
X
六、设计课题
JSP+SQL 电脑销售网站
七、基本思路及关键问题的解决方法
本设计采用 JSP+JavaBean 技术进行设计。设计中数据库操作的 JavaBean 是
一个公共类,通过其方法的实现,使得 JSP 页面和 SQL2005 数据库进行连接。
JSP 页面则实现 web 网页所需要的所有功能,如后台登陆,商品管理,会员管理
等等。
在进行实验设计时,我们遇到了许多难题,如 JSP 对数据库的调用,各 JSP
文件间的调用等。通过查询书本和网页,难题最终才得以解决。
八、系统机构功能图
电脑销售系统后台
后
台
登
陆
商
品
管
理
会
员
管
理
退
出
后
台
2
九、调试过程中出现的问题及相应解决办法
在进行调试时,我们遇到的主要问题就是 JavaBean 对数据库的调用,通过
查书和上网,我们才得以解决这问题:
先在数据库 SQL2005 中建立数据库,创建 sa 登陆名,调好数据库的外围配
置。
然后,在 tomcat 文件下的 lib 文件中添加 JDBC-ODBC 驱动。
最后,在 JavaBean 中编写连接程序:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String
url="jdbc:sqlserver://localhost;DatabaseName=db_shop";
String
user="sa";
String
password="123";
Connection
conn=
DriverManager.getConnection(url,user,password);
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABL
E);
十、课程设计心得体会
课程设计,我明白了要想学习好一门课程,一定要理论与实践相结合,Web
技术更是如此。要在不同的浏览器上做调试试验,解决兼容性问题。在很多的时
候总是感觉捉襟见肘。这种感觉总有一种让人想重新来过的冲动。Web 技术是计
算机方面的重点实践应用课程,书到用时方恨晚。以后的这种体会会更加明显,
所以课程设计在我看来不仅仅是一个知识的巩固,还是一个让人醒悟的良药。
在整个设计过程中,我们始终保持着严谨、认真的治学态度。从设计最初的
构思到最后的实现都花费了大量的心血,没有半点马虎。我们没能做到面面俱到,
但一定要做到步步扎实,作为一个程序编程人员,要保持清醒的头脑,以现实为
依据,需求为导向,让自己的每一行代码都能实现自己的意义。
通过这次课程设计,我收获的不仅仅是课程上的知识得到实际应用,还有编
程的基本操作。使我对所学专业知识得到了充分的应用,锻炼了我发现问题,分
析、思考问题、解决问题的能力,使我的实际动手操作能力有所提高,而不仅仅
是局限于书本上的知识,对今后的工作学习都大有益处。
(本人有完整的项目需要的话发邮件给我 491990141@qq.com)
十一、源程序
数据库连接 connDB.java
package com.wgh.DB;
import java.sql.*;
import java.io.*;
import java.util.*;
3
public class connDB {
public Connection conn = null;
public Statement stmt = null;
public ResultSet rs = null;
private static String propFileName = "C:/connDB.properties";
private static Properties prop = new Properties();
private static String dbClassName =
"com.sqlserver..jdbc.SQLServerDriver";
private static String dbUrl =
"jdbc:sqlserver://localhost:1433;DatabaseName=db_shop";
private static String dbUser = "sa";
private static String dbPwd = "123";
private static void loadProperty() {
try {
prop.load(new FileInputStream(propFileName));
//通过文件输入流对象加
载 Properties 文件
dbClassName = prop.getProperty("DB_CLASS_NAME");
dbUrl = prop.getProperty("DB_URL",
"jdbc:sqlserver://localhost:1433;DatabaseName=db_shop");
dbUser = prop.getProperty("DB_USER", "sa");
dbPwd = prop.getProperty("DB_PWD", "123");
}
catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
Class.forName(dbClassName).newInstance();
conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
Connection conn = null;
loadProperty();
try {
}
catch (Exception ee) {
ee.printStackTrace();
}
if (conn == null) {
System.err.println(
败.\r\n\r\n 链接类型:" +
" 警 告 : DbConnectionManager.getConnection() 获 得 数 据 库 链 接 失
dbClassName + "\r\n 链接位置:" + dbUrl + "\r\n 用户/密码" + dbUser +
4
"/" +
}
dbPwd);
}
return conn;
/*
*功能:执行查询语句
*/
public ResultSet executeQuery(String sql) {
try {
conn = getConnection();
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}
catch (SQLException ex) {
System.err.println(ex.getMessage());
}
return rs;
}
/*
*功能:执行更新操作
*/
public int executeUpdate(String sql) {
int result = 0;
try {
result = stmt.executeUpdate(sql);
}
catch (SQLException ex) {
result = 0;
}
try {
stmt.close();
}
catch (SQLException ex1) {
}
return result;
}
conn = getConnection();
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
5
public int executeUpdate_id(String sql) {
int result = 0;
try {
conn = getConnection();
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
result = stmt.executeUpdate(sql);
String ID = "select @@IDENTITY as id";
rs = stmt.executeQuery(ID);
if (rs.next()) {
int autoID = rs.getInt("id");
result = autoID;
}
}
}
}
try {
}
try {
}
}
catch (SQLException ex) {
result = 0;
}
return result;
}
/*
*功能:关闭数据库的连接
*/
public void close() {
try {
if (rs != null) {
rs.close();
}
catch (Exception e) {
e.printStackTrace(System.err);
if (stmt != null) {
stmt.close();
}
catch (Exception e) {
e.printStackTrace(System.err);
if (conn != null) {
conn.close();
6
}
catch (Exception e) {
e.printStackTrace(System.err);
}
}
}
Index.jsp 文件
<%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*" errorPage="" %>
<%@ page import="com.wgh.DB.connDB" %>
<%
connDB conn=new connDB();
String username=(String)session.getAttribute("username");
ResultSet rs_sale=conn.executeQuery("select top 2
ID,GoodsName,price,nowprice,picture from tb_goods where sale=1 order by
INTime desc");
int sale_ID=0;
String s_goodsname="";
float s_price=0;
float s_nowprice=0;
String s_picture="";
ResultSet rs_new=conn.executeQuery("select top 4
ID,GoodsName,nowprice,introduce,picture from tb_goods where newGoods=1
order by INTime desc");
int new_ID=0;
String new_goodsname="";
float new_nowprice=0;
String new_introduce="";
String new_picture="";
%>
Go购电子商城
border="0" cellspacing="0" cellpadding="0"
cellpadding="0" cellspacing="0">
|
|
|
|
|
|
|
|
|
|