Web程序设计JSP实验.docx
- 文档编号:12215013
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:38
- 大小:730.75KB
Web程序设计JSP实验.docx
《Web程序设计JSP实验.docx》由会员分享,可在线阅读,更多相关《Web程序设计JSP实验.docx(38页珍藏版)》请在冰豆网上搜索。
Web程序设计JSP实验
WEB程序设计(JSP)实验
计算机科学与信息学院汪国武
实验一JSP实验环境组建与简单JSP应用
1.开发环境搭建
Stepl:
安装和设置JDK
以jdkl.6为例,安装位置C:
\ProgramFiles\Java\jdkl.6.0_12
创建环境变量:
JAVAHOME为C:
\ProgramFiles\Java\jdkl.6.0_12
在建环境变量PATH中添加:
%JAVAHOME%\bin;
创建环境变量CLASSPATH:
%JAVA_HOME%\lib\dt.jar;%JAVAHOME%\lib\tools,jar;
Step2:
安装支持JSP的Web服务器
以Tomcat6.0.29为例,安装位置d:
\Tomcat6
Step3:
安装MyEclipse
安装MyEclipse7.0
Step4:
设置Tomcat,可以从MyEclipse中直接启动Tomcat6
操作步骤:
WindowPreferencesMyEclipseEnterpriseWorkbench
MyEclipseServersTomcatTomcat6.x
•TomcatServer选择Enable
•Tomcathomedirectory:
d:
\tomcat6
•设置Tomcat运行使用的JDK:
展开Tomcat6.x,单击JDK,单击tomcatJDKname:
后的Add,在打开的页面中,单击JREhome后的Directory按钮,选择输入C:
\ProgramFiles\Java\jdkl.6.0_12
2.开发和运行JSP程序
■创建Web项目
FileNewWebProject(如:
Myjsp)
■新建JSP文件(如firstJsp.jsp)
■编辑JSP文件(可借助DreamWeaver)
■发布项目到Tomcat
右击项目名称MyjspMyEclipseAddandRemoveProjectDeployments
Project:
选择Myjsp项目,并单击Add,弹出ProjectDeployments对话框,
在对话框中,选择server为Tomcat6.x,并单击Finish
■运行测试
■启动Tomcat6.x
■运行JSP文件
浏览器中输入:
http:
〃localhost:
8080/Myjsp/firstJsp.jsp
3.编写一个JavaScript程序,在JSP页面上输出当前日期。
实验二JSP语法的应用
实验内容和要求:
1.实现客户在一个登录页面form,jsp(如图2-1)输入登录信息并单击“确定”后跳转
到另一个页面doForm.jsp(如图2-2)输出“用户名”和“口令”信息。
用户名:
丽
密码:
图2-1
用户名:
abc口令;123
图2-2
要求:
分别用下列三种方法实现。
(1)创建一个JavaBeanUser类,该类含有两个属性username和password,给每个属
性增加相应的get和set方法。
在doForm.jsp页面中用<jsp:
useBean>动作标识实例化User类对象,再使用<jsp:
setProperty>动作标识来把客户在form,jsp表单中填写的值赋给对象,最后用〈jsp:
getProperty>在页面输出结果。
(2)创建一个JavaBeanUser类,该类含有两个属性username和password,给每个属
性增加相应的get和set方法。
在doForm.jsp页面中采用Java以jsp脚本代码(scriptlet)方式实例化User类对象,用setAttribute()函数把对象写入request或session中,再使用<jsp:
setProperty>动作标识来把客户在form,jsp表单中填写的值赋给对象,最后用jsp表达式的方式把对象的信息输出到页面中。
(3)不创建JavaBeanUser类。
在doForm.jsp页面中用getParameter()来获取客户在
form,jsp表单中填写的值,最后输出相关信息。
实验三JSP内置对象的应用
实验内容和要求:
对实验二的内容进行扩展,必须实现以下4个jsp文件,采用jsp+JavaBean实现。
(1)login,jsp:
登录页面,如图2T所示。
(2)doLogin.jsp(无界面):
登录处理页面,假定正确的用户名为admin,口令为123。
如果用户名和口令不正确则显示登录错误信息,否则登录成功后,
重定向到messageBoard.jsp(留言板页面),可以进行留言。
(3)messageBoard.jsp:
留言板页面,能实现如图3T所示的留言。
▼|贮一http:
"Whost:
T今c]百度搜索
文件®I编辑⑥查看的收藏夹R)工具①帮助®
\100%
/
图3-1
(4)showMessage.jsp:
显示留言信息页面,如图3-2所示。
该页面能显示留言者(必须为login.jsp页面中输入的用户名)、标题和内容,要求能正确显示图3T所示的留言内容。
提示:
留言者的用session保存
图3-2
实验四Servlet的应用
实验内容和要求:
用Servlet来完成实验三的所有任务,即先登录,然后留言,再显示留言。
采用JSP+JavaBean+Servlet开发模式。
实验步骤如下:
1.创建登录页面login.jsp
pagelanguage="java"import="ja\autil.★“pageEncoding="gb23I2飞〉
―注意此处设为get方法一> 用户名: 口令: 2.创建处理登录的Servlet: DoLogin.java,过程如下: 选择项目中src文件夹,NewServlet,弹出CreateanewServlet对话框.设置如下(05为项目名称) 单击next后,见下图,只对Servlet/JspMappingURL: 作如下修改,单击finish. 此时,web.xml中应存在如下Servlet配置信息: 其中, //localhost: 8080/05/DoLogin DoLogin.java代码如下 packageservlet; import java. o.lOException; import java. o.PrintWriter; import javax servlet.ServletException; import javax seiwlet.http.HttpServlet; import javax servlet.http.HttpServletRequest; import javax servlet.http.HttpServletResponse; import javax servlet.http.HttpSession; publicclassDoLoginextendsHttpServlet{ 〃因为登录表单是以get方式提交的,所以重写doGet方法,运行时调用此方法 publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,lOException{ StringuserName=request.getParameter(nusernamew);//获圾回户名 HttpSessionsession=request.getSessionO; session.setAttribute(Mnamew,userName);〃用户名写入session,显示留言时(showMessage.jsp)需要 Sti'ingpassword=request,getParameter(*'passwordw);/获号工口令 if(userName.equals(MadminM)&&passWord.equals("123"))〃用户名和密码正确 response.sendRedirectCmessageBoard.jsp");//重定向到留言页面 else response.sendError(500,"登陆错误,用户名或密码不正确! "); ) ) 3.创建留言页面messageBoard.jsp 二卷pagecontentType=ntext/html;charset=gb2312%> "> 4.创建值JavaBean: Message,java同代码3-5 5.创建工具JavaBean: Mytools.java同代码3-6 6.创建处理留言的Servlet: DoMessage.java,如下图: publicclassDoMessageextendsHttpServlet{ 〃因为留言信息是以post方式提交的,所以重写doPost方法,运行时调用此方法 publicvoiddoPost(HttpServletRequestrequest.HttpSeiwletResponseresponse)throwsServletException,lOException{ bean.valuebean.Messagemessage=newbean.valuebean.Message(); message.setTitie(request,getParameter(wtitlen));/保存留言标题 message.setContent(request.getParameter(^contentM));//保存琦t: 内容 request.setAttribute(MmsgM,message);〃将对象message保存到request中 〃下面2行实现转发到showMessage.jsp RequestDispatcherdispatcher=request.getRequestDispatcher(^showMessage.jsp");dispatcher,forward(request,response);}) 7.创建显示留言页面showMessage.jsp <%@pagecontentType=ntext/html: charset=gb2312%> <%@pageimport=Hbean.toolbean.MyTools%> <%@pageimport=nbean.valuebean.Message 〈title)显示留言信息 留言者: <%=session.getAttribute(wnamen)%> <%=MyTools.change(message.getTitleO)%> <%=MyTools.change(message.getContent())%> 实验五JSP访问数据库的应用 实验要求: 采用JSP+Servlet+JavaBean架构,设计通过下列JSP页面访问数据库(如表5-1),具体要求如下: 1.添加用户页面(AddUser.jsp),如图5T所示; 2.删除用户页面(Delete,jsp),如图5T所示; 3.查找和修改用户页面(SearchAndModify.jsp),如图5-3所示。 图5-1添加用户页面 图5-2删除用户页面 |n|x| 个查11^]修改用户-YindovsInternetExplorer ▼[园]http: 〃localhost: 8CB0/WyJsp/SearchAndModi£yjsp 文件⑥编辑也)查看9收藏夹@)工具①帮助国) 查询和修改用户 输入查询的用户名: 的lEWEI 第入.亏户名后,里吉登这三户,找到见在下面复示结果,否史显示三户不考在 用户名: I 密码: II 修改用户只允许整改专户匚令,因亏户名为关金宝 图5-3查询和修改用户页面 实验步骤如下: 1.准备需要访问的数据库 ■下载并安装MySQL5.0 ■CopyMySQL5.0驱动mysql-connector-java-5.0.8-bin.jar到%丁0\£八丁%\1诂文件夹下 ■创建数据库及表: 数据库的设计如下表: 数据库采用MySQL5.0,数据库名: db,表名: user(用户表) 表57数据库的用户表 序号 列名 数据类型 长度 主键 允许空 默认值 说明 1 username varchar 40 是 否 用户名 2 password varchar 40 是 口令 创德过程如下: (可选择使用MySQL的数据库管理和开发工具Navicat和MySQL-Front等)Stepl: 进入MySQL程序的MySQLCommandLineClient界面,如下图所示 Step2: 分别执行下列命令: 〃支持中文 ①创建数据库: CREATEDATABASE CHARACTERSET%tf8' COLLATE'utf8__general_cir; USEDB; ②速表: CREATETABLE'users、( username'varchar(20)NOTNULLPRIMARYKEY. password'varchar(20) )ENGINE=InnoDBDEFAULTCHARSET=utf8; 2.开发过程如下: Stepl: 创建值JavaBean: User.java,内容如下: packagevalueBean; publicclassUser{ privateStringusername;//用户名 privateStringpassword;//口令publicUserO( this.username=*n; this.password/"; } publicvoidsetUsername(Stringusername){this.username=username; ) publicStringgetUsernameO{returnusername; } publicvoidsetPassword(Sti'ingpassword){this.password=password; publicStringgetPasswordO{ returnpassword; } ) Step2: 创建访问数据库的类一AccessUserFromDB.java,内容如下: packagetoolBean.db; importjava.sql.*; importvalueBean.User; publicclassAccessUserFromDB{ privatestaticConnectionconn=null; privatestaticStatementstmt=null; 〃构造函数中完成对数据库进行初始化 publicAccessUserFromDB(){ 〃创建连接 conn=this.getConnectionO; try{ 〃创建Statement stmt=conn.createStatement(); }catch(SQLExceptione){ e.printStackTraceO; } ) 〃将对象user添加到表中 publicvoidAdd(Useruser)throwsSQLException { Stringsql=uINSERTINTOuser(username,password)VALUES,"+user.getUsername()+M*M+user.getPassword()+MM; stmt.executeUpdate(sql); ) 〃根据用户名(关键字)从数据库删除相应的记录 publicvoidDelete(Stringusername)throwsSQLException ( Stringsql=nDeleteFromuserWhereusername='"+username+"'stmt.executeUpdate(sql); ) 〃修改数据库中的user publicvoidUpdate(Useruser)throwsSQLException { Stringsql=,rUPDATEusersetpassword: '" +user.getPassword()+r,*whereusername=,M+user.getUsername()+r,stmt.executeUpdate(sql); 〃根据用户名称(关键字)从数据库中查找记录,并将找到的记录写入对象user中返回publicUsersearchByUsername(Stringusername)throwsSQLException ( Useruser=newUser(); Stringsql=,,select*fromuserwhereusername=ru+username+Mr0; ResultSetrs=stmt.executcQuery(sql); while(rs.next()) ( Stringname=rs.getString(MusernameM); if(name,equals(username)) { 〃将从数据库查找得到的记录存入对象user中 user.setUsername(name); user.setPassword(rs.getString(°password°));if(rs! =null) rs.close(); returnuser; ) ) returnnull;〃查找不到返回null ) 〃根据用户判断该记录是否存在 publicbooleanexists(Stringusername) ( booleanrtn=false; try{ if(searchByUsername(username)! =nul1) rtn=true; (catch(SQLExceptione){ e.printStackTrace(); ) returnrtn; ) /〃建立与数据的连接 privateConnectiongetConnectionO ( StringdriverClass=,,com.mysql.jdbc.Driver0; Stringurl=〃与创建数据库的代码结合,保证访问数据库时不出现乱码ujdbc: mysql: //localhost: 3306/db? useUnicode=true&characterEncoding=UTF-8,F; Stringusername="root"; Stringpassword="123"; try) Class.forName(driverClass);//加载数据库驱动 }catch(ClassNotFoundExceptione){ e.printStackTrace(); ) try{ conn=DriverManager.getConnection(ur1,username,password);〃建立连接}catch(SQLExceptione){ e.printStackTraceO; System,out.print("数据库连接失败! ”); } returnconn; ) 〃关闭与访问数据库有关连接 protectedvoidfinalize() ( try{ if(stmt! =null) stmt.close(留言标题: 留言内容:
留言标题:
留言内容:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 程序设计 JSP 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)