




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 JAVA WEB开发环境的配置和Http协议应用一、实验目的 1 熟悉 JSP 开发环境。 2 掌握JDK的安装与配置。 3 掌握 tomcat 安装及配置。 4 运行一个简单 jsp 文件 5. 理解HTTP协议原理。6.掌握HTTP协议的请求和响应过程二、实验内容 1、 安装配置JDK1.安装JDK在这个屏幕我们可以看到默认安装路径是到c:Program FilesJavajdk,但是呢,这个安装路径需要进行修改,点击更改(A)按钮来修改JDK的安装目录,点击后输入类似于C:jdk1.6.0这样的不包含空格,也不包含中文路径的文件夹来安装。而这样的路径是不推荐的:C:Java学习JDK 1.6。之所以这样做是因为路径带空格后有时候会出现不必要的问题,导致某些Java程序运行失败,也会在以后设置PATH和CLASSPATH时出现一些问题。现在你需要记下来安装的路径,然后接着点下一步等待片刻就可以完成安装了。1.2 配置环境变量第一个需要配置的环境变量是JAVA_HOME。在我的电脑上点击右键, 选择 属性,在弹出的对话框中选择高级页面,然后点击环境变量按钮, 在出现的环境变量对话框的系统变量(S)栏目中点击新建按钮, 出现新建系统环境变量的对话框, 输入变量名为JAVA_HOME, 值为 JDK 安装目录,例如:C:JDK1.6.0(例如Tomcat需要这个环境变量来查找 JDK). 如下图所示: 图1.3 新建系统变量接下来用类似的方法新建环境变量CLASSPATH,取值为 .(注意是英文的.) ,这个变量用来供Java虚拟机查找要加载的类。接下来需要把JDK的应用程序路径添加到系统的Path变量中,点击滚动条找到列表中名为Path的变量,点击”编辑(I)”按钮,即可修改PATH的变量值。一般来说我们只需要在开头加%JAVA_HOME%bin;(注意不要用中文全角的;),然后点击两次确定按钮即可。如下图所示:图1.4 修改Path系统变量当这些变量设置完毕后,就可以在命令行里面检查是否设置成功。点击Windows的开始按钮,选择运行(R),输入CMD后按下回车,这时候会出现命令行窗口。输入javac并按下回车(Enter)键。2Tomcat6.0服务器的安装和运行2.1安装Tomcat双击apache-tomcat-6.0.18.exe开始安装Tomcat6.0,点击Next至如图2.1,这里勾选Examples(默认不勾选)后可以同时安装官方附带的实例.图2.1Tomcat安装过程选择组件部分断续Next至图2.2。这三项分别是:Tomcat服务器默认连接端口 , 管理员登录服务器的用户名, 用户名密码(这里我们默认设置为空)。注意,这三项所填的内容一定要牢记。其中,若系统其他应用程序已经占用8080端口则应当更改为一可用的端口,否则服务器可能连接不上。图2.2 Tomcat安装过程连接设置部分点击Next至图2.3。这一步是让您选择Java虚拟机的安装所在的路径,即JRE目录。如果单独安装了JRE,Tomcat会自动识别并选择好JRE的目录,如果是安装JDK自带的JRE则必须把路径指到JDK下的JRE目录。图2.3Tomcat安装过程JRE所在路径选择部分如果是拷贝的 tomcat ,则打开 tomcat 下的 conf tomcat-users.xml 文件并编辑来设置管理员的用户名和密码,修改如下: 2.2配置环境变量按1.2 有步骤来设置Tomcat的环境变量。新建系统变量名为CATALINA_HOME,输入变量值为C:Program FilesApache Software FoundationTomcat 6.0,即Tomcat的安装目录。然后编辑CLASSPATH系统环境变量,添加%CATALINA_HOME%commonlib。接着编辑PATH系统环境变量,添加%CATALINA_HOME%bin。配置完Tomcat的环境变量后就可运行来测试是否安装配置成功了。首先,开始所有程序apache tomcat 6.0Monitor Tomcat,然后在任务栏中右击Tomcat的图标选择Start service来启动Tomcat服务器。启动Tomcat服务器后可选择Stop service来随时停止服务器的运行。如图2.4图 2.4 启动Tomcat服务器注意,也可以运行CMD命令后输入tomcat6来启动Tomcat服务器。运行 %catalina_home%bin 下的 startup.bat,当控制台命令窗口关闭时即停止运行Tomcat服务器。运行Tomcat服务器后打开IE浏览器,在地址栏中输入http:/localhost:8080/(注意,如果您的连接端口不是默认的,请把8080改成您设置的端口号),如果出现图2.5的效果表明Tomcat服务器安装配置成功。图2.5Tomcat6服务器安装配置成功如果要管理您的项目,可进入图2.5中的TomcatManager 连接,如图2.6输入管理员用户名和密码后就可进行项目的管理。接下来您现在可以在/examples连接下找一些实例来运行测试了。图2.5管理员登录服务器3. MyEclipse的安装与配置3.1安装MyEclipse6.5双击MyEclipse_6.5.1GA_E3.3.2_Installer.exe开始安装MyEclipse。安装过程可以选择MyEclipse的安装位置,如图3.1。注意,这里我们安装的是带有Eclipse3.3.2的MyEclipseall in one 版本,如果不想使用官方的这个组合,您可以自己先单独安装其他版本的Eclipse再安装其他版本的MyEclipse。图3.1 更改MyEclipse的安装路径安装完毕,可以:开始 MyEclipse6.5 MyEclipse6.5来启动MyEclipse。启动过程中会提示您设置一个专门的工作空间来存储MyEclipse新建的项目。更改成您喜欢的路径点击OK即可。如图3.2图3.2修改修改MyEclipse工作空间路径刚开始第一次进入MyEclipse时会提示你是否注册,如果您有合法的注册码可以选择Enter Subscription,然后输入用户名和注册码进行注册使用。如图3.3。图3.3直接注册使用MyEclipse注意,如果现在不注册而是今后注册可在MyEclipse的菜单栏选择WindowPreferences,接着展开MyEclipse Enterprise Workbench选择Subscription然后在窗口的右边点击Enter Subscription后输入用户名和注册码进行注册使用。如图3.4图3.4稍后注册使用MyEclipse3.2配置关联Tomcat6和JDK如果要使用您安装的Tomcat6做开发项目的服务器和您习惯使用的JDK。就得重新配置MyEclipse。首先配置Tomcat6,在MyEclipse的菜单栏选择WindowPreferences,接着展开MyEclipse Enterprise WorkbenchServersTomcatTomcat6.x,在窗口的右边Tomcat Server选中Enable,然后指定Tomcat home directory 的路径为Tomcat 6的安装目录。点击Apply确认。如图3.5图3.5在MyEclips中配置Tomcat6再展开Tomcat6.x选择JDK来配置JDK。在窗口的右边单击Add,然后在JRE name中输入JDK1.6(或任意输入),然后指定JRE home directory的路径为您安装的JDK的路径或JRE的路径。如图3.6。最后点击OK完成设置。图 3.6 在MyEclips中配置JDK4. 测试简单 jsp 文件 在 %catalina_home%webappsROOT 目录下建立一个 test.jsp 文件,内容如下: 在地址栏中输入: :8080/test.jsp 查看运行效果。 三.练习 修改: %catalina_home%conf 下的 server.xml 文件。 找到: Connector port=8080 并把 port=” 8080” 改成 80. 重起 tomcat ,地址栏输入 / 查看结果 四、http协议应用1 实验内容:使用套接字的TCP连接编程实现发送HTTP请求报文和接收应答报文.(1)建TCP套接字.连接到服务器的80端口发送请求报文接收应答报文(把应答报文存于一个指定的文件中,同时显示在屏幕上).找到指定的文件,把该文件用记事本方式打开,去掉文件中前面一部分信息(此部分为响应信息).然后用浏览器打开该文件,使可以访问指定的网页.2 举例请同学采用这种方式访问:的网页.3 客户端程序:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import .*;public class HTTPClient public HTTPClient() public static void main(String args) new MainForm(); class MainForm extends Frame implements ActionListenerLabel msg;TextField tport;TextField taddress;TextArea treceive;Button bcon;Button bsend;String ip,port,send,receive;Box hbox,vbox;public MainForm()this.setFont(new Font(宋体,Font.BOLD,20);msg=new Label();tport=new TextField();taddress=new TextField(50);treceive=new TextArea(20,70);bsend=new Button(发送);bsend.addActionListener(this);hbox=Box.createHorizontalBox();hbox.add(taddress);hbox.add(Box.createHorizontalStrut(10);hbox.add(tport);hbox.add(Box.createHorizontalStrut(10);hbox.add(bsend);vbox=Box.createVerticalBox();vbox.add(hbox);vbox.add(Box.createVerticalStrut(10);vbox.add(treceive);vbox.add(Box.createVerticalStrut(10);vbox.add(msg);this.setLayout(new FlowLayout();/bcon=new Button(连接服务器);add(vbox);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););this.setBounds(10,10,800,600);setVisible(true);public void actionPerformed(ActionEvent e)if (e.getSource()=bsend)String uri=index.htm;String host=localhost;int port=8080;String address=null;int n=0;if (!taddress.getText().isEmpty()address=taddress.getText();n=address.indexOf(/,8);if(n!=-1)host=address.substring(7,n);uri=address.substring(n);if (!tport.getText().isEmpty()port=Integer.parseInt(tport.getText();msg.setText(host:+host+ uri:+uri+ n=+n);doGet(host,port,uri);public void doGet(String host,int port,String uri)Socket socket=null;trysocket=new Socket(host,port);catch(Exception e)e.printStackTrace();tryStringBuffer sb=new StringBuffer(GET +uri+ HTTP/1.1rn);sb.append(Accept:*/*rn);sb.append(Accept-Language:zh-cnrn);sb.append(Accept-Encoding:gzip,deflatern);sb.append(User-Agent:HTTPClientrn);sb.append(Host:+host+:+port+rn);sb.append(Connection:Keep-Alivernrn);/treceive.setText(sb.toString();OutputStream socketOut=socket.getOutputStream();socketOut.write(sb.toString().getBytes();Thread.sleep(5000);InputStream socketIn=socket.getInputStream();int size=socketIn.available();byte buffer=new bytesize;socketIn.read(buffer);treceive.setText(new String(buffer);catch(Exception e)e.printStackTrace();finallytrysocket.close();catch(Exception e)e.printStackTrace();4.服务器端程序*/package server;import java.awt.*;import java.awt.event.*;import .*;import java.io.*;public class HTTPServer extends Frame implements ActionListenerboolean flag; int port=8080; ServerSocket serversocket; TextArea ta; Button clean,quit; public HTTPServer() ta=new TextArea(26,50); clean=new Button(清空消息); quit=new Button(退出); setLayout(new FlowLayout(); add(ta); add(clean); add(quit); clean.addActionListener(this); quit.addActionListener(this); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); this.setBounds(10,10,400,500); setVisible(true); flag=true; try serversocket=new ServerSocket(port); ta.append(服务器正在监听端口:+serversocket.getLocalPort()+n); while(flag) try final Socket socket =serversocket.accept(); ta.append(建立了一个与客户的新的TCP连接,该客户的地址为:+n+socket.getInetAddress()+:+socket.getPort()+n); Service service=new Service(this,socket); service.start(); catch(Exception ex) ta.append(ex.getMessage(); catch(Exception ex) ta.append(ex.getMessage(); public void actionPerformed(ActionEvent e) if(e.getSource()=clean) ta.setText(); else if(e.getSource()=quit) System.exit(0); public void service(Socket socket)throws Exception public static void main(String args) new HTTPServer(); class Service extends Threadpublic HTTPServer server;public Socket socket;public Service(HTTPServer server,Socket socket)this.server=server;this.socket=socket;public void run()tryInputStream socketIn=socket.getInputStream(); Thread.sleep(500); int size=socketIn.available(); byte buffer=new bytesize; socketIn.read(buffer); String request=new String(buffer); server.ta.appendText(客户端发送过来的请求为:n + request+n); String firstLine
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电信运营商招聘技术岗位模拟题及参考答案
- 免疫细胞技术临床应用规范
- 腹膜透析的护理
- 田园四季歌课件
- 新解读《GB-T 36778 - 2018燕麦花叶病毒检疫鉴定方法》
- 用表格表示变量关系课件
- 升国旗作文教学课件
- 新解读《GB-T 22048-2022玩具及儿童用品中特定邻苯二甲酸酯增塑剂的测定》
- 2025年建筑工程管理与实务一级建造师考试冲刺押题卷
- 生活安全知识培训方案课件
- GB/T 14153-1993硬质塑料落锤冲击试验方法通则
- (完整版)人教版八年级下册《道德与法治》期末测试卷及答案【新版】
- 并购贷款业务培训
- 北京大学人民医院-医疗知情同意书汇编
- 档案管理员述职报告9篇
- 建设集团有限公司安全生产管理制度汇编
- 牙体牙髓病最全课件
- 交通信号控制系统检验批质量验收记录表
- 疫苗运输温度记录表
- 各国钢材-合金牌号对照表
- 医院定岗定编要点
评论
0/150
提交评论