JSP网络程序设计课程设计Word格式文档下载.docx

上传人:b****6 文档编号:17627382 上传时间:2022-12-07 格式:DOCX 页数:19 大小:1.43MB
下载 相关 举报
JSP网络程序设计课程设计Word格式文档下载.docx_第1页
第1页 / 共19页
JSP网络程序设计课程设计Word格式文档下载.docx_第2页
第2页 / 共19页
JSP网络程序设计课程设计Word格式文档下载.docx_第3页
第3页 / 共19页
JSP网络程序设计课程设计Word格式文档下载.docx_第4页
第4页 / 共19页
JSP网络程序设计课程设计Word格式文档下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

JSP网络程序设计课程设计Word格式文档下载.docx

《JSP网络程序设计课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JSP网络程序设计课程设计Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。

JSP网络程序设计课程设计Word格式文档下载.docx

JSP是一种在服务器端编译执行的Web设计语言,其脚本语言采用Java,并继承了Java的所有优点。

1.1什么是Web编程

Web编程简单地说是基于WWW的Internet上的应用程序开发,随着Internet的普及与传播,越来越多的人通过WWW走进网络世界的大门。

CGI(CommonGatewayInterface)应用程序的第一次引入了动态交互的概念,这些运行于服务器端的脚本程序通常用Perl语言或C语言写成,需要编译才能运行。

随着Web应用程序技术的发展,CGI所引入的动态内容概念被很多新技术所实现和发展,基于程序运行的地点大致可以分为两大类:

一类是随着HTML页面下载并运行于客户端的程序脚本,例如ActiveX控件,DHTML,JavaApplet和JavaScript;

另一类程序是基于服务器端的技术,例如ActiveServerPage(ASP),PHP,JavaServerPage(JSP),JavaServlet等。

1.2JSP简介

JSP是JavaServerPage技术的缩写,是由Java语言的创造者Sun公司提出、多家公司参与制定的动态网页技术标准。

通过在传统的(*.html,*.htm)中加入Java代码和JSP标记,构成后缀为*.jsp的JSP网页文件。

Web服务器在遇到访问JSP页面的请求时,首先执行其中的代码片断,然后将执行的结果以普通HTML方式返回客户浏览器,JSP页面中的程序代码在客户端是看不到的。

这些内嵌的Java程序代码可以完成数据库的操作、文件上传、网页重定向、发送电子邮件的等功能,所有的操作均在服务器端进行,客户端得到的仅仅是运行的结果,因而对客户浏览器的要求很低。

JSP有JavaServlet技术为基础,利用可跨平台运行的JavaBeans组件,可以方便的操作数据库,执行各种复杂的查询,使逻辑处理和显示互相分离。

1.3JSP的优点

1.3.1跨平台运行

JSP的最大优势在于平台可移植性,利用Java语言的平台无关性,任何JSP程序只要编译一次,就可以在任何服务器平台使用。

1.3.2执行效率高

JSP在服务器端被Java虚拟机编译成Servlet执行,编译的过程只在第一次执行时进行,以后Servlet对于每个客户端请求都使用内存中的同一副本处理,而不像CGI那样需要为每个请求创建单独的进程,而只要在Java虚拟机中装载一个Servlet,因而节省了大量的服务器资源,执行时性能优化,代码效率高。

1.3.3服务器端组件支持

服务器端编程语言往往由于缺少强大的服务器组件支持而受到限制,JSP使用成熟的JavaBeans技术,可以轻松得到各种服务器组件的支持。

1.3.4数据库支持

JSP技术利用Java语言的数据库操纵能力可以与任何JDBC兼容数据库建立连接,执行常用的查询、添加、更新、删除操作和复杂的逻辑代数。

利用Sun公司开发的JDBC-ODBC桥,JSP还可以访问现有的ODBC(OpenDataBaseConnection)驱动的数据库系统。

目前市场上的主流数据库产品都带有ODBC支持,所以JSP可以访问Oracle、MicrosoftSQLServer和MySQL等数据库产品。

第二章网络通讯录的实现

2.1需求分析

由于纸制或电子形式的通讯录,携带不方便,或容易忘记等方面的缺点,所以要开发一个网络通讯录,方便用户提供使用:

用户注册、登录功能

登录后,显示出与当前用户相关的联系人名单

添加新联系人

删除联系人

根据联系人类型查找联系人信息

根据以上要求,开发一个网络通讯录。

2.2数据库实现过程

创建在线通讯录数据库、表,数据库名为:

addressBook。

数据表为:

USERS、BOOK.实现代码如下:

BOOK表:

Users表

USE[addressBook]

GO

/******Object:

Table[dbo].[users]ScriptDate:

12/29/201012:

30:

07******/

SETANSI_NULLSON

SETQUOTED_IDENTIFIERON

SETANSI_PADDINGON

CREATETABLE[dbo].[users](

[userID][int]IDENTITY(1,1)NOTNULL,

[userName][varchar](50)NULL,

[password][varchar](50)NULL,

[realName][varchar](50)NULL,

[sex][varchar](50)NULL,

CONSTRAINT[PK_users]PRIMARYKEYCLUSTERED

[userID]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

SETANSI_PADDINGOFF

Table[dbo].[book]ScriptDate:

CREATETABLE[dbo].[book](

[id][int]IDENTITY(1,1)NOTNULL,

[name][varchar](50)NULL,

[phone][varchar](50)NULL,

[address][varchar](50)NULL,

[mobilePhone][varchar](50)NULL,

[company][varchar](50)NULL,

[comPhone][varchar](50)NULL,

[comAddress][varchar](50)NULL,

[relation][int]NULL,

[userID][int]NULL,

CONSTRAINT[PK_book]PRIMARYKEYCLUSTERED

[id]ASC

2.3在线通讯录的实体类设计

用户类:

Users.java

通讯录类:

Book.java

2.4在线通讯录的功能

●用户登录验证

●添加新联系人

●删除联系人信息

●查找所有联系人

●按照类别查找联系人

2.5在线通讯录MVC模式设计

模型(Model)——就是业务流程/状态的处理以及业务规则的制定。

视图(View)——视图就是用户交互的界面。

控制器(Controller)——可以理解为从用户接受请求,将模型与视图匹配在一起,共同完成用户的请求。

2.6各阶段具体实现过程

2.6.1项目文件结构图

2.6.2用户登录的实现

用户登录文件为Register.jsp,用户输入用户名和密码后,提交“addUserServlet

”进行验证处理,若用户名已存在则提示“用户名已存在,请重新输入!

”,并返回注册页面,否则,把信息写入数据库,注册新用户。

“addUserServlet”部分代码:

String 

userName 

request.getParameter("

name"

);

password 

password"

UserdbManager 

UserMng 

newUserdbManager();

UserBean 

user 

UserMng.findUser(userName);

if

(user 

!

null&

&

user.getName()!

=null&

user.getName().equals(userName)) 

PrintWriter 

out 

response.getWriter();

out.println("

<

script>

alert('

用户名已存在,请重新输入!

'

history.back();

/script>

"

out.flush();

out.close();

else

intresult 

UserMng.AddUser(userName, 

password);

if(result 

>

0) 

request.getRequestDispatcher("

success.jsp"

).

forward(request,esponse);

System.out.println("

添加数据失败"

request.getRequestDispatcher(、"

error.jsp"

). 

forward(request,response);

用户登录文件为Login.jsp,用来实现用户的登录。

用户输入用户名和密码后,提交"

LoginServlet"

进行验证处理,验证正确之后。

实现登陆。

具体代码如下:

StringuserName=request.getParameter("

userName"

Stringpassword=request.getParameter("

UserBouserBo=newUserBo();

Usersuser=userBo.valiUser(userName,password);

if(user==null){

//登陆失败

PrintWriterout=response.getWriter();

out.println("

用户名或密码错误,请重新输入!

out.flush();

out.close();

}else{

//登陆成功

HttpSessionsession=request.getSession();

session.setAttribute("

user"

user);

request.getRequestDispatcher("

SelectServlet"

).forward(request,response);

}

登录成功:

2.6.3通讯录名片的插入操作

实现名片的增加操作,涉及到一下页面:

addBook.jsp、AddServlet.java、UsersBo.java。

其中,addBook.jsp为用户所见的界面;

AddServlet.java处理数据实现数据的插入,将新增名片内容写入数据库。

response.setContentType("

text/html;

charset=GBK"

Bookbook=newBook();

request.setCharacterEncoding("

GBK"

book.setName(request.getParameter("

));

book.setSex(request.getParameter("

sex"

book.setPhone(request.getParameter("

phone"

book.setAddress(request.getParameter("

address"

book.setMobilePhone(request.getParameter("

mobilePhone"

book.setCompany(request.getParameter("

company"

book.setComPhone(request.getParameter("

comPhone"

book.setComAddress(request.getParameter("

comAddress"

book.setRelation(Integer.parseInt(request.getParameter("

relation"

)));

book.setUserID(((Users)request.getSession().getAttribute("

)).getUserID());

BookBobookBo=newBookBo();

intresult=bookBo.addBook(book);

PrintWriterout=response.getWriter();

if(result>

0){

//添加成功

添加成功'

location.href='

addBook.jsp'

//添加失败

添加失败'

}

修改联系人信息:

“BookServlet.java”部分代码:

private

BookBean 

makeBook(HttpServletRequest 

request) 

{HttpSession 

session 

request.getSession();

(UserBean 

user=UserBean) 

session.getAttribute("

book 

newBookBean();

book.setName(request.getParameter("

book.setSex(request.getParameter("

book.setPhone(request.getParameter("

book.setHomeAddr(request.getParameter("

homeAddr"

book.setMobilephone( 

book.setEmail(request.getParameter("

email"

book.setCompany(request.getParameter("

book.setComAddr(request.getParameter("

comAddr"

book.setRelation(Integer.

parseInt

( 

book.setUserID(user.getId());

returnbook;

“doPost”函数:

type 

type"

Intresult 

0;

BookdbManager 

bookMng 

newBookdbManager();

if(type.equals("

del"

)) 

intbookId 

Integer.parseInt

BookId"

result 

bookMng.deleteBookById(bookId);

add"

makeBook(request);

bookMng.addBook(book);

update"

{int

bookId 

Integer.

(request.getParameter("

bookId"

bookMng.updateBook(book, 

bookId);

(result 

== 

{request.getRequestDispatcher("

).forward(request, 

response);

DisplayServlet"

) 

.forward(request,response);

2.6.4通讯录名片的查看操作

实现通讯录的查看操作涉及到一下页面:

SelectServlet.java、bookContent.jsp。

其中,SelectServlet.java实现在数据库中查找信息,交给bookContent.jsp向用户展示。

Stringrelation=request.getParameter("

HttpSessionsession=request.getSession(false);

if(session==null||session.getAttribute("

)==null){

response.sendRedirect("

index.jsp"

Listlist=null;

Usersuser=(Users)session.getAttribute("

if(relation!

=null&

!

relation.equals("

)){

//根据用户ID和联系人类型查询列表

list=bookBo.selectAllBook(user.getUserID(),Integer.parseInt(relation));

request.setAttribute("

list"

list);

}else{

list=bookBo.selectAllBook(user.getUserID());

}

bookContent.jsp"

2.6.5通讯录名片的删除操作

实现通讯录名片的删除操作,涉及到一下页面:

DeleteServlet.java,它的作用是当用户触发“删除”按钮后,在数据库中将该条数据删除。

Stringid=request.getParameter("

id"

if(id==null||id.equals("

intresult=bookBo.deleteBook(Integer.parseInt(id));

if(result>

//删除成功

out.println("

alert(删除成功!

SelectServlet'

//删除失败

alert(删除失败!

2.6.6通讯录名片的分类查询操作

实现通讯录名片的分类查询操作,需要一下页面:

SelectServlet.java、bookContent.jsp。

其中,SelectServlet.java通过查询数据库中“book”表中“relation”字段,将用户查询的分类信息交给bookContent.jsp向用户显示,完成交互。

第三章个人总结

个人总结

经过半个学期的坚持不断的对JSP的学习,这段时间,对这个网络通讯录的基本掌握,经过测试,可以使用。

通过这次实习过程,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1