WEB程序设计(JSP)实验
计算机科学与信息学院汪国武
https://www.wendangku.net/doc/3d6736714.html,/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)
{
https://www.wendangku.net/doc/3d6736714.html,ername = 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="java" import="java.util.*" pageEncoding="gb2312"%>
doForm.jsp(代码2-3),内容如下
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
scope="request">
用户名: property="username"/> 口令: 方法(2) User.java同代码2-1,form.jsp同代码2-2 doForm.jsp(代码2-4),内容如下: <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <%@page import="https://www.wendangku.net/doc/3d6736714.html,er"%>
<%
User userInfo=new User();
request.setAttribute("user",userInfo);
%>
用户名:<%=userInfo.getUsername() %>
口令:<%=userInfo.getPassword() %>
方法(3)
form.jsp同代码2-2
doForm.jsp(代码2-5),内容如下:
<%@ page language="java" import="java.util.*"
pageEncoding="gb2312"%>
<%@page import="https://www.wendangku.net/doc/3d6736714.html,er"%>
用户名:<%=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),内容如下
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
doLogin.jsp(代码3-2),内容如下
<%@ page language="java" pageEncoding="gb2312"%>
<%
String userName=request.getParameter("username");//获取用户名
session.setAttribute("name",userName); //用户名写入session,显示留言时需要
String passWord=request.getParameter("password");//获取口令if(userName.equals("admin")&&passWord.equals("123")) //用户名和密码正确
response.sendRedirect("messageBoard.jsp"); //重定向到留言页面
else
response.sendError(500,"登陆错误,用户名或密码不正确!");
%>
messageBoard.jsp(代码3-3),内容如下
<%@ page contentType="text/html;charset=gb2312"%>
showMessage.jsp(代码3-4),内容如下
<%@page contentType="text/html; charset=gb2312"%>
<%@page import="bean.toolbean.MyTools"%>
<%
request.setCharacterEncoding("gb2312");
%>
留言者:<%=session.getAttribute("name") %>
留言标题:<%=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="java" import="java.util.*" pageEncoding="gb2312"%>
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("username");//获取用户名
HttpSession session = request.getSession();
session.setAttribute("name",userName); //用户名写入session,显示留言时(showMessage.jsp)需要
String passWord=request.getParameter("password");//获取口令if(userName.equals("admin")&&passWord.equals("123")) //用户名和密码正确
response.sendRedirect("messageBoard.jsp"); //重定向到留言页面
else
response.sendError(500,"登陆错误,用户名或密码不正确!");
}
}
3.创建留言页面messageBoard.jsp
<%@ page contentType="text/html;charset=gb2312"%>
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 message=new bean.valuebean.Message();
message.setTitle(request.getParameter("title"));//保存留言
标题
message.setContent(request.getParameter("content"));//保存留言内容
request.setAttribute("msg", message);//将对象message保存到request中
//下面2行实现转发到showMessage.jsp
RequestDispatcher
dispatcher=request.getRequestDispatcher("showMessage.jsp" );
dispatcher.forward(request, response);
}
}
7.创建显示留言页面showMessage.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="bean.toolbean.MyTools" %>
<%@page import="bean.valuebean.Message"%>
<%Message message=(Message)request.getAttribute("msg"); %>
留言者:<%=session.getAttribute("name") %>
留言标题:<%=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("admin")&&loginForm.get Password().equals("
123"))
{ //将用户名存入session,为了在showMessage.jsp页面中取出
HttpSession session=request.getSession();
session.setAttribute("userName", loginForm.getUsername()); return mapping.findForward("succ");
}
return mapping.findForward("fail");
}
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("msg", messageForm);
return mapping.findForward("displayMessage"); }
图7-1添加FormBean
图7-2 创建login.jsp
图7-3创建Action
图7-4
图7-5
图7-6
Web应用程序设计综合实验报告题目:网上购物系统 学生姓名: XXX 学号: XXXXXXXXXXX 院(系): XXXXXXX 专业: XXXXXXXXXX 指导教师: XXXXXXXXXX 2014 年 7月 6 日
1、选题背景 随着计算机技术的发展和网络人口的增加,网络世界也越来越广播,也越来越来越丰富,网上商城已经成为网上购物的一股潮流。互联网的跨地域性和可交互性使其在与传统媒体行业和传统贸易行业的竞争中是具有不可抗拒的优势。在忙碌丰富的社会生活中,人们开始追求足不出户就能买到心仪的商品,是越来越多的上网爱好者实现购物的一种方式,对于企业来说,网络交易能大大提高交易速度、节约成本。在这种形势下,传统的依靠管理人员人工传递信息和数据的管理方式就无法满足企业日益增长的业务需求,因而开发了这样一个具有前台后台的网上商城系统,以满足购物者和企业的需求。 因此这次毕业设计题目就以目前现有的网上商城系统为研究对象,研究一般的网上商城的业务流程,猜测其各个功能模块及其组合、连接方式,并分析其具体的实现方式,最后使用Java加web服务器和数据库完成一个网上商城系统的主要功能模块。通过这样一个设计,可以提高自己Java编程的水准,也练习了怎样构建一个完整的系统,从系统的需求分析到设计,直至编码、测试并运行,熟悉并掌握一个完整的Web开发流程,为今后工作打下基础。 1.1设计任务 从以下几个方面实现网络商城的基本功能: 1、用户部分: (1)用户的登录和注册,用户必须注册才能购物,注册时系统会对注册信息进行验证,进入系统或是结账时,用户可以进行登录,登录时,如果密码错误,系统会进行验证并提示错误。 (2)浏览商品,实现用户可以在网络商店中随意浏览商品,商品按类别分类,方便用户查找不同类别的商品 (3)购物车管理,能实现添加商品、删除商品、更新商品的功能。 (4)生成订单,查看购物车后单击下一步则生成订单信息表,一旦提交订单,则购物车就不能被改变。 2、管理员部分:
Web程序设计实验报告 姓名:冯刚 学号:200905030324 班级:计科3班
Html代码: 1.首页代码