已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 JavaEE初级编程(2 学时)1、实验目的 (1)掌握Java程序运行环境的安装与配置。 (2)掌握Tomcat服务器的安装及环境配置方法。 (3)掌握对MyEclipse的集成开发环境的配置,为Java EE程序的实验做好准备工作。 (4)掌握编写与运行JSP程序的方法。(5)掌握JSP语言的基本编程方法,了解JSP中各种元素及标签的使用。2、基本要求:(1)注意自始至终贯彻课程中所介绍程序设计风格,养成良好的编程习惯。 (2)独立完成所布置习题。 (3)为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序。 (4)认真完成每次实验,并写出实验报告。3、实验内容和步骤:(1)安装JDK软件包。(2)设置环境变量,包括设置Java的运行路径和classpath。(3) 安装tomcat服务器,并了解服务器的文件结构。(4)安装MyEclipse,学会在该环境中如何配置Tomcat服务器,完成Java EE项目的部署及运行。(5)建立一个项目user,在其中首先创建一个注册页面,要求在注册页面中输入用户注册信息,如果注册成功,则给出成功提示,如果注册失败,则将页面返回到注册页面,并给出错误提示。l 建立一个SQLServer数据库Test,在其中建立数据表user,表中包含用户注册时所需要的各种信息字段,包括username,password,sex,age,hobby等,并向其中输入几条用户信息。l 建立一个JSP 注册页面regist.jsp,n 在其中通过form表单输入注册所需要的用户名称userName,用户密码userPassword,重复密码RUserPassword,用户性别userSex及年龄userAge还有用复选框表示的用户爱好hobby等信息,n 输入信息之后通过点击提交按钮submit,将这些信息提交到另一个regist_User.jsp页面。l 在regist_User.jsp页面中完成数据库的验证,根据验证结果给出提示,并转到相应的处理页面。n 首先利用jdbc进行SQLServer数据库连接,再调用Statement执行查询语句验证用户名是否已存在于数据库中,如果已存在,则将页面重定向到regist.jsp进行重新注册,并给出错误提示;如果用户名不存在则将用户的信息利用Statement保存到数据库中并返回注册成功的信息。实验二 基于Java EE架构程序设计(2 学时)1、实验目的:(1)理解 Java EE架构,掌握JSP,Servlet和JavaBean的使用。(2)掌握JSP 隐含对象的使用,尤其是request,session以及Application的使用(3)理解JavaEE中过滤器的功能及使用方法。2、基本要求:(1)注意自始至终贯彻课程中所介绍的Java EE程序设计风格,养成良好的编程习惯。 (2)独立完成所布置习题。 (3)为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序。 (4)认真完成每次实验,并写出实验报告。3、实验内容与步骤:在项目user中建立用户登录页面,login.jsp,实现用户登录操作,然后利用隐含对象将用户的登录参数传递给Servlet程序loginServlet,并同时转到loginServlet上进行登录验证,如果登录成功,转入系统欢迎页面user/welcome.jsp页面,如果登录失败则返回登录页面。(1) 定义表示用户的JavaBean类User,User的属性包括username,userpassword,sex,age,hobby;方法包括设置username、设置password、设置sex,设置age,设置hobby,获取username、获取password、获取sex,获取age,获取hobby。(2) 创建login.jsp页面,在其中建立form表单,添加文本框和密码框控件,分别向其中输入用户名和密码,然后通过提交按钮,将它提交给后台的servlet程序的url映射名。(3) 建立工具类jdbcUtil.java,在其中建立getConnection得到数据库连接。(4) 在创建loginServlet.java,首先从request中提取客户端传递过来的参数,再通过调用工具类jdbcUtil取得数据库连接,通过查询语句将参数和数据库进行核对,如果用户输入的用户名称和密码不正确,给出错误提示,并将页面重定向到regist.jsp,如果用户输入的用户名和密码正确,进入系统欢迎页面。(5) 建立loginServlet后再到Web.xml中对servlet进行部署。(6) 为user文件夹中的所有文件添加过滤器,建立过滤器userfilter.java,在该过滤器中实现只有登录用户才能访问user文件夹下的页面,如果用户未登录拒绝其访问该文件夹下的所有页面。(7) 在Web.xml中对userFilter进行部署,设置激活条件。实验三 IE小型浏览器的设计与实现(2 学时)1、实验目的:(1)掌握InetAdress的概念与应用(2)掌握URL的概念(3)掌握URL与URL Collection类的应用 2、基本要求:(1)注意自始至终贯彻课程中所介绍程序设计风格,养成良好的编程习惯。 (2)独立完成所布置习题。 (3)为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序。 (4)认真完成每次实验,并写出实验报告。3、实验内容与步骤:(1)利用Java扩展包java.swing提供的JEditorPane类,来显示指定的网络资源的内容,能生成并响应超链接事件。public class browser extends JFrameJLabel jlabel;JTextField jtf;JEditorPane edpl;/定义无参构造方法,对程序进行初始化public browser()super(browser);Container con=getContentPane();jlabel=new JLabel(请输入要访问的网址:);jtf=new JTextField();jtf.addActionListener(new MyEnter();JPanel panel=new JPanel();panel.setLayout(new GridLayout(2,1);panel.add(jlabel);panel.add(jtf);con.add(panel,BorderLayout.NORTH);edpl=new JEditorPane();edpl.setEditable(false);edpl.addHyperlinkListener(new MyHyperListener();con.add(new JScrollPane(edpl),BorderLayout.CENTER);setSize(600,800);setVisible(true);/ JEditorPane根据参数调用响应的页面void getPage(String site)tryedpl.setPage(site); /在edpl中显示指定网页catch(IOException e)JOptionPane.showMessageDialog(this,连接错误,错误提示,JOpti onPane.ERROR_MESSAGE);/处理输入网址时的回车操作class MyEnter implements ActionListener public void actionPerformed(ActionEvent e)String string=jtf.getText();getPage(string);/处理网页中的超链接class MyHyperListener implements HyperlinkListener public void hyperlinkUpdate(HyperlinkEvent e)if(e.getEventType()=HyperlinkEvent.EventType.ACTIVATED)String string=e.getURL().toString();/获取超链接指向的地址getPage(string);/显示超链接指向的网页内容/建立主函数,对该类进行实例化public static void main(String args)browser mybrowser=new browser();mybrowser.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);实验四 基于TCP/IP协议的单客户/服务器Socket编程应用 (2 学时)1、实验目的:(1)掌握基于TCP/IP协议的流套接字的概念与应用(2)掌握ServerSocke和Socket的概念与应用(3) 掌握基于TCP/IP协议的C/S模式的编程应用2、基本要求:(1)注意自始至终贯彻课程中所介绍程序设计风格,养成良好的编程习惯。 (2)独立完成所布置习题。 (3)为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序。 (4)认真完成每次实验,并写出实验报告。3、实验内容和步骤:1、建立服务器端程序(1)talkserver.java,实现与客户的数据通信 :import java.io.*;import .*;public class talkServer /主函数 public static void main(String args) ServerSocket server; Socket socket; String s; try/建立ServerSocket,针对指定端口进行侦听 server=new ServerSocket(2000); System.out.println(等待连接); socket=server.accept(); /侦听到客户端请求时,则接收请求,建立连接 System.out.println(连接成功); System.out.println(*); System.out.print(); /建立和socket绑定的输入输出流,在服务器与客户端之间进行通信 InputStream in=socket.getInputStream(); OutputStream out=socket.getOutputStream(); DataInputStream din=new DataInputStream(in); DataOutputStream dout=new DataOutputStream(out); /建立从键盘进行输入的输入流 BufferedReader sin=new BufferedReader(new InputStreamReader(System.in); System.out.println(等待客户发送信息);/进入死循环,实现客户端与服务器之间的信息交互 while(true) System.out.println(); System.out.println(); s=din.readUTF(); System.out.println(从客户端接收到的信息为+s); if(s.trim().equals(BYE) break; System.out.print(请输入你要发送的信息); s=sin.readLine(); dout.writeUTF(s); if(s.trim().equals(BYE) break; din.close(); dout.close(); in.close(); out.close(); socket.close(); catch(IOException e) System.out.println(Error:+e); 2建立客户端程序(1)talkclient.java,实现与服务器的数据通信/客户端程序,用来向服务器端发出请求并进行通信import java.io.*;import .*;public class talkclient public static void main(String args) Socket socket;String s;try /针对服务器指定端口建立socket,同时对服务器指定端口发出连接请求socket=new Socket(localhost,2000);System.out.println();System.out.println();System.out.println();/建立和socket绑定的输入输出流,以及从键盘读入数据的输入流InputStream in=socket.getInputStream();OutputStream out=socket.getOutputStream();DataInputStream din=new DataInputStream(in);DataOutputStream dou=new DataOutputStream(out);BufferedReader sin=new BufferedReader(new InputStreamReader(System.in);/进入死循环进行服务器端和客户端的通信while(true)System.out.print(请输入您要发送的信息);s=sin.readLine();dou.writeUTF(s);if(s.trim().equals(BYE) break;elseSystem.out.println();System.out.println();s=din.readUTF();System.out.println(从服务器接收到的信息为:+s);if(s.trim().equals(BYE) break;din.close();dou.close();in.close();out.close();socket.close(); catch (Exception e) System.out.println(e);实验四 基于UDP协议的C/S模式的Socket编程应用 (2 学时)1、实验目的:(1)掌握基于UDP协议的数据报套接字的概念与应用(2)掌握DatagramSocket和DatagramPacket的概念与应用(3) 掌握基于UDP协议的C/S模式的编程应用2、基本要求:(1)注意自始至终贯彻课程中所介绍程序设计风格,养成良好的编程习惯。 (2)独立完成所布置习题。 (3)为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序。 (4)认真完成每次实验,并写出实验报告。3、实验内容和步骤:本实验是基于UDP协议的C/S模式的图形界面通讯程序,以可视化操作模式,实现服务器与客户端之间的通信操作。1、建立服务器端程序(1)Serverapp_UDP.java,实现与客户的数据通信 :package talk;import java.awt.*;import java.awt.event.*;import java.io.*;import .*;public class Serverapp_UDP extends WindowAdapter implements ActionListener,KeyListener TextField str_send; Label label; TextArea msg; Button send,exit; Panel p1; String hostname; DatagramSocket receiveSocket,sendSocket; DatagramPacket receivePacket,sendPacket; public void display() Frame f=new Frame(在线聊天服务器); f.setSize(400,350); f.setLocation(400,400); f.setBackground(Color.red); p1=new Panel(); f.add(p1,South); msg=new TextArea(); msg.setSize(100,250); msg.setBackground(Color.white); msg.setEditable(false); f.add(msg); label=new Label(发送消息); p1.add(label); str_send=new TextField(20); p1.add(str_send); str_send.addKeyListener(this); send=new Button(发送); p1.add(send); send.addActionListener(this); exit=new Button(退出); p1.add(exit); exit.addActionListener(this); f.addWindowListener(this); f.setVisible(true); try sendSocket=new DatagramSocket(5000); catch(Exception e) msg.append(e+n); /接受信息 public void receiveMessage() try receiveSocket=new DatagramSocket(3333);while(true)byte buf=new byte500;receivePacket=new DatagramPacket(buf,buf.length);receiveSocket.receive(receivePacket); if(receivePacket.getLength()=0) System.out.println(消息为空); continue; ByteArrayInputStream bin=new ByteArrayInputStream(receivePacket.getData(); BufferedReader reader=new BufferedReader(new InputStreamReader(bin); msg.append(客户端:+reader.readLine(); msg.append(n); reader.close(); bin.close(); catch (Exception e) msg.append(e+n); /发送信息 public void sendMessage() try String s=str_send.getText(); str_send.setText(); msg.append(服务器:+s+n); ByteArrayOutputStream out=new ByteArrayOutputStream(); PrintStream pout=new PrintStream(out); pout.print(s); byte buf=out.toByteArray(); sendPacket=new DatagramPacket(buf,buf.length,InetAddress.getByName(hostname),3001); sendSocket.send(sendPacket); buf=null; catch (Exception err) msg.append(err+n); public void actionPerformed(ActionEvent e) if(e.getSource()=send)sendMessage();if(e.getSource()=exit)System.out.println(聊天程序已经关闭,再见!n);System.exit(0);public void windowsClosing(WindowEvent e)System.out.println(聊天程序已经关闭,再见n);System.exit(0);public void keyPressed(KeyEvent e) if(e.getSource()=str_send)if(e.getKeyChar()=KeyEvent.VK_ENTER)sendMessage();/主函数public static void main(String args)Serverapp_UDP app=new Serverapp_UDP();app.display();app.receiveMessage();public void keyReleased(KeyEvent arg0) / TODO Auto-generated method stubpublic void keyTyped(KeyEvent arg0) / TODO Auto-generated method stub2建立客户端程序Clientapp_UDP.java,实现客户端与服务之间的通信,package talk;import java.awt.*;import java.awt.event.*;import java.io.*;import .*;public class Clientapp_UDP extends WindowAdapter implements ActionListener,KeyListenerTextField str_send;Label label;TextArea msg;Button send,exit;Panel p1;DatagramSocket receiveSocket,sendSocket;DatagramPacket receivePacket,sendPacket;public void display()Frame f=new Frame(在线聊天客户端); f.setSize(400,350); f.setLocation(100,100); f.setBackground(Color.red); p1=new Panel(); f.add(p1,South); msg=new TextArea(); msg.setSize(100,250); msg.setBackground(Color.white); msg.setEditable(false); f.add(msg); label=new Label(发送消息); p1.add(label); str_send=new TextField(20); p1.add(str_send); str_send.addKeyListener(this); send=new Button(发送); p1.add(send); send.addActionListener(this); exit=new Button(退出); p1.add(exit); exit.addActionListener(this); f.addWindowListener(this); f.setVisible(true); try sendSocket=new DatagramSocket(3000); catch(IOException e) msg.append(e+n); public void receiveMessage()try receiveSocket=new DatagramSocket(3001);while(true)byte buf=new byte500;receivePacket=new DatagramPacket(buf,buf.length);receiveSocket.receive(receivePacket);ByteArrayInputStream bin=new ByteArrayInputStream(receivePacket.getData(); BufferedReader reader=new BufferedReader(new In
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 订购蛋糕合同
- 联合经营合同
- 合同劳动合同解除劳动合同
- 兄弟房屋购买合同
- 监理工程合同
- 简易购苗合同
- 软件 购买合同
- 黑户卖车合同
- 高新申报合同
- 建筑工程分包合同
- 全国大学生职业规划大赛《临床医学类》专业生涯发展展示
- 护理给药错误PDCA案例
- 透析中高血压护理
- 2025发展对象考试试题库及参考答案(完整版)
- 2025年中国竞赛卡丁车行业市场发展前景及发展趋势与投资战略研究报告
- 核磁盆腔扫描技术课件
- 初识人工智能教学课件
- FES康复治疗踏车:开启脑卒中早期患者下肢屈髋功能恢复新征程
- 蓝海新材料(通州湾)有限责任公司招聘笔试题库2025
- 浙能校招笔试题目及答案
- 2025至2030中国芯片原子钟市场现状调查与前景方向研究报告
评论
0/150
提交评论