1 / 43

实验一 开发环境搭建与开发工具的使用( 2 学时)

实验一 开发环境搭建与开发工具的使用( 2 学时). @author 林志灿. 实验目的和实验能力要求. 1.掌握JSP开发环境的搭建过程; 2.掌握Tomcat中部署JSP网站的两种方法; 3.学习Eclipse集成环境,掌握源程序编辑方法; 4 .掌握在Eclipse集成开发环境中调试与运行程序的方法 。. @author 林志灿. 实验内容. 1.搭建JSP开发环境 ; 2.修改Tomcat6.0默认端口 ; 3.在Tomcat6.0上部署JSP网站 ;. @author 林志灿. 实验环境.

calvin
Télécharger la présentation

实验一 开发环境搭建与开发工具的使用( 2 学时)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 实验一 开发环境搭建与开发工具的使用(2学时) @author 林志灿

  2. 实验目的和实验能力要求 • 1.掌握JSP开发环境的搭建过程; • 2.掌握Tomcat中部署JSP网站的两种方法; • 3.学习Eclipse集成环境,掌握源程序编辑方法; • 4.掌握在Eclipse集成开发环境中调试与运行程序的方法。 @author 林志灿

  3. 实验内容 • 1.搭建JSP开发环境; • 2.修改Tomcat6.0默认端口; • 3.在Tomcat6.0上部署JSP网站; @author 林志灿

  4. 实验环境 • 1.计算机 CPU:Pentium III 600MHz以上 RAM:256M以上,硬盘空间:4G以上 • 2.操作系统:Windows2000 、WindowsXP、Windows2003 选其一 • 3.软件要求:Eclipse或MyEclipse,JDK6.0,Tomcat6.0。 @author 林志灿

  5. 实验步骤 • 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 林志灿

  6. 实验课后思考 • 如何部署一个JSP网站,有哪几种方法? @author 林志灿

  7. 实验二 JSP开发基础(8学时) @author 林志灿

  8. 实验目的和实验能力要求 • 1.掌握创建包及创建类得方法; • 2.掌握对象的使用方法; • 3.掌握常量与变量的应用; • 4.掌握JavaScript函数的定义及调用。 @author 林志灿

  9. 实验内容 1.创建包并在该包下创建类; 2.创建java类对像; 3.对像的使用; 4.定义常量及变量; 5.运算符的应用; 6.应用JavaScript验证表单元素是否为空。 @author 林志灿

  10. 实验环境 • 1.计算机 CPU:Pentium III 600MHz以上 RAM:256M以上,硬盘空间:4G以上 • 2.操作系统:Windows2000 、WindowsXP、Windows2003 选其一 • 3.软件要求:Eclipse或MyEclipse,JDK6.0,Tomcat6.0。 @author 林志灿

  11. 实验步骤 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 林志灿

  12. 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 林志灿

  13. 5.重新编辑index.jsp文件,在<head></head>标志之间编写自定义JavaScript函数check( ),用于验证文本框是否为空,主要代码如下: <script type="text/javascript"> function check(form) { if(form.bid.value == "") { alert("书号不能为空!"); } } ...... </script> @author 林志灿

  14. 实验课后思考 一.如何实例化一个Java类对象? 二.本实验中,JavaScript的作用是什么? @author 林志灿

  15. 实验三 JSP实用组件应用(8学时) @author 林志灿

  16. 实验目的和实验能力要求 1.掌握配置邮件服务器的方法; 2.掌握应用JavaMail组件发送邮件。 @author 林志灿

  17. 实验内容 1.安装MSTP服务器; 2.安装和配置POP3服务器; 3.发送HTML格式的邮件。 @author 林志灿

  18. 实验环境 • 1.计算机 CPU:Pentium III 600MHz以上 RAM:256M以上,硬盘空间:4G以上 • 2.操作系统:Windows2000 、WindowsXP、Windows2003 选其一 • 3.软件要求:Eclipse或MyEclipse,JDK6.0,Tomcat6.0。 @author 林志灿

  19. 实验步骤 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 林志灿

  20. 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 林志灿

  21. <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">&nbsp;</td> <td width="486" background="Images/board_left.gif">&nbsp;</td> <td width="44" background="Images/board_left.gif">&nbsp;</td> </tr> @author 林志灿

  22. <tr valign="top"> <td height="247">&nbsp;</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 林志灿

  23. <tr> <td height="25" align="center">密&nbsp;&nbsp;码:</td> <td colspan="2" align="left"><input name="password" type="password" id="password" title="发件人信箱密码" size="60"></td> </tr> <tr> <td height="25" align="center">主&nbsp;&nbsp;题:</td> <td colspan="2" align="left"><input name="subject" type="text" id="subject" title="邮件主题" size="60"></td> </tr> <tr> <td height="103" align="center">内&nbsp;&nbsp;容:</td> <td colspan="2" align="left"><textarea name="content" cols="59" rows="8" class="wenbenkuang" id="content" title="邮件内容"> <html> @author 林志灿

  24. 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 林志灿

  25. //给消息对象设置收件人、发件人、主题、发信时间//给消息对象设置收件人、发件人、主题、发信时间 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 林志灿

  26. //以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 林志灿

  27. 实验课后思考 如何使用JSP技术发送HTML格式的邮件? @author 林志灿

  28. 实验四 JSP数据库应用开发(2学时) @author 林志灿

  29. 实验目的和实验能力要求 1.掌握在SQL Server2000中创建数据库和表的方法; 2.掌握在MyEclipse中配置构建路径的方法; 3.掌握连接及操作数据库的方法; 4.掌握对数据表增删改查的方法。 @author 林志灿

  30. 实验内容 1.在SQLServer2000中创建数据库和表。 2.在Eclipse中将SQLServer2000的驱动包构建到项目中。 3.编写连接及操作数据库的JavaBean。 4.从数据表中查询数据并显示。 5.向数据表中添加数据。 6.从数据表中删除数据。 @author 林志灿

  31. 实验环境 • 1.计算机 CPU:Pentium III 600MHz以上 RAM:256M以上,硬盘空间:4G以上 • 2.操作系统:Windows2000 、WindowsXP、Windows2003 选其一 • 3.软件要求:Eclipse或MyEclipse,JDK6.0,Tomcat6.0。 @author 林志灿

  32. 实验步骤 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 林志灿

  33. /** * 功能描述: 执行查询操作 * 参数: 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 林志灿

  34. /** * 功能描述: 执行更新操作 * 参数: 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 林志灿

  35. /** * 功能描述: 关闭数据库连接 * 参数: 无 * 返回值: 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 林志灿

  36. try { if (conn != null) { conn.close(); } } catch (Exception e) { e.printStackTrace(System.err); } } } @author 林志灿

  37. 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 林志灿

  38. <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 林志灿

  39. }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 林志灿

  40. 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 林志灿

  41. 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 林志灿

  42. 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 林志灿

  43. 实验课后思考 如何使用JSP技术连接数据库? @author 林志灿

More Related