WEB程序设计(JSP)实验
1.编写一个JavaScript程序,在JSP页面上输出当前日期。
<%@page language="java"contentType="text/html;charset=gb2312"%>
<%@page import="java.util.Date"%>
<%String today=new Date().toLocaleString();%>
今天是:<%=today%>
实验二JSP语法的应用
实验内容和要求:
1.实现客户在一个登录页面form.jsp(如图2-1)输入登录信息并单击“确定”后跳转到另一个页面doForm.jsp(如图2-2)输出“用户名”和“口令”信息。
图2-1
图2-2
要求:分别用下列三种方法实现。
(1)创建一个JavaBean----User类,该类含有两个属性username和password,给每个属性增加相应的get和set方法。在doForm.jsp页面中用
(2)创建一个JavaBean----User类,该类含有两个属性username和password,给每个属性增加相应的get和set方法。在doForm.jsp页面中采用Java以jsp脚本代码
(scriptlet)方式实例化User类对象,用setAttribute()函数把对象写入request或session中,再使用
(3)不创建JavaBean----User类。在doForm.jsp页面中用getParameter()来获取客户在form.jsp表单中填写的值,最后输出相关信息。
实验三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
实验四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.getPassword().equals(" 123"))
{//将用户名存入session,为了在showMessage.jsp页面中取出
HttpSession session=request.getSession();
session.setAttribute("username",loginForm.getUsername());
return mapping.findForward("succ");
}
return mapping.findForward("fail");
}
1.实现留言处理,如图7-6,7-7,7-8所示
实现MessageAction中的execute()方法
public ActionForward execute(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response){ MessageForm messageForm=(MessageForm)form;//TODO Auto-generated method stub
HttpSession session=request.getSession();
session.setAttribute("msglist",messageForm);
return mapping.findForward("display");
第八章showmessage
<%@page language="java"import="java.util.*"pageEncoding="gb2312"%>
<%@page import="com.yourcompany.struts.form.*"%>
<%
String path=request.getContextPath();
String basePath=
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+pa th+"/";
%>
-->
留言者:${username}
留言标题:${msglist.title}
留言内容:${msglist.content}
图7-1添加FormBean
图7-2创建login.jsp
图7-3创建Action
图7-4
图7-5
图7-6
图7-7
图7-8
实验八Struts应用
实验内容和要求:
实验七的内容作如下完善:
1.对用户输入的用户名和口令作验证,要求用户名和口令不能为空,且口令长度至少有6个字符。
2.用EL表达式和JSTL标签显示和处理留言信息(留言者,留言标题,留言内容)
3.
public ActionForward execute(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response){
MessageForm messageForm=(MessageForm)form;//TODO Auto-generated method stub
HttpSession session=request.getSession();
session.setAttribute("msglist",messageForm);
return mapping.findForward("display");
}
showmessage
<%@page language="java"import="java.util.*"pageEncoding="gb2312"%>
<%@page import="com.yourcompany.struts.form.*"%>
<%
String path=request.getContextPath();
String basePath=
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+pa th+"/";
%>
留言者:${username}
留言标题:${msglist.title}
留言内容:${msglist.content}
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.首页代码