JSP程序设计实验报告
实验报告6月8日交,源代码不必全写,给的源代码仅供参考
课程设计6月8日交(至少7页)
课程设计应该:
1.系统总体设计(功能设计、数据库设计)
2.界面设计(要有图)
3.系统实现(部分源代码)
4.运行测试
附交源程序
实验一JSP编程环境3月9日
一、实验目的
1.搭建Web编程环境,能正确安装配置java运行环境、WEB服务器
2.掌握正确运行jsp文件的方法
二、实验内容
1.安装并配置java运行环境JDK和JRE
2.安装Web服务器tomcat, 配置Tomcat服务器
三、实验步骤
1、JDK、JRE安装结果:
2、Classpath和path、Java_Home设置
path为java的bin目录,Classpath为jre中rt.jar目录,Java_Home为及java安装目录
3、安装并配置Tomcat
安装Tomcat服务器后并启动之。即:
启动Tomcat服务器目录中bin\startup.bat文件。
在“开始菜单--运行”中输入http://localhost:8080/点击确定。
4、第一个JSP文件
在Tomcat服务器目录webapps\ROOT下:
1)新建一个文本文件,改名为first.jsp.
2)右击此文件,选择打开方式为记事本。
3)编辑内容如下:
<%@ page contentType="text/html;charset=GB2312" %>
JSP页面的测试
<% int x=100,y=500,z;
z=x+y;
%>
x+y的和为:<%= z %>
4)在地址栏或者运行菜单输入http://localhost:8080/first.jsp回车,然后观察运行结果
5、要求,理解常用html标签的含义:
请输入1至100之间的整数:
<% String num=request.getParameter("number"); if(num==null) { num="0"; } try { int n=Integer.parseInt(num); if(n>=1&&n<=50) { %> <% } else if(n>50&&n<=100) { %> <% } } catch(Exception e) { %> <% } %> two.jsp <%@ page contentType="text/html;charset=GB2312" %> This is two.jsp. <% String s=request.getParameter("number"); out.println(" %>
three.jsp <%@ page contentType="text/html;charset=GB2312" %> This is three.jsp. <% String s=request.getParameter("number"); out.println(" %>
error.jsp <%@ page contentType="text/html;charset=GB2312" %> This is error.jsp. <% String s=request.getParameter("mess"); out.println(" %> 实验三内置对象3月30 一、实验目的 1.正确理解request、session、application三个对象的作用域 2.能正确处理汉字乱码问题 二、实验内容 1.编写一个会员系统,首页home.jsp,必须是会员登陆之后才能浏览的3个页面: tupian.jsp、dianying.jsp、wenxue.jsp 2.请同学们在首页中增加访客计数器和点击率 三、实验步骤 home.jsp <%@ page contentType="text/html;charset=GB2312" %> 用户名: 密 码: <% String name=request.getParameter("name"); if(name!=null) { if(name.length()!=0) {session.setAttribute("guest",name); out.println(name+"已经登陆"); } } %> tupian.jsp <%@ page contentType="text/html;charset=GB2312" %> <% String str=(String)session.getAttribute("guest"); if(str==null) response.sendRedirect("home.jsp"); else out.print(" "+str+" 已登陆 "); %>会员活动图片区 dianying.jsp <%@ page contentType="text/html;charset=GB2312" %> <% String str=(String)session.getAttribute("guest"); if(str==null) response.sendRedirect("home.jsp"); else out.print(" "+str+" 已登陆 "); %>会员活动电影区 wenxue.jsp <%@ page contentType="text/html;charset=GB2312" %> <% String str=(String)session.getAttribute("guest"); if(str==null) response.sendRedirect("home.jsp"); else out.print(" "+str+" 已登陆 ");%> 会员活动文学区 2.访客计数器和点击率 <%! int personcount=0;%> <% String str=(String)session.getAttribute("count"); if(str==null) { personcount++; String count=String.valueOf(personcount); session.setAttribute("count",count); } %> 您是第<%=(String)session.getAttribute("count")%> 个访问本网站的客户。 <%! int pointcount=0; //被所有客户共享的pointcount synchronized void setCount() //synchronized修饰的方法 { pointcount++; } %> <% setCount(); out.println("本页面被点击次数"+pointcount); %> 实验四、jsp与javaBean 实验目的 1、学会如何正确使用javaBean 实验内容 1、在一个页面使用javaBean显示当前月的月历 实验步骤 1)编写CalendarBean.java,编译生成一个class文件 (新建一个文本文件,改扩展名为.bat文件,编辑文件内容为javac CalendarBean.java,然后双击这个文件即可生成CalendarBean.class文件) 2)将这个class文件拷贝到WEB-INF\classes\tom\jiafei目录下(没有相应的目录就建立相应的目录) 3)重新启动tomcat服务器 4)运行jsp文件,显示日历 CalendarBean.java package tom.jiafei; import java.util.*; public class CalendarBean { String calendar=null; int year=-1,month=-1; public void setY ear(int year) { this.year=year; } public int getY ear() { return year; } public void setMonth(int month) { this.month=month; } public int getMonth() { return month; } public String getCalendar() { StringBuffer buffer=new StringBuffer(); Calendar rili=Calendar.getInstance(); rili.set(year,month-1,1); //将日历翻到year年month月1日,注意0表示一月, //依次类推,11表示12月。 //获取1日是星期几(get方法返回的值是1表示星期日,返回的值是7表示星期六): int 星期几=rili.get(Calendar.DAY_OF_WEEK)-1; int day=0; if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) { day=31; } if(month==4||month==6||month==9||month==11) { day=30; } if(month==2) { if(((year%4==0)&&(year%100!=0))||(year%400==0)) { day=29; } else { day=28; } } String a[]=new String[42]; //存放号码的一维数组 for(int i=0;i<星期几;i++) { a[i]="**"; } for(int i=星期几,n=1;i<星期几+day;i++) { a[i]=String.valueOf(n) ; n++; } for(int i=星期几+day,n=1;i<42;i++) { a[i]="**" ; } //用表格显示数组: buffer.append("
calendar=new String(buffer); if(year!=-1) { return calendar; } else { return "选择一个年份和月份单击提交键"; } } } showcalendar.jsp <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="tom.jiafei.*"%> <%@ page import="java.util.*"%> <% Date date=new Date(); int year=date.getY ear()+1900;//1900是修正值 int month=date.getMonth()+1; rili.setY ear(year); rili.setMonth(month); %> 实验五、jsp文件操作3月30 实验目的 1、掌握一种使用javaBean的文件上传的方法,在使用过程中逐步完善这个javaBean;实验内容 1、上传一个文件到根目录中的upload文件夹 实验步骤 1)由于编译这个javaBean时需要导入servlet-api.jar包,所以要在环境变量classpath 后面指定这个包的位置,生成class文件之后,jsp文件运行不要这个包。 2)编写jsp文件运行之,观察上传文件的结果 3)思考文件重名、文件路径、文件大小等情况 UpFile.java package tom.jiafei; import java.io.*; import java.util.*; import java.util.Date; import javax.servlet.http.*; public class UpFile { HttpServletRequest request; HttpSession session; String upFileMessage=""; public void setRequest(HttpServletRequest request) { this.request=request; } public void setSession(HttpSession session) { this.session=session; } public String getUpFileMessage() { String fileName=null; try{ String tempFileName=(String)session.getId();//客户的session的id File f1=new File("./",tempFileName); FileOutputStream o=new FileOutputStream(f1); InputStream in=request.getInputStream(); byte b[]=new byte[10000]; int n; while( (n=in.read(b))!=-1) { o.write(b,0,n); } o.close(); in.close(); RandomAccessFile random=new RandomAccessFile(f1,"r"); int second=1; //读出f1的第2行,析取出上传文件的名字: String secondLine=null; while(second<=2) { secondLine=random.readLine(); second++; } //获取第2行中目录符号'\'最后出现的位置 int position=secondLine.indexOf("file"); //客户上传的文件的名字是: fileName=secondLine.substring(position+10,secondLine.length()-1);// if(fileName.indexOf("\\")!=-1) { position=https://www.360docs.net/doc/5110013588.html,stIndexOf("\\"); fileName=secondLine.substring(position+1,secondLine.length()-1);} Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()); long preName=(calendar.getTimeInMillis()); fileName=preName+fileName; byte cc[]=fileName.getBytes("ISO-8859-1"); fileName=new String(cc);//System.out.println(fileName); session.setAttribute("Name",fileName);//供show.jsp页面使用 random.seek(0); //再定位到文件f1的开头。 //获取第4行回车符号的位置: long forthEndPosition=0; int forth=1; while((n=random.readByte())!=-1&&(forth<=4)) { if(n=='\n') { forthEndPosition=random.getFilePointer(); forth++; } } //根据客户上传文件的名字,将该文件存入磁盘: File f2= new File("../webapps/ROOT/upload",fileName); RandomAccessFile random2=new RandomAccessFile(f2,"rw"); //确定出文件f1中包含客户上传的文件的内容的最后位置,即倒数第6行。random.seek(random.length()); long endPosition=random.getFilePointer(); long mark=endPosition; int j=1; while((mark>=0)&&(j<=6)) { mark--; random.seek(mark); n=random.readByte(); if(n=='\n') { endPosition=random.getFilePointer(); j++; } } //将random流指向文件f1的第4行结束的位置: random.seek(forthEndPosition); long startPoint=random.getFilePointer(); //从f1读出客户上传的文件存入f2(读取从第4行结束位置和倒数第6行之间的内容) while(startPoint { n=random.readByte(); random2.write(n); startPoint=random.getFilePointer(); } random2.close(); random.close(); f1.delete(); //删除临时文件 upFileMessage=fileName;//+" Successfully UpLoad"; return upFileMessage; } catch(Exception exp) { if(fileName!=null) { upFileMessage=fileName+" Fail to UpLoad"; return upFileMessage; } else { upFileMessage=""; return upFileMessage; } } } } upfile.jsp <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="tom.jiafei.UpFile" %> 选择要上传的文件:
<% upFile.setRequest(request); upFile.setSession(session); %> 实验五、数据库操作4月13 一、实验目的 1、掌握在jsp文件中如何使用数据库 实验内容 1、用数据源链接读取数据库 2、用纯java驱动读取数据库 3、对数据库记录分页显示 实验步骤 1、用数据源链接读取数据库 1)创建数据库,创建数据库表; 2)控制面板中创建数据源 3)jsp文件中链接数据库,并显示表中记录 2、用纯java驱动读取数据库 1)网络下载包文件,存放在WEB-INF/lib目录下,重启服务器 2)注意数据库必须更新到SP4 3)jsp文件中链接数据库,并显示表中记录 3、对数据库记录分页显示 1)修改或者直接使用课本中的javabean实现分页显示 2)注意数据库必须更新到SP4 参考代码 1.news.jsp <% Connection con; Statement sql; ResultSet rs; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } { out.print(e); }//-------try 加载数据源驱动 try { con=DriverManager.getConnection("jdbc:odbc:news","sa","sa"); sql=con.createStatement(); rs=sql.executeQuery("SELECT * FROM news order by times desc"); int i=1; while(rs.next()&&i<=10) { out.print(" String title=rs.getString(1);%> <% i++; } con.close(); } catch(SQLException e1) { out.print(e1); }//-------try 链接数据库并显示表中的10条记录的title字段 } 2.纯java驱动链接数据库只是加载驱动的语句有点差别,jsp文件没多大差别。此种方式下 比前者更先进,但机房sql没有sp4 3.分页显示newslist.jsp <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="tom.jiafei.ShowRecordByPage" %> <%@ include file="head.txt" %> Jsp课程设计实验报告《jsp程序设计》 Jsp课程设计实验报告 题目学生成绩管理系统 专业 班级 姓名 指导教师 2011年6月28日 目录 一、绪论----------------------------------------------------------------------------------------------------------------- 3 1、系统开发背景 ----------------------------------------------------------------------------------------------- 3 2、项目开发的目标-------------------------------------------------------------------------------------------- 3 3、系统开发所用的技术设备------------------------------------------------------------------------------- 3 二、需求分析 ---------------------------------------------------------------------------------------------------------- 3 1、系统需求分析 ----------------------------------------------------------------------------------------------- 3 2、用户需求 ----------------------------------------------------------------------------------------------------- 4 3、系统框架图如下: ---------------------------------------------------------------------------------------- 5 4、系统设计思想 ----------------------------------------------------------------------------------------------- 5 5、系统设计分析 ----------------------------------------------------------------------------------------------- 5 三、数据库的设计---------------------------------------------------------------------------------------------------- 6 1、本系统将数据存储在七个表中,这七个表分别是 ---------------------------------------------- 6 2、建立数据库的命令如下:------------------------------------------------------------------------------- 8 3、建立数据表的命令如下:------------------------------------------------------------------------------- 8 四、关键技术及代码------------------------------------------------------------------------------------------------- 9 1、管理员登录代码-------------------------------------------------------------------------------------------- 9 2、从数据库中获取用户名和密码的代码。 --------------------------------------------------------- 10 3、留言板的相关代码。 ----------------------------------------------------------------------------------- 12 五、测试--------------------------------------------------------------------------------------------------------------- 16 1、登录界面的测试: -------------------------------------------------------------------------------------- 16 2、查询页面: ------------------------------------------------------------------------------------------------ 18 3、添加页面: ------------------------------------------------------------------------------------------------ 18 4、删除页面: ------------------------------------------------------------------------------------------------ 19 5、修改页面 --------------------------------------------------------------------------------------------------- 20 六、总结--------------------------------------------------------------------------------------------------------------- 20 七、参考文献 -------------------------------------------------------------------------------------------------------- 20 web WEB JSP实验报告书实验1 网页程序设计-JavaScript 一、实验目的 1. 掌握JavaScript技术,基本掌握JavaScript的开发技巧; 2. 利用文本编辑器建立JavaScript脚本语言进行简单编程。 二、实验要求: 1. 根据以下实验内容书写实验准备报告。 2. 独立完成实验。 三、实验内容 1.显示一个动态的时钟 在文本编辑器“记事本”中输入如下代码程序,请仔细阅读下列程序语句,理解每条语句的作用。源程序清单如下: jsp学生管理系统课程设计报告学号:0965111006 杭州师范大学 钱江学院 课程设计 题目学生信息管理系统 教学院信息与机电工程分院 专业计算机科学与技术 班级计算机091 姓名方伟宏 指导教师吕明琪 2011 年12 月25 日 目录 一.概述 (3) 二.系统的结构分析与设计 (3) 2.1 整体设计 (3) 2.2 模块设计 (4) 三.系统的实现 (5) 3.1 登录界面 (5) 3.2 学生信息界面 (6) 3.3 学生信息查询,编辑,新增界面 (7) 3.4 连接数据库 (11) 四.总结................................................................................................. .16 一概述 一直以来学生的成绩管理是学校工作中的一项重要内容,我国的大中专院校的学生成绩管理水平普遍不高。随着办学规模的扩大和招生人数的增加,建立一个成绩维护系统是非常必要的。普通的成绩管理已不能适应时代的发展,因为它浪费了许多的人力和物力。在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。为了提高成绩管理的效率,我选择了学生成绩管理系统作为毕业设计的课题。 本系统在大多数成绩管理系统的基础上,主要增加了教师对成绩的操作,教师改完试卷后不用在往学院的教务处办公室报送成绩,可以直接的把成绩上传到网络上,学生也可以方便快速的查询到自己的成绩,考试后教务管理人员也不必总呆在学院的办公室,他们都不受时间,位置,空间的限制,只要有上网的条件,在家里就可 二系统的结构分析与设计 2.1 整体结构设计 基于系统的使用对象是管理员,系统根据功能需要分为三个模块,即学生基本信息管理、新增学生信息管理和查询学生信息管理。采用B/S模式,jsp+SQL 2008+JavaBean 的技术形式实现。 2.1.1 用户角色设计及权限分配 管理员:拥有管理系统所有功能的权限,同时负责系统的用户的增删,服务功能的起停,数据的备份、还原等维护操作; 2.1.2 系统模块设计 学生信息管理系统包括三个基本模块:学生基本信息管理、新增学生信息管理和查询学生信息管理。三个模块管理功能不一,同时相互之间又有联系。 图1 2.1.3 系统运行模式设计 系统采用B/S(Browser/Server)模式,使管理更加方便和简单,B/S结构中各个客户 jsp实验报告49775Jsp实验报告 课程设计名称:兼职网站 系:交通运输管理学院学生姓名: 班级: 学号: 成绩: 指导教师: 开课时间:2013学年第2 学期 一.设计题目 兼职网站 二.主要内容 本网站涉及兼职信息、用户信息的数据管理。从管理的角度可将信息分为两类:兼职信息管理、用户数据管理。用户数据管理为用户的登录判定,兼职信息管理包括兼职信息显示及兼职信息的录入、查询和删除。 (1)用户的登录判定 (2)录入兼职的信息,并保存到数据库中 (3)根据用户的需求选择查询方式,查询相关兼职信息 (4)将信息从数据库中删除 三.具体要求 (1)建立数据库表格存储用户数据(用户名及密码)。 (2)建立数据库表格存储兼职信息,主要包括ID、兼职名称、地点、工资和联系方式。 (3)编写jsp 语句连接数据库 (4)利用request函数提交表单,获取输入信息 (5)以SQL语句对数据库进行操作,完成信息的添加,查询及删除等功能。四.进度安排 五.成绩评定 正文 1、系统的需求分析和功能设计 随着电子信息在人们生活中的的使用比重不断增加,人们越来越习惯在网站上查找自己所需 要的信息不仅仅只是因其快捷,更因其接触的面更加广泛,信息的基础量足够大,足以满足人们更加细化的需求。在寻找兼职体验工作生活或赚取生活费用时,可以减少时间的浪费及其他不必要的消耗。 本网站涉及兼职信息、用户信息的数据管理。从管理的角度可将信息分为两类:兼职信息管理、用户数据管理。用户数据管理为用户的登录判定,兼职信息管理包括兼职信息显示及兼职信息的录入、查询和删除。用户登录后可以根据自己的需要对信息进行添加、查询和删除的操作 2、源程序及注释 主页:<%@page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|