JSP应用开发(Java方向)实验指导书
《JSP程序设计》实验指导书
软件工程系《JSP程序设计》实验指导书专业班级:电商10指导教师:朱亚玲实验一熟悉Java运行环境一、实验目的1.熟悉java的运行环境,并配置环境变量;2.熟悉java程序的编译、解释执行过程;3.初步了解编译过程中的出错信息,改正错误;4.初步掌握Java的编程规则;5.了解并熟悉java的基本数据类型及其操作;6.初步掌握编程结构的特点;了解并熟悉循环结构的设计方法。
二、实验环境与地点PC机一台:JDK6.0+Tomcat6.0+编辑器三、实验内容与步骤1.查看JDK的安装路径、系统变量path的值,并进行记录。
(1)JDK的安装目录是:(2)path的值:2.利用写字板编写一个java源文件,输出以下信息。
中国科学院院士北京大学计算机科学技术系教授杨芙清把源程序保存到目录D:\dianshang10下,并进行编译和运行,得到正确结果。
(1)源程序:public class First { public static void main (String args[]) {System.out.println("中国科学院院士");System.out.println("北京大学计算机科学技术系教授");System.out.println("杨芙清");(2)} }(3)运行步骤及结果:3.在D:\dianshang10目录下有一个Java源文件Area.java,用来求圆的面积。
源文件内容如下:public class area{ //main():程序入口public static void main(String[] args){ //定义常量π,并用标识符VALUE_PAI表示final double VALUE_PAI=3.14;//设置半径double radius=2.5;//进行计算double area=VALUE_PAI*radius*radius;//显示结果System.out.println("The radius is: "+radius);System.out.println("The area of thiscircle is:"+" "+area);}}编译情况如右图所示:根据错误提示,找出错误原因并改正,运行出正确结果并记录。
java实验指导书
实验1 Java运行环境及简单应用程序开发一、实验目的(1)可以安装并配置Java运行环境。
(2)掌握Java中path和classpath的属性作用。
(3)可以编写一个简单的Java应用程序。
(4)掌握Java应用程序的开发流程。
二、实验内容及步骤1.安装并配置运行环境(1)任务安装JA V A SE,检查和设置环境变量path。
(2)步骤第一步:安装JA V A SE,安装后在安装目录下应有jdk和jre文件夹。
第二步:设置环境变量path,步骤参见教材P7。
第三步:检查环境变量path,可在命令提示符下使用命令javac –version 检查path是否配置好及jdk的版本。
第四步:如运行或编译程序时出错,可配置classpath,步骤参见教材P7。
(3)问题:程序中的主类如果不用public修饰,编译能通过吗?程序中的主类如果不用public修饰,能正确运行吗?编译器怎样提示丢失大括号的错误?编译器怎样提示语句丢失分号的错误?编译器怎样提示将System写成system这一错误?编译器怎样提示将String写成string这一错误?(4)实验报告将上述思考题写在实验报告上。
2. 编写简单的Java应用程序(1)任务任务一:在屏幕上输出“我喜欢学习java”。
任务二:在屏幕上输出出以下信息:******************************** java程序设计*******************************(2)步骤第一步:使用记事本或EDIT编写源程序,源程序内容参见教材P9例1-1。
第二步:保存并为源程序命名。
保存时若使用记事本,保存类型请选择“所有类型”,命名规则参见教材P9,保存类型为.java。
第三步:打开命令提示符,进入源程序保存的文件夹下,使用编译器对其进行编译:如javac Hello.java。
第四步:如编译时无任何提示,说明源程序无错误,可对生成的class文件进行解释并执行,如java Hello,此步省略.class。
jsp应用技术实验指导书新(1)
jsp应用技术实验指导书新(1)
软件工程系《JSP应用技术》实验指导书
专业班级:软件10-1、2
指导教师:刘瑞玲
实验一 JSP开发环境的搭建
一、实验目的
1.熟练掌握T omcat服务器的安装与配置,为后续实验做好准备工作;
2.掌握Web服务目录的设置;
3.熟练掌握Web服务目录下JSP页面的访问;
4.掌握Tomcat服务器端口号的修改。
二、实验环境与地点
PC机一台:JDK6.0+Tomcat6.0+编辑器
三、实验内容与步骤
1.Tomcat服务器的安装与配置;
(1)下载jdk6.0进行安装,同时配置系统变量PATH与CLASSPATH。
(2)下载Tomcat6.0,将其安装到硬盘的某个分区,如D:\\。
2.Web服务目录的设置;
(1)在D:\\下新建一个目录,名称为student,将student目录设置为Web服务目录,并为该Web 服务目录指定名字为friend的虚拟目录。
打开Tomcat目录中conf文件夹里的文件,找到出现。
Java开发技术_实验指导书
Java开发技术实验指导书《Java开发技术》课程组编写信息管理学院二○一一年十一月前言《Java 开发技术》课程主要通过开发一个完整的软件项目,让学生掌握Java语言的面向对象特性和基础类库的使用,熟悉J2EE 平台的搭建和环境下的编程,熟练掌握Eclipse 开发工具的使用,掌握面向对象软件开发的一般步骤和相应文档的编制,能够设计、调试、运行一个完整的应用系统。
使学生在实践中加深理解规范的软件工程思想,提高开发过程中的团队意识,锻炼学生书面和口头表达能力,为将来基地实习、毕业设计打下坚实的基础。
该课程设计过程将会较直接地综合运用下面的知识:(1) Java Applet,GUI,多线程,Socket,JSP 和JDBC;(2) Eclipse 开发工具的使用;(3) J2EE 平台的搭建和环境配置;(4)数据库设计和应用的相关知识。
目录第一部份绪论 (1)第二部份基本实验指导 (3)实验一 Java环境的安装与配置与简单的Java程序 (3)实验二 Java语言基础 (4)实验三 Java面向对象程序设计基础 (5)实验四 Java面向对象高级程序设计 (6)实验五字符串处理 (7)实验六 Java标准类库 (8)实验七 Java异常处理 (9)实验八输入输出处理 (10)实验九 Java多线程 (11)实验十 Java GUI设计 (12)实验十一 JDBC技术 (13)实验十二网络通讯 (14)实验十三 JSP、Servlet及综合性程序开发 (15)第一部份绪论本指导书是根据《Java开发技术》课程实验教学大纲编写的,适用于信息管理与信息系统/计算机科学与技术专业。
一、本课程实验的作用与任务通过课程的学习,使学生掌握Java面向对象的基础编程,包括Java语言的基本语法和编程规范、数据类型、流程控制、类、继承、接口、字符串、异常及常用基础类库;掌握Java的线程、输入输出技术、图形界面编程、JDBC数据库技术等;掌握Java语言的网络编程方法与技术,包括Applet、网络通信技术、Java安全技术、JSP和Servlet技术、Java EE概念及流行框架、Java ME技术等;掌握Java面向对象编程的思想和实践,综合运用程序设计基础、数据库系统原理、管理信息系统等前导课程的理论方法,培养学生一定的信息系统分析设计与开发的能力。
jsp实验指导书
isLogin=false;
}
String name=req.getParameter("username");//获取表单上的用户名
String password=req.getParameter("password");//获取表单上的密码
if(isLogin==true){
import javax.servlet.http.HttpSession;
public class LoginServlet extends HttpServlet{
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
实验步骤:
1.创建一个Web工程,名称为login。
2.在工程的sunyang包下创建一个Servlet类LoginServlet.java,该类用来输出登录页面和欢迎用户登录的信息。类LoginServlet的代码如下:
import java.io.IOException;
import java.io.PrintWriter;
name=(String)session.getAttribute("name");
out.println("<center><h2>欢迎"+name+"登录</h2></center>");
}else if(name!=null&&password!=null){
session.setAttribute("name", name);//把用户名保存在HttpSession中
jsp实验指导书1-推荐下载
实验一使用HTML进行在线调查问卷设计一、实验目的:1.复习使用记事本编辑网页的方法。
2.熟悉不同表单控件类型的应用。
3.练习使用记事本在网页中添加表单与表单元素。
二、实验内容:根据提供的素材设计在线调查问卷。
三、实验要求:1.熟练掌握使用记事本进行简单网页编辑的方法。
2.能够区分不同表单元素的应用场景。
3.掌握表单与表单元素的元素名和属性对。
四、实验学时:4学时五、实验步骤:0.实验准备:(1)在硬盘上为本实验建立文件夹(以下称为“实验文件夹”)。
1.根据提供的素材设计在线调查问卷:(1)从开始菜单启动记事本;(2)在记事本中,录入一个最简合法HTML文档;(3)设置该文档最终在浏览器中显示的标题为“企业电子商务调查问卷”;(4)打开本实验提供的WORD文档questionnaire.doc,这个调查问卷比较长,浏览该调查问卷的内容。
由于该调查问卷比较长,选取并标示该调查问卷中具有代表性的问题(更改一下文本背景),准备将它们在网页中进行实现,保存该WORD文档;(5)在记事本中添加表单;(6)在表单中插入表单元素,用于在网页中显示步骤(4)中标示的问题及答案;(7)为表单添加提交和重置按钮;(8)保存网页为questionaire.htm。
提示:本实验没有标准答案,但是在将WORD文档中的调查问题及答案移植到网页中时,要尽可能多地使用到讲过的表单元素(如文本框、单选按钮、复选按钮、下拉菜单/列表、框架等)。
另外,网页上调查问卷的答案的表现形式与并不一定要与WORD中的一致,而是应该选择使用更符合需要的表单元素,例如对于答案选项比较多的问题来说,应该优先选用下拉菜单/列表,单选使用下拉菜单,多选使用列表。
六、实验代码:实验二生成简单动态网页一、实验目的1、掌握tomcat配置及使用方法;2、进一步熟悉HTML基本语法;3、熟悉JSP基本语法;4、掌握HTML与JSP指令、动作元素结合来设计web页面。
《Web开发技术》实验指导书的模板(JSP版)
《Web开发技术》实验指导书模板(JSP版)目录实验一搭建JSP运行的实验环境 (1)实验二JSP页面 (3)实验三显示不同大小的“你好JSP” (7)实验四JSP指令和动作 (10)实验五Tag文件的代码复用 (12)实验六中文显示服务器端日期 (14)实验七JSP内置对象 (19)实验八session对象 (23)实验九简易留言板 (28)实验十JSP中使用Java Bean (31)实验十一JSP中的文件操作 (41)实验十二JSP中使用数据库 (48)实验十三Java Servlet (66)实验十四网上书店 (71)实验报告 (76)实验一搭建JSP运行的实验环境一、实验目的(1)掌握JSP运行环境的安装与配置(2)理解JSP与Servlet的关系(3)运行简单的JSP页面,理解JSP的运行原理二、实验工具(1)JDK1.4、JDK1.5或JDK1.6,可以从SUN公司的网站免费下载(2)编辑工具-记事本(3)Tomcat服务器,也可以从网上免费下载三、实验步骤(1)按教材中演示安装JDK(2)按教材中演示安装Tomcat(3)启动Tomcat服务器,在浏览器中输入:http://localhost:8080,观察主页内容(4)观察Tomcat安装目录下的各个子目录的内容(5)打开记事本,输入下列源代码并保存为exer1.jsp。
将此文件复制到Tomcat安装目录下的webapps\ROOT目录下,运行该页面,观察其对应的Servlet源代码。
exer1.jsp的代码:<%@ page contentType="text/html;charset=GB2312" %> <!-- jsp指令标签--><%@ page import="java.util.Date" %> <!-- jsp指令标签--><%! Date date; // 数据声明int sum;public int add(int m,int n) // 方法声明{ return m+n;}%><HTML><BODY bgcolor=cyan> <!—html标记--><FONT size=4><P>程序片创建Date对象:<% Date date=new Date(); //java程序片out.println("<BR>"+date);sum=add(12,34);%><BR>在下一行输出和:<BR><%= sum+100 %> <!-- Java表达式--></FONT></BODY></HTML>(6)将exer1.jsp文件复制到Tomcat安装目录下的webapps\examples目录下,运行该页面,观察其对应的Servlet源代码。
JSP程序设计实验指导书
《JSP编程》教学及实验大纲徐州师范大学计算机科学与技术学院2009年12月《JSP编程》课程实验指导书说明与约定一、编写原则编写本指导书的指导原则是:以适应市场经济对计算机专业人才的需要和学生就业需求为宗旨,以学生的实践动手能力培养为重点,突出学生学习的主体地位,给定题目及要求,以学生为主,独立或小组协作完成;鼓励学生创新;实验过程中和课余的其他时间,教师应以辅导、指导、引导为主要教学手段;加强考核,以实践能力考核为指挥棒,促使学生重视程序设计能力的提高。
二、总体要求实验课之前要写出实验预习报告(重点:实验名称、源代码)。
体现Java编程风格(源代码缩进Tab4,块花括号在类、方法名同行,等等),每个类、每个方法都要有功能说明,其说明用文档注释方式表示/*……*/。
实验课开始后,逐个检查签字登记预习报告书写情况,作为评定实验成绩的依据之一。
任课教师给出FTP服务器的地址,学生登录的用户名、密码等。
实验任务完成时让任课教师检查后,并立即上传到指定的FTP服务器,上传的文件以工程文件夹为文件名压缩而成,其组成要符合要求,压缩文件中应该有相应实验的工程文件夹和Word文档(用将至少3套不同的数据运行程序,把运行结果图抓下来)。
实验一JSP页面与JSP标记(2学时)一、实验目的1.掌握JDK的安装配置2.熟悉Tomcat的配置3.测试JSP的运行环境4.掌握JSP的页面的基本结构5.掌握JSP的指令标记和动作标记二、实验要求1.实验课之前,下载最新版本的JDK和Tomcat,并在自备微机上安装配置。
2.实践内容:根据实验任务1~任务3要求,编写程序,调试运行。
3.该实验共有3个任务。
要求在webapps目录下新建一个Web服务目录:test1。
除特别要求外,本章实验中涉及的JSP页面均保存在test1中。
任务1JSP页面的基本结构1.相关知识点一个JSP页面可由普通的HTML标记、JSP标记、成员变量和方法的声明、Java 程序片以及Java表达式组成。
《JSP程序设计》实验指导书
软件工程系《JSP程序设计》实验指导书专业班级:电商10指导教师:朱亚玲实验一熟悉Java运行环境一、实验目的1.熟悉java的运行环境,并配置环境变量;2.熟悉java程序的编译、解释执行过程;3.初步了解编译过程中的出错信息,改正错误;4.初步掌握Java的编程规则;5.了解并熟悉java的基本数据类型及其操作;6.初步掌握编程结构的特点;了解并熟悉循环结构的设计方法。
二、实验环境与地点PC机一台:JDK6.0+Tomcat6.0+编辑器三、实验内容与步骤1.查看JDK的安装路径、系统变量path的值,并进行记录。
(1)JDK的安装目录是:(2)path的值:2.利用写字板编写一个java源文件,输出以下信息。
中国科学院院士北京大学计算机科学技术系教授杨芙清把源程序保存到目录D:\dianshang10下,并进行编译和运行,得到正确结果。
(1)源程序:public class First { public static void main (String args[]) {System.out.println("中国科学院院士");System.out.println("北京大学计算机科学技术系教授");System.out.println("杨芙清");(2)} }(3)运行步骤及结果:3.在D:\dianshang10目录下有一个Java源文件Area.java,用来求圆的面积。
源文件内容如下:public class area{ //main():程序入口public static void main(String[] args){ //定义常量π,并用标识符VALUE_PAI表示final double VALUE_PAI=3.14;//设置半径double radius=2.5;//进行计算double area=VALUE_PAI*radius*radius;//显示结果System.out.println("The radius is: "+radius);System.out.println("The area of thiscircle is:"+" "+area);}}编译情况如右图所示:根据错误提示,找出错误原因并改正,运行出正确结果并记录。
[工学]JSP实验指导书
[工学]JSP实验指导书目录试验一:熟悉JSP开发环境1 ..........................................................2 试验二:熟悉JSP开发环境2 ..........................................................3 试验三:熟悉jsp代码编写方式......................................................4 试验三:基本内置对象的使用(application,session,out) ............ 4 试验四:基本内置对象的使用(request,execption) ....................5 试验五:页面信息跟踪传递 ............................................................ 6 试验六:JavaBean使用 ....................................................................8 试验七:数据库基本访问处理 ...................................................... 10 试验八:数据库连接池使用 ..........................................................11 试验九:Struts基本结构 ............................................................... 12 试验十:Struts文件上传 ............................................................... 14 试验十一:Hibernate基本支持 (18)试验一:熟悉JSP开发环境1一实验目的:1. 熟悉JSP开发环境。
《JSP应用技术》实验指导书
实验四利用request和response对象进行设计一、实验目的1.理解内置对象的概念;2.熟练掌握request对象如何获取客户端信息;3.熟练掌握response对象的动态响应功能和重定向功能;4.熟练编写简单的JSP实用程序。
二、实验环境与地点:PC机一台:JDK6.0+Tomcat6.0+编辑器三、实验内容与步骤:在webapps目录下新建一个Web服务目录:chapter4。
将以下编写的JSP页面保存到chapter4中。
1.编写一个简单的用户注册页面register.jsp,页面中包括用户名、密码、年龄、性别、爱好等信息。
要求:(1)密码不能少于6位,年龄必须在10到100岁之间,性别采用单选按钮实现,爱好采用复选框实现;(2)在result.jsp页面获取输入的信息,若有信息不符合条件,response对象将用户重新定向到注册页面使其重新输入信息;若符合条件,则将信息显示出来。
(3)完成以下任务:①画出register.jsp页面的运行效果图。
②给出result.jsp页面中获取register.jsp页面提交的用户信息的代码。
③如果register.jsp表单提交的信息中有汉字,result.jsp页面应怎样处理?④给出result.jsp页面中判断用户信息是否符合条件并作出相应处理的代码。
2. 制作如下图所示的JSP程序inputNumber.jsp。
要求:(1)select下拉列表中有加、减、乘、除四个选项;(2)用户点击“提交”按钮后提交到inputNumber.jsp页面完成数据的处理,并将结果显示在JSP页面。
(3)写出inputNumber.jsp的代码。
四、实验总结与分析1.2.实验五利用session和application对象进行设计一、实验目的1.理解session对象的会话功能;2.理解application对象的应用程序级变量;3.能够掌握出session和application二者的区别;4.熟练掌握session对象如何存储与用户有关的数据;5.熟练掌握application对象如何存储与web服务有关的数据。
《java程序设计及Jspservlet核心技术实验》教学大纲.doc
《java程序设计及Jsp/servlet核心技术实验》教学大纲课程编号:S052081课程名称(中文):java程序设计及Jsp/servlet核心技术实验(英文):Experiment of java Programming and Jsp/servlet Core Technology课程性质:独立设课课程属性:专业必修教材及实验指导书名称:《面向对象与Java程序设计Mjava Web开发技术教程》及《J2EE 架构及java程序设计实验指导书》实验学时:32 学分:1应开实验学期:第四学期适用专业:计算机科学与技术(嵌入式软件人才培养方向)先修课程:软件开发语言技术、.NET架构及C/C++程序设计一、课程简介本课程是java程序设计及Jsp/servlet核心技术的独立实验课程,是计算机科学与技术专业(嵌入式软件人才培养方向)的一门专业必修课。
本课程将系统而全面的介绍java面向对象编程,web 开发的基础,通过上机实践使学生进一步理解面向对象程序设计的思想,掌握使用Java进行程序开发的一般过程,培养学生规范编程的能力,能运用servlet/jsp技术结合JAVA基础内容做个项目,采用面象对象的思想解决一定的实际问题的能力。
实践过程中结合任务驱动与问题激励相结合的原则,培养学生的团队协作意识和自学能力。
二、实验目的和要求其目的在于使学生能熟练地掌握掌握使用Java进行程序开发的一般过程以及java web 开发的一般过程,能编写代码,上机调试,运行程序和分析结果。
为充分发挥学生的主观能动性,促使其独立思考、独立完成实验并有所创新,具体要求如下:1.实验前准备阶段,要求学生复习和掌握与本次实验相关的教学内容,并认真做好预习,明确实验内容和要求,根据实验内容编写出上机所需的程序。
2.实验进行阶段,根据指导书上给定的实验内容进行分析与设计,然后编写程序进行编译调试,分析运行结果的合理性和正确性。
JSP技术实验指导书
JSP技术实验指导书计算机与信息工程学院目录实验一JSP开发环境配置与简单JSP页面 (1)实验二JSP语法 (6)实验三、JSP内置对象 (10)实验四、JavaBean与表单处理 (17)实验五数据库 (19)实验六Servlet应用 (26)实验一JSP开发环境配置与简单JSP页面实验目的:1、了解JSP开发环境安装与配置;2、了解JSP开发的一般步骤;3、熟悉简单JSP页面的开发实验环境:操作系统Windows XP或更高版本实验内容:1、环境配置;2、编写一个JSP页面,计算出100以内的素数。
实验步骤:1、环境配置JSP编程使用的Java语言,所以运行JSP程序必须要有JVM的支持,还必须要有Java程序编辑、编译程序(JDK)的支持。
现在企业流行的集成开发环境是Eclipse。
大多数应用程序都需要连接数据库,所以需要DBMS的支持。
JSP应用程序是运行在服务器上的,所以需要Web服务器的支持,在此以Java 1.6 Update21、Tomcat、MySQL、Eclipse为例,安装配置JSP开发环境。
首先安装JDK:从Java公司官方网站(/technetwork/java/index.html)下载JDK,现在最新的是Java SE6 Update22,我们采用的JDK1.6 Update 21,只需要双击中下载到的EXE文件,点下一步即可安装。
JDK安装好后,需要配置Java 的环境变量,步骤如下:(1)我的电脑->属性->高级选项卡->环境变量,打开“环境变量”对话框,在系统变量中新建以下环境变量:①JAVA_HOME:表示Java SDK的安装目录,其值为:D:\Program Files\Java\jdk1.6.0_21(根据自己的实际安装位置进行调整)。
②并修改Path环境变量,在其中增加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;注意:✧对于Path环境变量是添加,而不要删除原来的内容,否则很多Windows功能不能使用;若有其他程序要用到自己的Java环境变量,请将第③步的内容添加到Path环境变量的最后,以免影响其他程序的运行。
Jsp实训指导书
Jsp实训指导书
功能分析:
一用户界面功能:
书籍的展示
(1)把整个书店里的书籍按照类别进行分类,顾客可以按照类别浏览书籍;
(2)单击每种书种类的链接,将出现该类书籍列表;
(3)可查看书籍的详细资料,单击每种书籍名称,将出现相应书籍的详细信息。
用户注册
提供注册功能
普通顾客只能浏览5条的图书信息,但通过用户注册可以浏览全部的图书信息。
图书搜索
用户可以在本书店利用图书名称进行模糊搜索。
二管理界面功能:
管理图书
1.查看图书信息
2.修改图书信息
3.删除图书
类别管理
1.添加类别
2.删除类别
管理会员
1.查看会员资料
2.修改会员资料
3.删除会员
三数据库设计
用户表用户表用来注册用户信息,用户表如表所示:。
JSP实训指导书
JSP实训指导书—简单论坛制作一、需求分析与功能模块设计1.学生自行参考教材相关内容完成需求分析2.学生自行参考教材进行概要设计(功能模块划分)二、创建数据库1.设计数据库学生根据前一阶段分析与设计,完成数据库的设计,要求在报告中绘制数据库信息表以及采用E R图表述数据信息。
2.完成数据库创建按照要求实现数据库并使用相关软件创建数据库。
提供以下参考脚本/*论坛项目所使用的数据库b bs的建库脚本*/CREATE DATABASE `bbs` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;USE `bbs`;/*Table structure for table `users`用户信息表*/DROP TABLE IF EXISTS `users`;CREATE TABLE `users` (`uid` int(11) NOT NULL AUTO_INCREMENT,`uname` varchar(20) NOT NULL,`upw` varchar(12) NOT NULL,`usex` char(2) DEFAULT '密',`udate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`uemail` varchar(50) DEFAULT NULL,`ulevel` smallint(6) DEFAULT '1',`ulogo` varchar(50) DEFAULT NULL,PRIMARY KEY (`uid`),UNIQUE KEY `uname` (`uname`),KEY `name` (`uname`)) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;/*Table structure for table `posts`主题帖表*/DROP TABLE IF EXISTS `posts`;CREATE TABLE `posts` (`pid` bigint(20) NOT NULL AUTO_INCREMENT,`pTitle` varchar(50) NOT NULL,`pContent` varchar(500) NOT NULL,`pAuthor` varchar(16) NOT NULL,`pDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`pReplies` int(11) NOT NULL DEFAULT '0',`pClicks` int(11) NOT NULL DEFAULT '0',`pLastUpdate` char(20) DEFAULT NULL,`pLastAuthor` varchar(16) DEFAULT NULL,PRIMARY KEY (`pid`),KEY `author` (`pAuthor`),CONSTRAINT `author` FOREIGN KEY (`pAuthor`) REFERENCES `users` (`uname`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;/*Table structure for table `reply`回复帖表*/DROP TABLE IF EXISTS `reply`;CREATE TABLE `reply` (`rId` int(11) NOT NULL AUTO_INCREMENT,`pid` bigint(20) NOT NULL,`rTitle` varchar(50) DEFAULT NULL,`rContent` varchar(500) NOT NULL,`rAuthor` varchar(20) NOT NULL,`rDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`rId`),KEY `pid` (`pid`),KEY `rAuthor` (`rAuthor`),CONSTRAINT `reply_ibfk_1` FOREIGN KEY (`pid`) REFERENCES `posts` (`pid`) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT `reply_ibfk_2` FOREIGN KEY (`rAuthor`) REFERENCES `users` (`uname`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;/*创建视图`p ost_user`和r eply_user,在显示帖子详情时使用到视图*/CREATE VIEW `reply_user`AS SELECT * FROM users AS u,reply AS r WHERE r.rAuthor=u.uname;CREATEVIEW `post_user`AS(SELECT * FROM users AS u,posts AS p WHERE p.pAuthor=u.uname);/*Table structure for table `section`版块信息表,如果添加板块信息才使用下面内容*/ DROP TABLE IF EXISTS `section`;CREATE TABLE `section` (`sno` int(11) NOT NULL AUTO_INCREMENT,`sname` varchar(30) COLLATE utf8_unicode_ci NOT NULL,`uname` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,`sdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`sno`)) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;三、创建通用类访问数据库1.创建属性文件属性文件d bconn.properties(文件路径:src目录),文件内容参照如下driver = com.mysql.jdbc.Driverurl = jdbc:mysql://localhost:3306/bbs?useUnicode=true&characterEncoding=utf8username = rootpassword =1234562.创建通用类Conn.java参考内容如下:package dbUtil;import java.io.InputStream;import java.sql.*;import java.util.Properties;import dbUtil.Conn;public class Conn {private Connection con;private Statement st;//构造函数,在创建Conn类的对象时自动调用public Conn() throws Exception {Properties pros = new Properties();InputStream in;in=Conn.class.getResourceAsStream("/dbconn.properties"); //加载属性文件,该文件应存放于项目的源包下(src/java)pros.load(in);in.close();String driver = pros.getProperty("driver");String url = pros.getProperty("url");String username = pros.getProperty("username");String password = pros.getProperty("password");Class.forName(driver);con =DriverManager.getConnection(url,username,password);st =con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);}//executeQuery--执行查询语句public ResultSet executeQuery(String sql) {ResultSet rs = null;try {rs = st.executeQuery(sql);} catch (Exception e) {e.printStackTrace(System.err);}return rs;}//executeUpdate方法--执行对数据库的更新的SQL语句public int executeUpdate(String sql) {try {return st.executeUpdate(sql);} catch (Exception e) {e.printStackTrace(System.err);return 0;}}//创建预编译对象的方法public PreparedStatement prepareStatement(String sql) { try {return con.prepareStatement(sql);} catch (SQLException e) {e.printStackTrace(System.err);return null;}}/***关闭各项资源的方法*/public void close() {try {if (st!=null) st.close();} catch (Exception e) {e.printStackTrace(System.err);}try {if (con!=null) con.close();} catch (Exception e) {e.printStackTrace(System.err);}}}四、各功能模块1用户注册模块1)设计并完成相关B ean的制作Users.java/*** Document : Users.java* Created on : 2010-6-9, 0:19:28* Author : sunny*/package bean;public class Users {private String uname,upw,upw2,usex,udate,uemail,ulogo; private int ulevel;public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}public String getUpw2() {return upw2;}public void setUpw2(String upw2) {this.upw2 = upw2;}public String getUdate() {return udate;}public void setUdate(String udate) {this.udate = udate;}public String getUemail() {return uemail;}public void setUemail(String uemail) {this.uemail = uemail;}public int getUlevel() {return ulevel;}public void setUlevel(int ulevel) {this.ulevel = ulevel;}public String getUlogo() {return ulogo;}public void setUlogo(String ulogo) { this.ulogo = ulogo;}public String getUpw() {return upw;}public void setUpw(String upw) {this.upw = upw;}public String getUsex() {return usex;}public void setUsex(String usex) {ex = usex;}}UserBean.javapackage bean;import dbUtil.Conn;import java.sql.PreparedStatement; import java.sql.ResultSet;import java.sql.SQLException;public class UsersBean {private Users user;public Users getUser() {return user;}public void setUser(Users u) {er = u;}public String basicCheck() {String uname, upw, upw2;uname = user.getUname();upw = user.getUpw();upw2 = user.getUpw2();String msg = "";if (uname == null || uname.equals("") || upw == null || upw.equals("")) {msg = "请填写用户名和密码.";} else if (!upw.equals(upw2)) {msg = "两次输入的密码不一致!";}return msg;}public String uniqueName() {String uname = user.getUname();Conn conn = null;ResultSet rs = null;String msg = "";try {conn = new Conn();String sql = "select * from users where uname='" + uname + "'";rs = conn.executeQuery(sql);if (rs != null)if (rs.next())msg = "用户名<b> " + uname + " </b>已被使用,请改用其它名字.";} catch (Exception ex) {ex.printStackTrace(System.err);} finally {try {if (rs != null)rs.close();} catch (SQLException ex) {ex.printStackTrace(System.err);}conn.close();}return msg;}public boolean insert() {boolean success = false;Conn conn = null;PreparedStatement pt = null;if (user==null) return false;try {conn = new Conn();String sql = "insert intousers(uname,upw,usex,uemail,ulogo) values(?,?,?,?,?)";pt = conn.prepareStatement(sql);pt.setString(1, user.getUname());pt.setString(2, user.getUpw());pt.setString(3, user.getUsex());pt.setString(4, user.getUemail());pt.setString(5, user.getUlogo());success = pt.executeUpdate() > 0;} catch (Exception ex) {ex.printStackTrace(System.err);} finally {try {if (pt != null)pt.close();} catch (SQLException ex) {ex.printStackTrace(System.err);}conn.close();}return success;}}2)界面制作与前端验证程序在j s目录里确认有以下j s文件用于进行前段验证:以下是注册页面参考代码reg.jsp<%--Document : reg.jsp用户注册页面Created on : 2015-04-19, 16:31:45Author : sunnyDescription:通过jQuery库实现的Ajax用户名检测--%><%@page contentType="text/html" pageEncoding="UTF-8" import="java.util.Vector"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN""/TR/html4/loose.dtd"><%//先退出登录状态Vectorvisitors=(Vector)application.getAttribute("namelist");if(visitors!=null&&session.getAttribute("username")!=null) visitors.remove(session.getAttribute("username")); session.removeAttribute("username");//从检测到填写错误的页面转回时,先恢复上一次填写的内容String msg = "", uname = "", uemail = "", ulogo = "";if (request.getParameter("msg") != null) {msg = request.getParameter("msg");uname = request.getParameter("uname");uemail = request.getParameter("uemail");ulogo = request.getParameter("ulogo");}%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>学习论坛--注册</title><style type="text/css"><!--@import url("css/common.css");-->img{cursor:hand;}</style><!--common.js中包含常用的Javascript代码--><script src="js/common.js"></script><!--reg.js中包含本页面使用的JS检测函数--><script src="js/reg.js"></script><!--添加对jQuery库的引用--><script src="js/jquery-1.11.0.min.js"></script> <script>var jq = $.noConflict(); //使用jq代替默认的$符号jq(function(){jq('#uname').blur(function(){var uname=jq('#uname').val();//if (uname == null || uname == "") {alert("请输入用户名.");jq("#uname").focus();return;}jq.get('chkUniqueName.jsp?uname='+encodeURI(uname),null, function(data){if (data != "OK") { //若在服务器端检测后用户名重复,则返回的结果信息不为OKjq("#unameinfo").html('<imgsrc="images/check_error.gif" width="13" height="13"> 已被使用');jq("#uname").focus(); //光标重新定位在用户名输入框} else {jq("#unameinfo").html('<imgsrc="images/check_right.gif" width="13" height="13">可用');}}); //end of jq.get});});</script></head><body id="reg"onload="$('uname').focus()"> <!--页面加载时,光标自动定位到用户名输入框--><div id="container"><div id="logo"></div><div id="nav"><div id="welcome">欢迎进入JSP学习论坛</div><ul><li><a href="index.jsp">首页</a></li><li><a href="login.jsp">登录</a></li><li><a href="reg.jsp">注册</a></li><li><a href="mailto:neujspbook@">与我联系</a></li></ul></div><!--下面是内容层,主要显示一个表单--><div id="content"><div class="warning" ><%=msg%></div><form action="chkReg.jsp" method="post"onsubmit="return check()"><!--表单的各项内容用表格排列整齐--><table><tbody><tr><td colspan="2" id="title">请填写注册信息</td></tr><tr><td class="ltd">用户名* </td><td><input type="text"name="uname"id="uname" value="<%=uname%>" size="40" maxlength="20" /><span id="unameinfo"></span></td></tr><tr><td class="ltd">密码* </td><td><input type="password"name="upw"id="upw" size="40" maxlength="20" /></td></tr><tr><td class="ltd">确认密码* </td><td><input type="password" name="upw2"id="upw2" size="40" maxlength="20" /></td></tr><tr><td class="ltd">性别</td><td><input type="radio" name="usex"value="男"/> 男<input type="radio"name="usex"value="女"/>女<input type="radio" name="usex" value="密" checked />密</td></tr><tr><td class="ltd">Email</td><td><input type="text"name="uemail"size="40" value="<%=uemail%>" id="uemail"></td></tr><tr><td class="ltd">选择头像</td><td style="vertical-align:middle"><input type="hidden"name="ulogo"id="ulogo" value="<%=ulogo%>"/><img src="<%= ulogo.equals("") ?"images/head/space_noface.gif" : ulogo%>" id="hlogo" name="hlogo" /><br><input type="radio" name="s1"onclick="selectImg()"/>选择<input type="radio" name="s1"onclick="uploadImg()"/>上传</td></tr><tr><td class="regBottom"> </td><td class="regBottom" align="center"><input type="submit" value="确定" /> <input type="reset" value="重置" /></td></tr></tbody></table></form></div><div id="footer"><span>学习案例---《JSP实用教程》编写组</span> </div></div> <!--end of container--></body></html>chkReg.jsp<%--Document : chkReg.jspCreated on : 2015-10-23, 22:25:11Author : sunny说明:使用JavaBeabn完成注册处理--%><%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*,dbUtil.Conn,ersBean"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="content-Type" content="text/html; charset=UTF-8"><title>保存注册信息</title></head><body><%request.setCharacterEncoding("utf-8");%><jsp:useBean class="ers" id="newuser" /><jsp:setProperty property="*" name="newuser" /> <%UsersBean ub=new UsersBean();ub.setUser(newuser);String msg = ub.basicCheck();if (msg.equals("")) msg=ub.uniqueName();if (msg.equals("")) {if (!ub.insert()) {msg = "Sorry,注册失败.";}}if (msg.equals("")) {out.println("恭喜!注册成功!");response.setHeader("refresh", "3;url=index.jsp"); } else {%><jsp:forward page="reg.jsp"><jsp:param name="msg" value="<%=msg%>" /></jsp:forward><%}%></body></html>2.用户登录模块● login_head.jsp<%@page contentType="text/html" pageEncoding="UTF-8"%><div id="logo"></div><div id="nav"><div id="welcome">欢迎进入JSP学习论坛</div><ul><li><a href="index.jsp">首页</a></li><li><a href="login.jsp">登录</a></li><li><a href="reg.jsp">注册</a></li><li><a href="mailto:neujspbook@">与我联系</a></li></ul></div>foot.jsp<%@page pageEncoding="utf-8" %><div id="footer"><jsp:include page="namelist.jsp" /><span>学习案例---《JSP实用教程》编写组</span></div>● exit.jsp<%--Document : exit.jspCreated on : 2010-5-15, 15:45:54Author : sunny--%><%@page contentType="text/html" pageEncoding="UTF-8"import="java.util.*"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>JSP学习论坛--退出登录</title></head><body><%Vectorvisitors=(Vector)application.getAttribute("namelist");if(visitors!=null&&session.getAttribute("username")!=null) visitors.remove(session.getAttribute("username"));session.removeAttribute("username");response.sendRedirect("login.jsp");%></body></html>namelist.jsp<%@page contentType="text/html" pageEncoding="UTF-8"%><%@page import="java.util.*" %><%String name = null, namelist = "";Vector visitors = (Vector)application.getAttribute("namelist");if (visitors != null) {Iterator it = visitors.iterator();while (it.hasNext()) {name = (String) it.next();namelist += name + " ";}if (!namelist.equals("")) {out.println("<p>在线会员:" + namelist+"</p>");}}%>login.jsp<%@page contentType="text/html"%><%@page pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>登录</title><link href="css/common.css" rel="stylesheet"type="text/css" /><style type="text/css">@import url("css/login.css");</style><script src="js/common.js"></script><script src="js/loginChk.js"></script></head><body onload="$('uname').focus()"><div id="container"><%@include file="login_head.jsp" %><!--下面是内容层,主要显示一个表单--><div id="content"><form action="chkLogin.jsp" method="post"onsubmit="return chkLogin()"><!--表单的各项内容用表格排列整齐--><table><tr><th colspan="2"> 请登录</th><th> </th></tr><tr style="padding-top:20px;"><td class="ltd">用户名<span class="warning">*</span></td><td> <inputtype="text" name="uname" size="20" onblur="chkName()"/></td><td class="gray"> 长度要求为3-20个字符.</td></tr><tr><td class="ltd">密码<spanclass="warning">*</span></td><td><input type="password"name="upw" size="20" onblur="chkPw()"/> </td><tdclass="gray"> 密码只能由数字或字母构成.</td></tr><tr><td>保存期限</td><td><input type="radio" name="limit" value="0" checked="checked">不保存<input type="radio" name="limit" value="30" /> 一个月<input type="radio" name="limit" value="180" /> 半年</td><td class="gray"> 在指定的期限内可自动登录</td></tr><tr><td class="bottom"> </td><td class="bottom" align="center"><input type="submit" value="确定"/> <input type="reset" value="重置" /></td></tr><tr><td> </td></tr><tr><td id="nameinfo" class="login_info"colspan="2"></td></tr><tr><td id="pwinfo" class="login_info"colspan="2"></td></tr></table></form></div> <!--end of content--><%@include file="foot.jsp" %></div> <!--end of container--></body></html>chkLogin.jsp<%@page contentType="text/html"import="java.sql.*,java.util.*,dbUtil.Conn"%><%@page pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>登录中...</title><link href="css/common.css" rel="stylesheet"type="text/css" /><script src="js/common.js"></script></head><body><%String uname, upw;request.setCharacterEncoding("utf-8");uname = request.getParameter("uname");upw = request.getParameter("upw");if (uname == null || uname.equals("")) {out.println("请输入用户名.");response.setHeader("refresh", "3;url=login.jsp");return;}if (upw == null || upw.equals("")) {out.println("请输入密码.");response.setHeader("refresh", "3;url=login.jsp");return;}boolean valid = false; //表示验证是否通过的标志Conn con = null;ResultSet rs = null;try {String sql = "select * from users where uname='" + uname + "'";con=new Conn();rs = con.executeQuery(sql);if (rs != null) {if (rs.next()) {valid = upw.equals(rs.getString("upw"));}}} catch (SQLException e) {e.printStackTrace(System.err);} finally {try {if (rs != null) {rs.close();}} catch (Exception e) {e.printStackTrace(System.err);}try {if (con != null) {con.close();}} catch (Exception e) {e.printStackTrace(System.err);}}if (valid) {session.setAttribute("username", uname);/*------开始:在线名单处理------*/Vector visitors = (Vector)application.getAttribute("namelist");if (visitors == null) {visitors = new Vector();application.setAttribute("namelist", visitors);}boolean unique = true;for (int i = 0; i < visitors.size(); i++) {if (((String) visitors.get(i)).equals(uname)) {unique = false;break;}}if (unique) {visitors.add(uname);}/*------结束:在线名单处理------*//*------开始:自动登录Cookie处理----*/int limit =Integer.parseInt(request.getParameter("limit"));Cookie c = new Cookie("username",.URLEncoder.encode(request.getParameter("uname"), "UTF-8"));c.setMaxAge(limit * 24 * 60 * 60);response.addCookie(c);/*------结束:自动登录Cookie处理----*/out.println("<br/>登录成功!正在自动转向网站首页...");response.setHeader("refresh", "3;url=index.jsp");} else {out.println("<br/>用户名或密码错误.");response.setHeader("refresh", "3;url=login.jsp");}%></body></html>3.帖子浏览模块head.jsp<%@page pageEncoding="UTF-8"%><!--link href="css/common.css" rel="stylesheet"type="text/css" /--><% String uname="游客";String pageName=request.getRequestURI();pageName=pageName.substring(stIndexOf("/")+1);if (!pageName.equals("login.jsp")) {uname= (String) session.getAttribute("username");if (uname == null) {Cookie ck[] = request.getCookies();if (ck != null) {for (int i = 0; i < ck.length; i++) {if (ck[i].getName().equals("username")) {uname =.URLDecoder.decode(ck[i].getValue(),"UTF-8");session.setAttribute("username", uname);break;}}}}if (uname == null) {response.sendRedirect(request.getContextPath()+"/login.js p");return;}}%><div id="logo"></div><div id="nav"><div id="welcome"><%=uname%>,欢迎进入JSP学习论坛</div><ul><li><a href="index.jsp">首页</a></li><% if (session.getAttribute("username") == null) { %><li><a href="login.jsp">登录</a></li><%} else {%><li><a href="exit.jsp">退出</a></li><%}%><li><a href="reg.jsp">注册</a></li><li><a href="mailto:neujspbook@">与我联系</a></li></ul></div><div style="display:none;" id="errorMsg"></div>index.jsp<%--Document : index.jspCreated on : 2015-5-22, 23:01:39Author : sunny--%><%@page contentType="text/html" pageEncoding="UTF-8" import="dbUtil.*,java.sql.*"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>JSP学习论坛---首页</title><link rel="stylesheet" href="css/common.css" /></head><body><% //确定搜索条件String searchStr = "",linkStr="";if (request.getParameter("keyValue") !=null&&!request.getParameter("keyValue").equals("")) { StringkeyField=request.getParameter("keyField");String keyValue = newString(request.getParameter("keyValue").getBytes("iso8859 -1"), "utf-8");searchStr="where"+keyField+"like'%"+keyValue+ "%'";linkStr="&keyValue="+keyValue+"&keyField="+keyField;}//获取页号String spageno = request.getParameter("pageno");if (spageno==null) spageno="1";int pageno = 1; //默认页号为1try {pageno = Integer.parseInt(spageno);} catch (Exception e) {e.printStackTrace(System.err);}//创建数据库连接Conn con=null;ResultSet rs = null;try {con=new Conn();} catch (Exception e) {e.printStackTrace(System.err);out.println("抱歉,网站出错,暂时无法提供服务.");return;}//计算页号导航int allpage = 0, allrec=0,pagesize = 10; //每页显示10条记录rs = con.executeQuery("select count(*) as total from posts " + searchStr);if (rs != null && rs.next()) {allrec = rs.getInt(1);}allpage=allrec%pagesize==0?allrec/pagesize:allrec/pagesiz e+1;int firstp = 1, lastp = allpage;if (pageno - 3 > 1) {firstp = pageno - 3;}if (pageno + 3 < lastp) {lastp = pageno + 3;}%><div id="container"><%@ include file="/head.jsp" %><div id="content"><div id="postlist"><div id="newPostLink"><a href="newPost.jsp"><img。
JSP应用开发(Java方向)实验指导书
JSP应用开发(Java方向)实验指导书Java课程组姓名:班级:学号:淮安信息职业技术学院计算机与通信工程学院目录实验一Web项目的创建 (1)实验二房屋交易系统的原型设计 (8)实验三 JSP基本语法 (12)实验四系统中用户注册的实现 (13)实验五JSP隐式对象 (14)实验六个人房屋信息管理的实现 (15)实验七使用Servlet实现BBS论坛登录 (17)实验八使用Servlet实现论坛版块显示 (19)实验九使用Servlet实现论坛主题帖显示 (20)实验十使用Servlet实现论坛主题帖发表 (21)实验十一使用EL表达式实现页面欢迎语 (22)实验十二使用EL表达式重构主题帖页面 (23)实验十三分页的实现 (24)实验十四过滤器的使用 (25)实验一Web项目的创建【实验目的】1、熟悉WEB项目的目录结构;2、熟悉WEB应用程序的部署运行;3、熟悉Eclipse和Tomcat的部署运行;【实验准备】一、复习配套教材相关章节的内容;二、预习本次实验;【实验内容】1、熟悉Web项目的环境配置(推荐采用MyEclipse作为开发环境)。
1)在配置WEB开发环境之前,首先确保你的机器上安装有JDK(1.6及以上和Tomcat6.0及以上)。
打开MyEclipse,进入windows菜单,选preferences选项进入如下界面。
2)打开MyEclipse选项后,再打开Server选项,接着打开Tomcat选项。
点击Tomcat 6.x选项。
指定你的Tomcat的安装路径。
3)点开Tomcat 6.x后,点击JDK选项,配置JDK。
4)点击ADD按钮。
进入JDK配置界面,指定JDK安装路径,完成JDK 配置。
5)完成配置后,MyEclipse工栏的Tomcat工栏出现你所配置的Tomcat 菜单项。
6)点击start后,启动Tomcat,在控制台输出如下信息,则表明Tomcat 正常启动。
【精品文档】jsp实验指导书-实用word文档 (15页)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==jsp实验指导书篇一:JSP实验指导书试验一:熟悉JSP开发环境一实验目的:1. 熟悉JSP开发环境。
二实验内容:安装JDK,Tomcat,MyEclipse/Eclipse,并建立一个简单Web应用且发布测试。
三实验步骤:1. 安装JDK;2. 安装Tomcat;3. 安装MyEclipse或Eclipse;4. 建立一个Web应用,在index.jsp中显示“您好,这是我的第一个JSP站点。
”;5. 发布测试。
四主要代码:1. index.jsp页面代码:? <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">? <html>?<head>? <title>My JSP 'index.jsp' starting page</title>? </head>??<body>? 您好,这是我的第一个JSP站点。
<br>?</body>? </html>试验二:熟悉JSP开发环境一实验目的:1. 熟悉基本web工程的创建以及基本的jsp页面的建立和代码的编写。
二实验内容:建立一个Web应用,在主页面实现登录见面,在其中输入用户名,密码,发送到登录验证页面,登录成功,显示成功提示,登录失败,显示失败页面。
三实验步骤:1. 设计登录见面;2. 编写登录处理代码;3. 编写成功提示页面;4. 编写失败提示页面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JSP应用开发(Java方向)Java课程组姓名: 班级: 学号:淮安信息职业技术学院计算机与通信工程学院23 24 25实验一 实验二 实验三 实验四 实验五 实验六 实验七 实验八 实验九 实验十实验十 Web 项目的创建 ........ 房屋交易系统的原型设计 JSP 基本语法 . ........... 系统中用户注册的实现JSP 隐式对象 ........... 个人房屋信息管理的实现 使用 使用 使用 使用 Servlet 实现 BBS 论坛登录 Servlet 实现论坛版块显示 Servlet 实现论坛主题帖显示 Servlet 实现论坛主题帖发表使用 EL 表达式实现页面欢迎语 12 13 14.. 15 ... 17 19 20 21 22 实验十二 实验十三 实验十四使用 EL 表达式重构主题帖页面 分页的实现 ....................... 过滤器的使用 ...................【实验目的】1熟悉WEB 项目的目录结构; 2、熟悉WEB 应用程序的部署运行; 3、熟悉Eclipse 和Tomcat 的部署运行; 【实验准备】、复习配套教材相关章节的内容; 、预习本次实验; 【实验内容】1熟悉Web 项目的环境配置(推荐采用MyEcIi pse 作为开发环境)。
1)在配置WEB 开发环境之前,首先确保你的机器上安装有JDK ( 1.6 及以上和Tomcat6.0及以上)。
打开MyEcIipse ,进入windows 菜单, 选P refere nee 选 项进入如下界面。
I I AlVT<ya 斗3 ib btk 尊由gd.I J TC B B^i aaft ■日*L tar 」pi .w Bs^-d p n-vpa c-t ■ -v* c Ha —a 尊 a^t-nLISh 叶 h*姬 Xl.tUXOptXi e 打OS-iTicl* cli ch■n 丄c : Ttti I e 砂 noi. on 411 vi 栉,2)打开MyEcIipse 选项后,再打开Serve 选项,接着打开Tomca 选项。
实验Web 项目的创建EI -I- Knt审P 【■丄u1+ Ins I. *11/tb 丁 I 土. J- Flui n D rriLGd Kvui/Ii.bacGeneral点击Tomcat 6.x 选项。
指定你的Tomca 的安装路径。
* ----------- 0 丁― 州 丁却空・1驴空心 ciE 驱旦亘亜更HTg eg 蠡艺二2 i+iAJH IlA.tiLlju.Ea Fil" ULJ. 1-d.L t-arx Inturnul. T-d-aL±J KVKZnl arjir Li-a Fm N ■.! ■ a a ■'IHyZ -cL Lpv-fl/S NKVBn-tnyZ cl Lpi-aFra J ■ c I C 咛IH I IL L L L L .Hap nr I. H■ E■ R■r■t. ±j . 国tjfi aJ . k5. KODbibltL*To ■亡 HA hxin-* Alt ■亡 L«*F:7 on c ■.!. L -anp J i. r«ci.&r p :|e : □ I 匚:\Tw*u.lE. 口 I 匚:S TmrH.lE . □ \ I. anpHr Dv■ ■][E :■■口宵"Oplh-dhAl *rfWiUR-Lx.:[e«xtc^t S + f«TlItxJfipply 11曲113“13)点开Tomcat 6.x 后,点击JDK 选项,配置JDK 。
• Preferences JTXDat^bis 卑 Esplgr^r rilfrs inl Edi lorz In-^MTRi-t TfloTiJiya Enterprise Project Rati II f-^HyEdipT■■/Swine (lafyen4WyEcLipBe Project C*|]Bibili ti IS Report Design S^v*ri + Germumt 壬 g 乱"Fizsh壬主 ± T Inte^atfd Sandfc 刚 JB«isMty JQitAS Or Ad* Ori g les inSw Jiv^ Sritsm Appli cTemcal T TmeZ A. X + Toncal 5. ■ 3 Tone" S. XFalhs• L IT ・■■: ■Mil ..Optional Java VU areiments ::NotesToncit JDK AUb« :I jdk 】.6JDK Virtail H ■匚hin* mart Ep*c :Ey ■ full JDK iivst*lli.ti nn Sptiifyiltg A. nE will in ut slu^lup tKCiplitit.A TOIi use of the -cp, -ela-sspatl^ or -Djava. library path JVM optiorns. C Q 口百迅t th« Cla^sp^th f^r praper path Qmti un加ply IZaiEl I4)点击ADD 按钮。
进入JDK 配置界面,指定JDK 安装路径,完成JDK 配置。
LcrtLl > Adil J VISt-Euidu-d. VWJKE xhb^nuEefa.ixLt 卵 Ai-er^nents:JM5)元成配置后,MyEcIipse 工栏的Tomcat X 栏出现你所配置的Tomcat 菜单项。
a Enter 卫rise - f irst/TebRoot/index- jsp — lyEclipse Blue Edi凉’、tS Ki er arcKyJ 口 HyEclipse Derby HyEclipse TomcatH _____-匸爲卜1 耳 Tcmcat 6. x>2 ]斧 Ccnfigrure Server1・? ■ 05百弓 Md 岂駅 Dtployments...題 Conf i gur «iF= request.getS6)点击start 后,启动Tomcat,在控制台输出如下信息,则表明Tomcat 正常启动。
jjtx■ r DT-y|L \」肛I E 口 Qs j :rc 旳垃浜略磴Ha- aw ■亡由iJJ Jb jt iJ: ■• \ j *] :\ J d-kl :\J tiki :\j dltl .\j dJtl .\j dlzl :\j dkl:\j ._6_ £^字 \j芟仝••丄i 主 Yy 至些 壬芒.__j 戈打)•飞 ijS!込 v]二:\1孑6亍2二亏二:Fl ni_ns \ J ■-■ Il i. h \ j 化 V j jiT- b U_C12\JE -»\.1X b\J C» _| U- .fi . □_□£ \jr w\li L\chiN k bl L ■ . J u .0- □_□£\j±-*\Ti b\Qjct\dxi£n -=. j y.S. I? □£\jir*\Xi b\ssct.\loc*l*d-fl.-L-4. j -ar.6. Ci_O2 \. j JT c \T i "b S. C5t t'K sunj < c_pr ^vi d.c JT . j mr .6. Oi __ □£ V j IT c VT i "b h cat t \ SUUTPT : C op i . j cj." .6 Oi_CJZ V j V e VT i b \ t \ suxipkc s 11 . j arJ A HJ ~E K Lu-r n s L ~J Ul-a..Hcwri.Ef=t ore D 亡 fwltOK.* frnbl^ni & J^Tidoc Dt-clarftlioci S Console £3「帮咯口匸 Kistorr ■ X 二it ,空[戸兰 S 怙皿也怙 丁心*一麻^口債*"讯1] C- FaU-iUivtXJdk] 6 01 祈tA 」时"瞅* U* 勺 £009 T AOJB PN)信"9、: X14L validation disabled2009-1-9 19;40:25 org .apache ,coyote .httpll ,HttpllBasePj 信息、:starting Coyote HTTP/1.1 on http-00&02009-1-9 19:40:25 org.a pache ,j k ,common .Ch 丑nnelSocket ir 信息:JK: ajpl3 listening on /O. 0< 0 * 0: 30092009-1-9 19:40:25 org.apache.jk.server .JkMain start 信"息、: Jk running ID=0 tiine=0/125 config-null2009-1-9 19:40:26 org * apache.cata 丄ins*storeconf ig ・StorE 信息、:Find registry server-registry . xml at classpath re 200S-1-9 19:40:26 org.apache .catalina .startup .Catalina 信息、:Server startup in 4640 ms2、第一个WEB 应用程序。
1)点击File 菜单栏,新建WEB 工程。
Qp 佃 Fil J.二 Id mmVs吕 Save AsEnterpri st AppLicati ofit hroject童V 包b Service frcj^ctA 让nKevertM 空也.. Rename ..Ed-€r«=KF£F£萌 F K I C ....CI AZ S II Interface住 Eiuim 矽^nnotati on2)输入工程名,完成工程的创建。
了解开发环境自动给我们创建的ILbAn Uilp* ” 0 ” <1|1 r*tk*ct T H f ; Jluju-dhyj D jmu. 述I 3』fLt&l.』irr卜 JFl Syi-i H Li br-vT :■yShp + ■ jzn L 1 LblLtfjtl S :站■■皿P L厨 UK rm IF 白libX, 沁『ST /J M jip■ I- I ®: __ Lk_I-jw ■-Hanil *■ I UHuilMII24 5 e 7 ]:<@ paqe language='M ava" iTnport=" java . util . <String path = request 亠getConteKtPath(};String base Path = request-getscbeme 0 +" Z/^'+re %>Z I nnCTV 口 TT HTMI. PrTRT.TL " - / /WTr / /nTFi HTMI. dm T目录结构和第一个JSF页面,index.jspo3) MyEcIipse 给我们创建工程是一个简单的可能运行的小程序。