Web程序设计JSP实验.docx
- 文档编号:12929710
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:48
- 大小:417.53KB
Web程序设计JSP实验.docx
《Web程序设计JSP实验.docx》由会员分享,可在线阅读,更多相关《Web程序设计JSP实验.docx(48页珍藏版)》请在冰点文库上搜索。
Web程序设计JSP实验
WEB程序设计(JSP)实验
计算机科学与信息学院汪国武
实验一JSP实验环境组建与简单JSP应用
1.开发环境搭建
Step1:
安装和设置JDK
以jdk1.6为例,安装位置C:
\ProgramFiles\Java\jdk1.6.0_12
创建环境变量:
JAVA_HOME为C:
\ProgramFiles\Java\jdk1.6.0_12
在建环境变量PATH中添加:
%JAVA_HOME%\bin;
创建环境变量CLASSPATH:
%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
Step2:
安装支持JSP的Web服务器
以Tomcat6.0.29为例,安装位置d:
\Tomcat6
Step3:
安装MyEclipse
安装MyEclipse7.0
Step4:
设置Tomcat,可以从MyEclipse中直接启动Tomcat6
操作步骤:
WindowPreferencesMyEclipseEnterpriseWorkbenchMyEclipseServersTomcatTomcat6.x
●TomcatServer选择Enable
●Tomcathomedirectory:
d:
\tomcat6
●设置Tomcat运行使用的JDK:
展开Tomcat6.x,单击JDK,单击tomcatJDKname:
后的Add,在打开的页面中,单击JREhome后的Directory按钮,选择输入C:
\ProgramFiles\Java\jdk1.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
实验二JSP语法的应用
实验内容和要求:
1.实现客户在一个登录页面form.jsp(如图2-1)输入登录信息并单击“确定”后跳转到另一个页面doForm.jsp(如图2-2)输出“用户名”和“口令”信息。
图2-1
图2-2
要求:
分别用下列三种方法实现。
(1)创建一个JavaBean----User类,该类含有两个属性username和password,给每个属性增加相应的get和set方法。
在doForm.jsp页面中用 useBean>动作标识实例化User类对象,再使用 setProperty>动作标识来把客户在form.jsp表单中填写的值赋给对象,最后用 getProperty>在页面输出结果。 (2)创建一个JavaBean----User类,该类含有两个属性username和password,给每个属性增加相应的get和set方法。 在doForm.jsp页面中采用Java以jsp脚本代码(scriptlet)方式实例化User类对象,用setAttribute()函数把对象写入request或session中,再使用 setProperty>动作标识来把客户在form.jsp表单中填写的值赋给对象,最后用jsp表达式的方式把对象的信息输出到页面中。 (3)不创建JavaBean----User类。 在doForm.jsp页面中用getParameter()来获取客户在form.jsp表单中填写的值,最后输出相关信息。 参考答案: 方法 (1) User.java(代码2-1),内容如下: publicclassUser{ privateStringusername; privateStringpassword; publicvoidsetUsername(Stringusername){ this.username=username; } publicStringgetUsername(){ returnusername; } publicvoidsetPassword(Stringpassword){ this.password=password; } publicStringgetPassword(){ returnpassword; } } form.jsp(代码2-2),内容如下 <%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%> 用户名: 口令: doForm.jsp(代码2-3),内容如下 <%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%>
useBeanid="user"class="bean.User"scope="request">
useBean>
setPropertyname="user"property="*"/> 用户名: getPropertyname="user"property="username"/> 口令: getPropertyname="user"property="password"/> 方法 (2) User.java同代码2-1,form.jsp同代码2-2 doForm.jsp(代码2-4),内容如下: <%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%> <%@pageimport="bean.User"%> <% UseruserInfo=newUser(); request.setAttribute("user",userInfo); %> setPropertyname="user"property="*"/> 用户名: <%=userInfo.getUsername()%> 口令: <%=userInfo.getPassword()%> 方法(3) form.jsp同代码2-2 doForm.jsp(代码2-5),内容如下: <%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%> <%@pageimport="bean.User"%>
用户名:
<%=request.getParameter("username")%>
口令:
<%=request.getParameter("password")%>
实验三JSP内置对象的应用
实验内容和要求:
对实验二的内容进行扩展,必须实现以下4个jsp文件,采用jsp+JavaBean实现。
(1)login.jsp:
登录页面,如图2-1所示。
(2)doLogin.jsp(无界面):
登录处理页面,假定正确的用户名为admin,口令为123。
如果用户名和口令不正确则显示登录错误信息,否则登录成功后,重定向到messageBoard.jsp(留言板页面),可以进行留言。
(3)messageBoard.jsp:
留言板页面,能实现如图3-1所示的留言。
图3-1
(4)showMessage.jsp:
显示留言信息页面,如图3-2所示。
该页面能显示留言者(必须为login.jsp页面中输入的用户名)、标题和内容,要求能正确显示图3-1所示的留言内容。
提示:
留言者的用session保存
图3-2
参考答案:
login.jsp(代码3-1),内容如下
<%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%>
用户名:
口令:
doLogin.jsp(代码3-2),内容如下
<%@pagelanguage="java"pageEncoding="gb2312"%>
<%
StringuserName=request.getParameter("username");//获取用户名
session.setAttribute("name",userName);//用户名写入session,显示留言时需要
StringpassWord=request.getParameter("password");//获取口令
if(userName.equals("admin")&&passWord.equals("123"))//用户名和密码正确
response.sendRedirect("messageBoard.jsp");//重定向到留言页面
else
response.sendError(500,"登陆错误,用户名或密码不正确!
");
%>
messageBoard.jsp(代码3-3),内容如下
<%@pagecontentType="text/html;charset=gb2312"%>
showMessage.jsp(代码3-4),内容如下
<%@pagecontentType="text/html;charset=gb2312"%>
<%@pageimport="bean.toolbean.MyTools"%>
useBeanid="message"class="bean.valuebean.Message"scope="request"> setPropertyname="message"property="*"/> useBean>
留言者:
<%=session.getAttribute("name")%>
留言标题:
<%=MyTools.change(message.getTitle())%>
留言内容:
<%=MyTools.change(message.getContent())%>
Message.java(代码3-5),内容如下//值bean
packagebean.valuebean;//包名
publicclassMessage{
privateStringtitle;//存储留言标题
privateStringcontent;//存储留言内容
publicStringgetContent(){
returncontent;
}
publicvoidsetContent(Stringcontent){
this.content=content;
}
publicStringgetTitle(){
returntitle;
}
publicvoidsetTitle(Stringtitle){
this.title=title;
}
}
Mytools.java(代码3-6),内容如下//工具bean
packagebean.toolbean;//包名
publicclassMyTools{
publicstaticStringchange(Stringstr){//转换字符串
str=str.replace("<","<");
str=str.replace(">",">");
returnstr;
}
}
实验四Servlet的应用
实验内容和要求:
用Servlet来完成实验三的所有任务,即先登录,然后留言,再显示留言。
采用JSP+JavaBean+Servlet开发模式。
实验步骤如下:
1.创建登录页面login.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%>
--注意此处设为get方法--> 用户名: 口令: 2.创建处理登录的Servlet: DoLogin.java,过程如下: 选择项目中src文件夹,NewServlet,弹出CreateanewServlet对话框,设置如下(05为项目名称) 单击next后,见下图,只对Servlet/JspMappingURL : 作如下修改,单击finish. 此时,web.xml中应存在如下Servlet配置信息: 其中, http: //localhost: 8080/05/DoLogin DoLogin.java代码如下 packageservlet; importjava.io.IOException; importjava.io.PrintWriter; importjavax.servlet.ServletException; importjavax.servlet.http.HttpServlet; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; importjavax.servlet.http.HttpSession; publicclassDoLoginextendsHttpServlet{ //因为登录表单是以get方式提交的,所以重写doGet方法,运行时调用此方法 publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ StringuserName=request.getParameter("username");//获取用户名 HttpSessionsession=request.getSession(); session.setAttribute("name",userName);//用户名写入session,显示留言时(showMessage.jsp)需要 StringpassWord=request.getParameter("password");//获取口令 if(userName.equals("admin")&&passWord.equals("123"))//用户名和密码正确 response.sendRedirect("messageBoard.jsp");//重定向到留言页面 else response.sendError(500,"登陆错误,用户名或密码不正确! "); } } 3.创建留言页面messageBoard.jsp <%@pagecontentType="text/html;charset=gb2312"%> —注意此处设为post方法-->留言标题:
4.创建值JavaBean:
Message.java同代码3-5
5.创建工具JavaBean:
Mytools.java同代码3-6
6.创建处理留言的Servlet:
DoMessage.java,如下图:
DoMessage.java代码如下:
packageservlet;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.RequestDispatcher;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclassDoMessageextendsHttpServlet{
//因为留言信息是以post方式提交的,所以重写doPost方法,运行时调用此方法
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
bean.valuebean.Messagemessage=newbean.valuebean.Message();
message.setTitle(request.getParameter("title"));//保存留言标题
message.setContent(request.getParameter("content"));//保存留言内容
request.setAttribute("msg",message);//将对象message保存到request中
//下面2行实现转发到showMessage.jsp
RequestDispatcherdispatcher=request.getRequestDispatcher("showMessage.jsp");
dispatcher.forwar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 程序设计 JSP 实验