JSP简单的网站论文模板Word文件下载.docx
- 文档编号:19720869
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:21
- 大小:90.92KB
JSP简单的网站论文模板Word文件下载.docx
《JSP简单的网站论文模板Word文件下载.docx》由会员分享,可在线阅读,更多相关《JSP简单的网站论文模板Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
4.3留言板功能12
4.4站内公告12
4.5退出登录13
5总结14
1技术准备
1.1MySql数据库
MySQL是一个小型关系型数据库管理系统,具有数据定义(DDL)、数据操纵(DML)和数据控制(DCL)等丰富功能,它定义有一组操作命令(语句),用户通过命令交互方式或程序执行方式使用命令能够实现相应的功能。
不过现在许多关系数据库管理不但提供给用户命令和编程式操作界面,而且提供给用户窗口式操作界面。
可视化窗口界面方式操作数据库更为直观和快捷,更为灵活和方便,因此受到广大数据库应用开发者和数据库用户的欢迎。
为了能够理解数据库开发环境中每个操作对象和每一个窗口界面中各操作元素的含义,能够熟练地使用各种窗口菜单,对话框,控件,按钮等进行有效操作,则首先掌握好SQL。
因为其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
1.2JSP与Servlet
在J2EE应用程序中,视图(View)由JavaServerPage(JSP)承担。
Jsp是以java技术为基础,又在许多方面做了改进,具有动态页面和静态页面分离,能够脱离硬件平台的束缚,以及编译后运行等优点,完全克服了其他的缺点。
JavaServlet的核心思想是在服务器端创建能响应用户请求的对象,即创建Servlet对象。
因此,学习javaServlet的首要任务是掌握怎样编写部署文件,怎样请求Tomcat服务器上保存编译java源文件得到的字节码,怎样编写部署文件,怎样请求Tomcat服务器创建一个Servlet对象,一个servlet对象是java.servlet包中HttpServlet类的一个实例,由服务器负责创建并完成初始化工作,当多个客户请求一个servlet时,服务器为每一个客户启动一个线程而不是启动一个进,这些线程由服务器来管理,与传统的CGI为每一个客户启动一个进程相比较,效率要高得多。
一个servlet对象的生命周期主要有下列三个过程组成:
(1)初始化servlet对象,servlet对象第一次被请求加载时服务器初始化这个servlet对象,即创建一个servlet对象,这对对象调用init方法完成必要的初始工作。
(2)诞生的servlet对象再调用service方法相应客户的请求。
(3)当服务器关闭时,调用destory方法,消灭servlet对象。
Init方法只被调用一次,即在servlet第一次被请求加载时调用该方法,当后续的客户请求servlet服务器时,web服务器将启动一个新的线程,在线程中,servlet对象调用servlet方法相应客户的请求,也就是说,每个客户的每次请求都导致service方法被调用执行分别运行在不同的线程中。
1.3Struts框架
Struts是Apache基金会Jakarta项目组的一个OpenSource项目,它将Servlet2.2和JSP1.1标记用作实现的一部分,它由一组相互协作的类、servlet和JSP标记,组成一个可重用的系统设计。
它能够很好地帮助Java开发者利用J2EE开发WEB应用。
它将设计模式中“分离显示逻辑与业务逻辑”的能力发挥的淋漓尽致。
因此,越来越多的大型的WEB应用项目的开发都纷纷采用Struts框架,或者借鉴Struts架构设计,进行基于MVC模式的应用系统的开发。
2总体设计
2.1需求分析
本系统意在为广大跆拳道爱好者提供一个交流的平台,让更多人知道和了解跆拳道的历史,发展历程,及其国际化意义,其注册功能可以为更多人称为该系统的一部分,同时享有更多的特权,可以在其留言板上留言,发表自己的想法,表达自己的意见。
2.2数据库设计
系统采用加载纯java数据库驱动程序的方式访问数据库。
使用SQLServer2005建立一个数据库Friend,该库有一个member表。
会员的注册信息存入member表中,member表的主键是logname,各个字段值的说明如下:
logname:
存储会员登录名字。
password:
存储会员登录密码。
phone:
存储会员的电话。
email:
存储会员的email地址。
member表的相信结构设计如图:
2.3功能模块简介
统
注册模块:
当新会员注册时,该模块要求用户必须输入会员名、密码信息,否则不允许注册。
用户的注册信息被存入数据库的member表中。
登录模块:
用户可以在该模块输入自己的会员名和密码,系统将对会员名和密码进行验证,如果输入的用户名或密码有错误,将提示用户的用户名或密码不正确。
留言板模块:
用户可以在该模块输入输入自己想说的话,系统将通过选择进行处理,然后进入到相应的界面中去。
然后进入留言板模块,进行留言
站内公告:
本系统管理员可以利用该模块在网站发布自己想要表达的思想,让所有会员都了解站长想说的内容。
2.4框架的应用
在MVC框架模式中,由servlet负责用构造方法创建javabean,因此创建javabean的类可以有带参数的构造方法,其他方法的命名继续保留get规则,但可以不遵守set规则,因为我们不希望JSP页面修改javabean中的数据,只需要它显示javabean中的数据。
由servlet对象创建的对象接收所有用户由通过浏览器提交的业务请求,并合成相应的值对象,访问业务逻辑层完成业务逻辑实体的业务处理;
将业务逻辑实体的变化以值对象的方式通知并转向相应的JSP。
然后JSP根据Servlet告知的值对象,合成请求响应结果的最终输出格式化文本(HTML);
将合成格式化文本以网络协议的方式发送给提交业务请求的用户浏览器。
本模型中实现了MVC设计模式。
其中,Servlet组件对应于MVC中的控制器(Controller)部分,JSP及Browser对应于视图(View)部分,而会话外观、逻辑Bean及值对象则对应于模型(Model)部分。
3详细设计
3.1注册功能
该模块的模型jvavbean描述用户的注册信息。
该模块视图部分由两个JSP页面构成,一个JSP页面负责提交用户的注册信息到控制器,另一个JSP页面负责显示注册是否成功的信息。
该模块的控制器servlet负责将视图提交的信息写入数据库的member表中,并负责更新视图。
3.2登录功能
用户可在该模块输入自己的会员名和密码,系统将对会员名和密码进行验证,如果输入的用户名或密码又错误,将提示用户输入的用户名或密码不正确。
该模块的模型javabean描述用户的登录信息,该模块视图部分由两个JSP页面构成:
一个JSP页面负责提交用户的登录信息到控制器:
另一个JSP页面负责显示登录是否成功的信息。
该模块的控制器servlet负责验证会员名和密码是否正确,并负责更新视图。
3.3留言板模块
用户可以在该模块中输入自己的用户名,然后可以选择性别,和现在你的心情,然后选择你所喜欢的头像并且输入自己想说的话,系统将通过选择进行处理,然后进入到相应的界面中去。
本模块视图有两个JSP页面。
add.jsp页面负责提供输入文字信息界面,sys.jsp页面将负责输入文字信息,和发表信息。
3.4站内公告模块
本系统管理员在进入该系统后,验证过信息管理员信息后,可以利用该模块在网站发布自己想要表达的思想,让所有会员都了解站长想说的内容。
4功能实现
4.1注册功能
1.模型(Javabean)
下列Javabean用来描述用户注册信息。
Register.java
packagemybean.data;
publicclassRegister{
Stringlogname="
"
password="
advertiseTitle="
email="
phone="
message="
;
StringbackNews;
publicStringgetLogname(){
returnlogname;
}
publicvoidsetLogname(Stringname){
this.logname=name;
publicStringgetPassword(){
returnpassword;
publicvoidsetPassword(Stringpw){
this.password=pw;
publicStringgetEmail(){
returnemail;
publicvoidsetEmail(Stringem){
this.email=em;
publicStringgetPhone(){
returnphone;
publicvoidsetPhone(Stringph){
this.phone=ph;
publicStringgetBackNews(){
returnbackNews;
publicvoidsetBackNews(Strings){
this.backNews=s;
2.视图(JSP页面)
Register.jsp和showRegisterMess.jsp。
Register.jsp页面负责提供输入注册信息界面,showRegisterMess.jsp负责显示注册反馈信息,比如注册是否成功等。
控制器servlet对象的名字是register。
控制器register负责连接数据库,将用户提交的信息写入到member表,并将用户转到showRegisterMess.jsp页面查看注册反馈信息。
HandleRegister.java
packagemyservlet.control;
importmybean.data.*;
importjava.sql.*;
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassHandleRegisterextendsHttpServlet{
publicvoidinit(ServletConfigconfig)throwsServletException
{
super.init(config);
try{
Class.forName("
com.mysql.jdbc.Driver"
);
}catch(Exceptione)
{}
}
publicStringhandleString(Strings)
try{bytebb[]=s.getBytes("
iso-8859-1"
s=newString(bb);
catch(Exceptionee){}
returns;
PublicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException
Connectioncon;
PreparedStatementsql;
Registerreg=newRegister();
request.setAttribute("
register"
reg);
Stringlogname=request.getParameter("
logname"
).trim(),
password=request.getParameter("
password"
email=request.getParameter("
email"
phone=request.getParameter("
phone"
Stringurl="
jdbc:
mysql:
//localhost/friend"
if(logname==null)
logname="
if(password==null)
password="
booleanisLD=true;
for(inti=0;
i<
logname.length();
i++)
charc=logname.charAt(i);
if(!
((c<
='
z'
&
c>
a'
)||(c<
Z'
A'
9'
0'
)))
isLD=false;
booleanboo=logname.length()>
0&
password.length()>
isLD;
StringbackNews="
con=DriverManager.getConnection(url,"
root"
"
255288"
StringinsertCondition="
insertintomembervalues(?
?
)"
sql=con.prepareStatement(insertCondition);
if(boo){
sql.setString(1,handleString(logname));
sql.setString(2,handleString(password));
sql.setString(3,phone);
sql.setString(4,email);
sql.setString(5,"
public.jpg"
intm=sql.executeUpdate();
if(m!
=0){
backNews="
注册成功"
reg.setBackNews(backNews);
reg.setLogname(logname);
reg.setEmail(email);
reg.setPhone(phone);
}
}else
{backNews="
信息填写不完整或名字中有非法字符"
reg.setBackNews(backNews);
}
con.close();
}catch(Exceptione){
backNews="
该会员名已被用,请更换名字"
+e;
e.printStackTrace();
reg.setBackNews(backNews);
RequestDispatcherdispatcher=request.getRequestDispatcher("
showRegisterMess.jsp"
dispatcher.forward(request,response);
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException
doPost(request,response);
4.2登录功能
用户可以在该模块输入自己的会员名和密码,系统将对会员名和密码进行验证,如果输入的用户名或密码有错误,将提示用户的用户名或密码不正确。
该模块的模型Javabean描述用户登录的信息。
该模块试图部分有两个JSP页面构成:
一个页面负责提交用户的登录信息到控制器,另一个负责显示登录是否成功的信息。
该模块的控制器servlet负责验证会员的密码是否正确,并负责更新视图。
下列Javabean用来描述用户登录信息。
Login.java
publicclassLogin{
Stringlogname,password,backNews="
booleansuccess=false;
publicStringgetLogname(){
returnlogname;
publicvoidsetLogname(Stringname){
this.logname=name;
publicStringgetPassword(){
returnpassword;
publicvoidsetPassword(Stringpw){
this.password=pw;
publicStringgetBackNews(){
returnbackNews;
publicvoidsetBackNews(Strings){
this.backNews=s;
publicbooleangetSuccess(){
returnsuccess;
publicvoidsetSuccess(booleanb){
this.success=b;
}}
Login.jsp和showLonginMess.jsp。
Login.jsp页面负责提供输入登录信息界面,showLonginMess.jsp负责显示登录反馈信息,比如登录是否成功等。
Login.jsp
<
body>
br>
divalign="
center"
>
formname="
form1"
method="
post"
action="
p>
strong>
用户注册<
/strong>
/p>
tablewidth="
546"
border="
1"
cellpadding="
2"
cellspacing="
height="
218"
<
tr>
td>
用户名:
/td>
inputname="
name"
type="
text"
size="
20"
onchange="
checkName()"
divid="
nameText"
请认真填写,此项不能为空<
/div>
/tr>
性别:
请选择性别<
sexText"
inputtype="
radio"
name="
sex"
value="
男"
男
女"
女
密码:
pass1"
checkPass1()"
pass1Text"
请牢记密码,勿为生日、电话号码等。
此项不能空。
tdvalign="
top"
重复密码:
pass2"
checkPass2()"
pass2Text"
请再次输入密码,不能为空。
email:
25"
checkEmail()"
emailText"
请注意格式,如:
yanggepeng@<
phone:
checkPhone()"
phoneText"
如:
152********<
tdcolspan="
3"
submit"
Submit"
提交"
nbsp;
reset"
Submit2"
重置"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 简单 网站 论文 模板