web程序设计-jsp实验
更新时间:2023-12-24 16:37:01 阅读量: 教育文库 文档下载
WEB程序设计(JSP)实验
计算机科学与信息学院 汪国武
http://blog.csdn.net/bigfive
实验一 JSP实验环境组建与简单JSP应用 1. 开发环境搭建 Step1:安装和设置JDK
以jdk1.6为例,安装位置C:\\Program Files\\Java\\jdk1.6.0_12 创建环境变量:JAVA_HOME为C:\\Program Files\\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
操作步骤: Window?Preferences?MyEclipse Enterprise Workbench??
MyEclipse?Servers?Tomcat?Tomcat6.x ??Tomcat Server选择Enable
??Tomcat home directory:d:\\tomcat6 ??设置Tomcat运行使用的JDK:展开Tomcat6.x,单击JDK,单击tomcat JDK name:后的
Add,在打开的页面中,单击JRE home后的Directory按钮,选择输入C:\\Program Files\\Java\\jdk1.6.0_12
2.开发和运行JSP程序
??创建Web项目
File?New?Web Project(如:Myjsp) ??新建JSP文件(如firstJsp.jsp) ??编辑JSP文件(可借助DreamWeaver) ??发布项目到Tomcat
右击项目名称Myjsp?MyEclipse?Add and Remove Project Deployments Project:选择Myjsp项目,并单击Add,弹出Project Deployments对话框, 在对话框中,选择server为Tomcat 6.x,并单击Finish ??运行测试
??启动Tomcat 6.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页面中用
化User类对象,再使用
的值赋给对象,最后用
(2) 创建一个JavaBean----User类,该类含有两个属性username和password,给每个属
性增加相应的get和set方法。在doForm.jsp页面中采用Java以jsp脚本代码 (scriptlet)方式实例化User类对象,用setAttribute()函数把对象写入request或
session中,再使用
值赋给对象,最后用jsp表达式的方式把对象的信息输出到页面中。
(3) 不创建JavaBean----User类。在doForm.jsp页面中用getParameter()来获取客户在
form.jsp表单中填写的值,最后输出相关信息。
参考答案:
方法(1)
User.java(代码2-1),内容如下: public class User {
private String username; private String password;
public void setUsername(String username) {
this.username = username; }
public String getUsername() {
return username; }
public void setPassword(String password) {
this.password = password; }
public String getPassword() {
return password; } }
form.jsp(代码2-2),内容如下
<%@ page language=\import=\pageEncoding=\%>
doForm.jsp(代码2-3),内容如下
<%@ page language=\import=\pageEncoding=\%>
口令:
方法(2)
User.java同代码2-1,form.jsp同代码2-2 doForm.jsp(代码2-4),内容如下:
<%@ page language=\import=\pageEncoding=\%>
<%@page import=\%>
<%User userInfo=new User();
request.setAttribute(\,userInfo); %>
口令:<%=userInfo.getPassword() %>
方法(3)
form.jsp同代码2-2
doForm.jsp(代码2-5),内容如下:
<%@ page language=\import=\pageEncoding=\%>
<%@page import=\%>
用户名:<%=request.getParameter(\) %>
口令:<%=request.getParameter(\) %>
实验三 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),内容如下
<%@ page language=\import=\pageEncoding=\%>
doLogin.jsp(代码3-2),内容如下
<%@ page language=\pageEncoding=\%> <%
String userName=request.getParameter(\);//获取用户名
session.setAttribute(\,userName); //用户名写入session,显示留言时需要
String passWord=request.getParameter(\);//获取口令 if(userName.equals(\)&&passWord.equals(\)) //用户名和密码正确
response.sendRedirect(\); //重定向到留言页面 else
response.sendError(500,\登陆错误,用户名或密码不正确!\); %>
messageBoard.jsp(代码3-3),内容如下
<%@ page contentType=\%>
showMessage.jsp(代码3-4),内容如下
<%@ page contentType=\%> <%@ page import=\ %>
request.setCharacterEncoding(\%>
留言者:<%=session.getAttribute(\) %>
留言标题:<%=MyTools.change(message.getTitle()) %>
留言内容:<%=MyTools.change(message.getContent()) %>
Message.java(代码3-5),内容如下//值bean package bean.valuebean;//包名 public class Message {
private String title; //存储留言标题 private String content; //存储留言内容 public String getContent() {
return content; }
public void setContent(String content) {
this.content = content; }
public String getTitle() {
return title; }
public void setTitle(String title) {
this.title = title; }
}
MyTools.java(代码3-6),内容如下//工具bean package bean.toolbean;//包名 public class MyTools {
public static String change(String str) //转换字符串 {
str=str.replace(\str=str.replace(\return str; } }
实验四 Servlet的应用
实验内容和要求:
用Servlet来完成实验三的所有任务,即先登录,然后留言,再显示留言。采用 JSP+JavaBean+Servlet开发模式。
实验步骤如下:
1. 创建登录页面login.jsp
<%@ page language=\import=\pageEncoding=\%>
2. 创建处理登录的Servlet:DoLogin.java,过程如下:
选择项目中src 文件夹,New?Servlet,弹出Create a new Servlet 对话框,设置如下(05 为项目名称)
单击next 后,见下图,只对Servlet/Jsp Mapping URL :作如下修改,单击finish.
此时,web.xml 中应存在如下Servlet 配置信息:
其中,
http://localhost:8080/05/DoLogin
DoLogin.java代码如下 package servlet;
import java.io.IOException; import java.io.PrintWriter;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;
public class DoLogin extends HttpServlet {
//因为登录表单是以get方式提交的,所以重写doGet方法,运行时调用此方法 public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String userName=request.getParameter(\);//获取用户名
HttpSession session = request.getSession();
session.setAttribute(\,userName); //用户名写入session,显示留言时(showMessage.jsp)需要
String passWord=request.getParameter(\);//获取口令 if(userName.equals(\)&&passWord.equals(\)) //用户名和密码正确
response.sendRedirect(\); //重定向到留言页面 else
response.sendError(500,\登陆错误,用户名或密码不正确!\); }
}
3. 创建留言页面messageBoard.jsp
<%@ page contentType=\%>
4. 创建值JavaBean:Message.java同代码3-5
5. 创建工具JavaBean:Mytools.java同代码3-6
6. 创建处理留言的Servlet:DoMessage.java,如下图:
DoMessage.java 代码如下: package servlet;
import java.io.IOException; import java.io.PrintWriter;
import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class DoMessage extends HttpServlet {
//因为留言信息是以post方式提交的,所以重写doPost方法,运行时调用此方法
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException { bean.valuebean.Message bean.valuebean.Message();
message=new
message.setTitle(request.getParameter(\));//保存留言标题
message.setContent(request.getParameter(\));//保存留言内容
request.setAttribute(\, message);//将对象message保存到request中
//下面2行实现转发到showMessage.jsp
RequestDispatcher
dispatcher=request.getRequestDispatcher(\);
dispatcher.forward(request, response); } }
7. 创建显示留言页面showMessage.jsp
<%@ page contentType=\%> <%@ page import=\%> <%@page import=\%>
<%Message message=(Message)request.getAttribute(\); %>
留言者:<%=session.getAttribute(\) %>
留言标题:<%=MyTools.change(message.getTitle()) %>
留言内容:<%=MyTools.change(message.getContent()) %>
实验七 Struts入门
实验内容和要求:
用Struts来完成实验三的所有任务,即先登录,然后留言,再显示留言,要求登录处理
和留言处理均用Struts实现。 参考答案:
准备:新建一个web项目,添加Struts支持(右击项目名称->MyEclipse->Add Struts
Capabilities)。 1.实现登录处理
Step1:打开struts-config.xml文件,切换到design视图,在其区域任一位置右击
->New->Form,Action and JSP,打开创建FormBean对话框(如图7-1)。
??Use case 输入login,然后选定下方的Form Properties标签,并单击Add,添加username
和password两个属性,结果见图7-1;选定JSP标签,设置如图7-2 ,之后单击next 按钮,进入创建Action对话框(如图7-3)。
??选定Forwards标签,创建登录成功-succ和失败-fail (如图7-4)两个Forward,创建结果如图7-5;
??实现LoginAction中的execute()方法
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { LoginForm loginForm = (LoginForm) form;
if(loginForm.getUsername().equals(\)&&loginForm.getPassword().equals(\123\))
{ //将用户名存入session,为了在showMessage.jsp页面中取出
HttpSession session=request.getSession();
session.setAttribute(\, loginForm.getUsername()); return mapping.findForward(\); }
return mapping.findForward(\); }
3. 实现留言处理,如图7-6,7-7,7-8所示 ??实现MessageAction中的execute()方法
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { MessageForm messageForm = (MessageForm) form; request.setAttribute(\, messageForm);
return mapping.findForward(\); }
图7-1添加FormBean
图7-2 创建login.jsp
图7-3创建Action
图7-4
图7-5
图7-6
图7-7
图7-8
两改两建
两改 LoginAction.java MessageAction.java 两建 error.jsp showMessage.jsp
LoginAction.java核心代码
public ActionForward execute(ActionMapping mapping, ActionForm form,
MessageAction.java核心代码
public ActionForward execute(ActionMapping mapping, ActionForm form,
{ }
MessageForm doMessageForm = (MessageForm) form;// TODO HttpSession session=request.getSession(); session.setAttribute(\, doMessageForm); return mapping.findForward(\);
HttpServletRequest request, HttpServletResponse response)
if(dologinForm.getUsername().equals(\)&&dologinForm.getPass
session.setAttribute(\,dologinForm.getUsername() ); }
} else { }
return mapping.findForward(\); return mapping.findForward(\); {
HttpSession session=request.getSession();
word().equals(\))
{
LoginForm dologinForm = (LoginForm) form;// TODO Auto-generated
HttpServletRequest request, HttpServletResponse response)
method stub
Auto-generated method stub
error.jsp代码
<%@ page language=\ contentType=\ pageEncoding=\%> <%
response.sendError(500,\密码或用户名错误\); %>
showMessage.jsp核心代码:
<%@ page language=\ contentType=\ pageEncoding=\%>
<%@page import=\ %> <%
MessageForm tmp=(MessageForm)session.getAttribute(\); %>
username:<%=session.getAttribute(\) %>
title:<%=tmp.getTitle()%>
Content:<%=tmp.getContent() %>
实验八 Struts应用
实验内容和要求:
实验七的内容作如下完善:
1.对用户输入的用户名和口令作验证,要求用户名和口令不能为空,且口令长度至少有6个字符。 2.用EL表达式和JSTL标签显示和处理留言信息(留言者,留言标题,留言内容)
正在阅读:
web程序设计-jsp实验12-24
成功并不像想象中的那么难作文300字06-28
中国古代服装02-18
DCRC工作流程05-02
2012经济学诺贝尔奖获得者的相关综述03-02
假如变成另一个人作文600字06-30
合肥工业大学电力系统自动装置原理复习题(题库)及答案07-09
环境监测 第二章 - 水和废水监测 - 例题和习题01-15
南开大学学术规范方案结业考试12-28
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 程序设计
- 实验
- web
- jsp
- 国家公务员考试:巧妙批注申论“给定资料”
- 工程施工应急预案
- RIP命令完全解析
- 2009年江苏省教师资格证考试中学教育学真题及答案
- “十三五”重点项目-蓝莓野果汁饮料项目节能评估报告(节能专篇)
- 2013年高三第二轮复习专题测试题(3)(数学-函数的概念与性质)
- 用数学的眼光看待生活中的事物
- 工厂废气处理方案
- 智能控制--仿真作业
- 人教实验版三年级上册期末模拟检测卷含答案(八)
- 安全生产费用使用清单
- 幼儿园环境与卫生检查表
- 川教版八年级下册历史知识重难点
- 毕业论文
- 2018-2019人教版七年级生物上册1.2.3生物圈是最大的生态系统练习(含解析)-教师用卷
- 国家电网基建699号-关于印发《国家电网公司工程建设质量管理规定(试行)》的通知
- 中国布艺用丝线市场发展研究及投资前景报告(目录) - 图文
- 2019-2025年中国点歌机市场研究及发展趋势预测(目录) - 图文
- 2010年楚雄州体育运动学校关于评选表彰优秀教师的通知
- 北师大版四年级数学上册《乘法》导学案(整理)