430 likes | 613 Views
实验一 开发环境搭建与开发工具的使用( 2 学时). @author 林志灿. 实验目的和实验能力要求. 1.掌握JSP开发环境的搭建过程; 2.掌握Tomcat中部署JSP网站的两种方法; 3.学习Eclipse集成环境,掌握源程序编辑方法; 4 .掌握在Eclipse集成开发环境中调试与运行程序的方法 。. @author 林志灿. 实验内容. 1.搭建JSP开发环境 ; 2.修改Tomcat6.0默认端口 ; 3.在Tomcat6.0上部署JSP网站 ;. @author 林志灿. 实验环境.
E N D
实验一 开发环境搭建与开发工具的使用(2学时) @author 林志灿
实验目的和实验能力要求 • 1.掌握JSP开发环境的搭建过程; • 2.掌握Tomcat中部署JSP网站的两种方法; • 3.学习Eclipse集成环境,掌握源程序编辑方法; • 4.掌握在Eclipse集成开发环境中调试与运行程序的方法。 @author 林志灿
实验内容 • 1.搭建JSP开发环境; • 2.修改Tomcat6.0默认端口; • 3.在Tomcat6.0上部署JSP网站; @author 林志灿
实验环境 • 1.计算机 CPU:Pentium III 600MHz以上 RAM:256M以上,硬盘空间:4G以上 • 2.操作系统:Windows2000 、WindowsXP、Windows2003 选其一 • 3.软件要求:Eclipse或MyEclipse,JDK6.0,Tomcat6.0。 @author 林志灿
实验步骤 • 1.运行MyEclipse,新建一个Web Project,将其命名为Example1,展开WebRoot文件夹,双击index.jsp文件进行编辑。至此,JSP开发环境已搭建完毕; • 2.打开Tomcat安装目录,到conf文件夹查找server.xml进行编辑,将connector port="80"改为connector port="8080",保存退出。至此,Tomcat默认端口号已更改; • 3.在步骤1建立的项目上鼠标右键->MyEclipse->Add and Remove Project Deployments,在弹出的对话框中单击Add后,在弹出另一个对话框中从Server列表里选择Tomcat作为服务器,点击Finish。至此,JSP已成功在Tomcat上部署。 • 4.从MyEclipse工具栏里启动Tomcat服务器,打开IE浏览器,输入http://localhost:8080/Exmple1,查看运行结果。 @author 林志灿
实验课后思考 • 如何部署一个JSP网站,有哪几种方法? @author 林志灿
实验二 JSP开发基础(8学时) @author 林志灿
实验目的和实验能力要求 • 1.掌握创建包及创建类得方法; • 2.掌握对象的使用方法; • 3.掌握常量与变量的应用; • 4.掌握JavaScript函数的定义及调用。 @author 林志灿
实验内容 1.创建包并在该包下创建类; 2.创建java类对像; 3.对像的使用; 4.定义常量及变量; 5.运算符的应用; 6.应用JavaScript验证表单元素是否为空。 @author 林志灿
实验环境 • 1.计算机 CPU:Pentium III 600MHz以上 RAM:256M以上,硬盘空间:4G以上 • 2.操作系统:Windows2000 、WindowsXP、Windows2003 选其一 • 3.软件要求:Eclipse或MyEclipse,JDK6.0,Tomcat6.0。 @author 林志灿
实验步骤 1.运行MyEclipse,新进一个Web Project,将其命名为Example2,在src目录下新建一个packege,将其命名为cn.mnust,在该包下创建一个Java类,将其命名为BookBean.java,该类包含bid(String类型)、bname(String类型)、number(int型)、wr(String类型)四个字段及与其相关的get、set方法; 2.编辑WebRoot下的index.jsp文件,主要代码如下: <FORM METHOD=POST ACTION="saveinfo.jsp"> <table border="1"> <tr> <td> 书号 </td> <td> <INPUT TYPE="text" NAME="bid"> </td> </tr> ...... </table> <INPUT TYPE="submit" value=" 保存 "> </FROM> @author 林志灿
3.在WebRoot下新建saveinfo.jsp,主要代码如下: <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%@page import="cn.mnust.BookBean"%> <jsp:useBean id="book" class="cn.mnust.BookBean" scope="session" /> <jsp:setProperty name="book" property="*" /> <a href="viewbook.jsp"> 查看书籍信息 </a> 4.在WebRoot下新建viewbook.jsp,主要代码如下: <jsp:useBean id="book" class="cn.mnust.BookBean" scope="session" /> <table border="1"> <tr> <td> 书号 </td> <td><jsp:getProperty name="book" property="bid" /></td> </tr> ... </table> @author 林志灿
5.重新编辑index.jsp文件,在<head></head>标志之间编写自定义JavaScript函数check( ),用于验证文本框是否为空,主要代码如下: <script type="text/javascript"> function check(form) { if(form.bid.value == "") { alert("书号不能为空!"); } } ...... </script> @author 林志灿
实验课后思考 一.如何实例化一个Java类对象? 二.本实验中,JavaScript的作用是什么? @author 林志灿
实验三 JSP实用组件应用(8学时) @author 林志灿
实验目的和实验能力要求 1.掌握配置邮件服务器的方法; 2.掌握应用JavaMail组件发送邮件。 @author 林志灿
实验内容 1.安装MSTP服务器; 2.安装和配置POP3服务器; 3.发送HTML格式的邮件。 @author 林志灿
实验环境 • 1.计算机 CPU:Pentium III 600MHz以上 RAM:256M以上,硬盘空间:4G以上 • 2.操作系统:Windows2000 、WindowsXP、Windows2003 选其一 • 3.软件要求:Eclipse或MyEclipse,JDK6.0,Tomcat6.0。 @author 林志灿
实验步骤 1.打开控制面板,选择“添加或删除程序”选项,单击“添加/删除windows组件”; 2.单击“应用程序服务器”的“详细信息”,选择“Internet信息服务(IIS)”进行安装; 3.打开IIS,展开"默认SMTP虚假服务器",鼠标右键新建一个域,弹出向导,指定域类型为别名,名称mnust.cn,单击“完成”; 4.选择“windows组件向导”对话框中的“电子邮件服务”复选项,单击“下一步”完成POP3服务器安装; 5.单击本机服务器名,新建一个域,域名为163.com; 6.在新域中创建邮箱,输入邮箱账号及其密码; 7.启动MyEclipse,新建一个Web Project,将其命名为Example3; 8.构建JavaMail组件,鼠标右键项目属性,在弹出的窗口中选择“Java Build Path”,选择“Libaraies”选项卡,单击“Add Library”,类型为“User Library ”; 9.新建一个名为“JavaMail”的用户库,为该库添加mail.jar和activation.jar两个JAR包; 10.将“JavaMail”库构建到项目Example3中; @author 林志灿
11.编辑index.jsp,主要代码如下: <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <title>发送HTML格式邮件</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <link href="Css/style.css" rel="stylesheet"> <script language="javascript"> function checkform(myform){ for(i=0;i<myform.length;i++){ if(myform.elements[i].value==""){ alert(myform.elements[i].title+"不能为空!"); myform.elements[i].focus(); return false; } } } </script> </head> @author 林志灿
<body> <form name="form1" method="post" action="mydeal.jsp" onSubmit="return checkform(form1)"> <table width="588" height="360" border="0" align="center" cellpadding="0" cellspacing="0" background="images/bg.jpg"> <tr> <td width="60" height="73" background="Images/board_left.gif"> </td> <td width="486" background="Images/board_left.gif"> </td> <td width="44" background="Images/board_left.gif"> </td> </tr> @author 林志灿
<tr valign="top"> <td height="247"> </td> <td valign="top"><table width="96%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="16%" height="25" align="center">收件人:</td> <td width="84%" colspan="2" align="left"><input name="to" type="text" id="to" title="收件人" size="60"></td> </tr> <tr> <td height="25" align="center">发件人:</td> <td colspan="2" align="left"><input name="from" type="text" id="from" title="发件人" size="60"></td> </tr> @author 林志灿
<tr> <td height="25" align="center">密 码:</td> <td colspan="2" align="left"><input name="password" type="password" id="password" title="发件人信箱密码" size="60"></td> </tr> <tr> <td height="25" align="center">主 题:</td> <td colspan="2" align="left"><input name="subject" type="text" id="subject" title="邮件主题" size="60"></td> </tr> <tr> <td height="103" align="center">内 容:</td> <td colspan="2" align="left"><textarea name="content" cols="59" rows="8" class="wenbenkuang" id="content" title="邮件内容"> <html> @author 林志灿
12.新建一个处理邮件的页面,将其命名为dealmail.jsp,主要代码如下:12.新建一个处理邮件的页面,将其命名为dealmail.jsp,主要代码如下: <%@ page contentType="text/html;charset=gb2312" %> <%@ page import="java.util.*"%> <%@ page import="javax.mail.*" %> <%@ page import="javax.mail.internet.*"%> <%@ page import="javax.activation.*" %> <% try{ request.setCharacterEncoding("gb2312"); String from=request.getParameter("from"); String to=request.getParameter("to"); String subject=request.getParameter("subject"); String messageText=request.getParameter("content"); String password=request.getParameter("password"); String mailserver="mrlx"; //指定邮件服务器 Properties prop =new Properties(); prop.put("mail.smtp.host",mailserver); prop.put("mail.smtp.auth","true"); Session sess =Session.getInstance(prop); sess.setDebug(true); MimeMessage message=new MimeMessage(sess); @author 林志灿
//给消息对象设置收件人、发件人、主题、发信时间//给消息对象设置收件人、发件人、主题、发信时间 InternetAddress mail_from =new InternetAddress(from); message.setFrom(mail_from); InternetAddress mail_to =new InternetAddress(to); message.setRecipient(Message.RecipientType.TO,mail_to); message.setSubject(subject); message.setSentDate(new Date()); Multipart mul=new MimeMultipart(); //新建一个MimeMultipart对象来存放多个BodyPart对象 BodyPart mdp=new MimeBodyPart(); //新建一个存放信件内容的BodyPart对象 mdp.setContent(messageText,"text/html;charset=gb2312"); mul.addBodyPart(mdp); //将含有信件内容的BodyPart加入到MimeMulitipart对象中 message.setContent(mul); //把mul作为消息对象的内容 message.saveChanges(); Transport transport = sess.getTransport("smtp"); @author 林志灿
//以smtp方式登陆邮箱,第1个参数是发送邮件用的邮件服务器SMTP地址,第2个参数为用户名,第3个参数为密码//以smtp方式登陆邮箱,第1个参数是发送邮件用的邮件服务器SMTP地址,第2个参数为用户名,第3个参数为密码 transport.connect(mailserver,from,password); transport.sendMessage(message,message.getAllRecipients()); transport.close(); out.println("<script language='javascript'>alert('邮件已发送!');window.location.href='index.jsp';</script>"); }catch(Exception e){ System.out.println("发送邮件产生的错误:"+e.getMessage()); out.println("<script language='javascript'>alert('邮件发送失败!');window.location.href='index.jsp';</script>"); } %> 运行该项目,查看结果。 @author 林志灿
实验课后思考 如何使用JSP技术发送HTML格式的邮件? @author 林志灿
实验四 JSP数据库应用开发(2学时) @author 林志灿
实验目的和实验能力要求 1.掌握在SQL Server2000中创建数据库和表的方法; 2.掌握在MyEclipse中配置构建路径的方法; 3.掌握连接及操作数据库的方法; 4.掌握对数据表增删改查的方法。 @author 林志灿
实验内容 1.在SQLServer2000中创建数据库和表。 2.在Eclipse中将SQLServer2000的驱动包构建到项目中。 3.编写连接及操作数据库的JavaBean。 4.从数据表中查询数据并显示。 5.向数据表中添加数据。 6.从数据表中删除数据。 @author 林志灿
实验环境 • 1.计算机 CPU:Pentium III 600MHz以上 RAM:256M以上,硬盘空间:4G以上 • 2.操作系统:Windows2000 、WindowsXP、Windows2003 选其一 • 3.软件要求:Eclipse或MyEclipse,JDK6.0,Tomcat6.0。 @author 林志灿
实验步骤 1.启动MyEclipse,新建一个Web Project,将其命名为Example4; 2.为该项目添加SQL Server 2000的驱动包; 3.启动SQL Server 2000 企业管理器,新建一个数据库“Notice”,在该数据库中新建一个表“Message”,该表有id(int型)、title(varchar型)、content(varchar型)三个字段; 4.在src目录下新建一个packege,将其命名为cn.mnust,在该包下创建一个JavaBean,将其命名为ConnDB.java,主要代码如下: public class ConnDB { Connection conn = null; // 声明Connection对象的实例 Statement stmt = null; // 声明Statement对象的实例 ResultSet rs = null; // 声明ResultSet对象的实例 String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Notice;user=sa;password="; //构造方法 public ConnDB() { try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //装载数据库驱动 } catch (java.lang.ClassNotFoundException e) { System.err.println(e.getMessage()); } } @author 林志灿
/** * 功能描述: 执行查询操作 * 参数: String * 返回值: ResultSet */ public ResultSet executeQuery(String sql) { try { conn = DriverManager.getConnection(url);//调用getConnection()方法构造Connection对象的一个实例 stmt = conn.createStatement(); rs = stmt.executeQuery(sql); //获取结果集对象 } catch (SQLException ex) { System.err.println(ex.getMessage()); } return rs; } @author 林志灿
/** * 功能描述: 执行更新操作 * 参数: String * 返回值: int */ public int executeUpdate(String sql) { int result = 0; try { conn = DriverManager.getConnection(url);//调用getConnection()方法构造Connection对象的一个实例 stmt = conn.createStatement(); result = stmt.executeUpdate(sql); //执行更新操作 } catch (SQLException ex) { result = 0; } return result; } @author 林志灿
/** * 功能描述: 关闭数据库连接 * 参数: 无 * 返回值: void */ public void close() { try { if (rs != null) rs.close(); } catch (Exception e) { e.printStackTrace(System.err); } try { if (stmt != null) stmt.close(); } catch (Exception e) { e.printStackTrace(System.err); } @author 林志灿
try { if (conn != null) { conn.close(); } } catch (Exception e) { e.printStackTrace(System.err); } } } @author 林志灿
5.编辑index.jsp文件,主要代码如下: <%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <%@ page import="java.sql.*" %> <jsp:useBean class="cn.mnust.ConnDB" scope="page" id="conn"/> <% String sql="SELECT * FROM Message"; ResultSet rs=conn.executeQuery(sql); //执行查询语句 int id=0; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <title>显示公告列表</title> </head> @author 林志灿
<body> <table width="100%" height="48" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bordercolordark="#CCCCCC" bordercolorlight="#FFFFFF"> <tr align="center"> <td width="9%" height="27" align="center"> ID</td> <td width="21%" align="center">标题</td> <td width="60%" align="center">内容</td> <td width="9%" align="center">删除</td> </tr> <% try{ if(rs.next()){ do{ id=rs.getInt(1); %> <tr style="padding:5px;"> <td height="24" align="center"><%=id%></td> <td align="center"><%=rs.getString(2)%></td> <td align="center"><%=rs.getString(3)%></td> <td align="center"><a href="delete.jsp?id=<%=id%>">删除</a></td> </tr> <% }while(rs.next()); @author 林志灿
}else{ %> <tr><td height="30" colspan="4" align="center">暂无公告信息</td> </tr> <% } }catch(Exception e){ e.printStackTrace(); } conn.close(); //关闭数据库连接 %> </table> <br> <a href="add.jsp">添加公告</a> </body> </html> @author 林志灿
6.新建一个添加公告信息的页面add.jsp,其主要代码如下:6.新建一个添加公告信息的页面add.jsp,其主要代码如下: <%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <title>添加公告</title> </head> <body> <form id="form1" name="form1" method="post" action="add_deal.jsp"> 标题: <input name="title" type="text" id="title" /> <br /> 内容: <textarea name="content" cols="30" rows="5" id="content"></textarea> <br /> <input type="submit" name="Submit" value="提交" /> <input type="reset" name="Submit2" value="重置" /> </form> </body> </html> @author 林志灿
7.新建一个处理所添加公告的页面add_deal.jsp,其主要代码如下:7.新建一个处理所添加公告的页面add_deal.jsp,其主要代码如下: <%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <%@ page import="java.sql.*" %> <jsp:useBean class="cn.mnust.ConnDB" scope="page" id="conn"/> <% request.setCharacterEncoding("GBK"); String title=request.getParameter("title"); //获取标题 String content=request.getParameter("content"); //获取内容 String sql="INSERT INTO Message (title,content) values('"+title+"','"+content+"')"; int r=conn.executeUpdate(sql); //执行更新语句 String msg=""; if(r>0){ msg="公告信息添加成功!"; }else{ msg="公告信息添加失败!"; } %> <script language="javascript"> alert("<%=msg%>"); window.location.href="index.jsp"; </script> @author 林志灿
8.新建一个删除公告的页面delete.jsp,其主要代码如下:8.新建一个删除公告的页面delete.jsp,其主要代码如下: <%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <%@ page import="java.sql.*" %> <jsp:useBean class="cn.mnust.ConnDB" scope="page" id="conn"/> <% request.setCharacterEncoding("GBK"); int id=Integer.parseInt(request.getParameter("id")); //获取ID String sql="DELETEMessage WHERE id="+id+""; int r=conn.executeUpdate(sql); //执行更新语句 String msg=""; if(r>0){ msg="公告信息删除成功!"; }else{ msg="公告信息删除失败!"; } %> <script language="javascript"> alert("<%=msg%>"); window.location.href="index.jsp"; </script> 运行该项目,查看结果。 @author 林志灿
实验课后思考 如何使用JSP技术连接数据库? @author 林志灿