zoukankan      html  css  js  c++  java
  • javaweb学习总结十五(web开发的相关概念以及常用服务器介绍)

    一:java web开发的相关概念

    1:web分为静态web和动态web

    2:模拟web服务器

    web页面如果想让外部网络访问,必须通过网络程序读取资源,流程:

    a:用户通过浏览器访问网络程序

    b:网络程序读取资源,然后响应给用户

    代码:

     1 /**
     2  * 
     3  */
     4 package com.hlcui.testweb;
     5 
     6 import java.io.FileInputStream;
     7 import java.io.IOException;
     8 import java.io.OutputStream;
     9 import java.net.ServerSocket;
    10 import java.net.Socket;
    11 
    12 /**
    13  * @author Administrator 模拟设计一个web服务器,向外界提供服务
    14  */
    15 public class WebServer {
    16 
    17     /**
    18      * @param args
    19      * @throws IOException
    20      */
    21     public static void main(String[] args) throws IOException {
    22         ServerSocket serverSocket = new ServerSocket(8888);
    23         System.out.println("服务器已经启动...");
    24         Socket socket = serverSocket.accept();
    25         OutputStream out = socket.getOutputStream();
    26         FileInputStream fis = new FileInputStream("E:\1.html");
    27         int len = 0;
    28         byte[] buf = new byte[1024];
    29         while ((len = fis.read(buf)) > 0) {
    30             out.write(buf, 0, len);
    31         }
    32         fis.close();
    33         out.close();
    34     }
    35 
    36 }

    路径E:/1.html居然不行,使用E:\1.html可以。

    当然,有很多公司已经写好了网络程序,就是web服务器。

    二:常见的web服务器

    1:weblogic服务器

    2:websphere服务器

    3:tomcat服务器

    tomcat服务器时开源免费的,是学习工作必备

    4:下载tomcat服务器

    三:安装并且启动web服务器

    1:安装tomcat并启动

    将下载好的文件解压,然后进入到bin目录,双击startup.bat命令即可

    验证是否启动成功:只需要打开浏览器,然后输入url地址,本机就输入localhost:8080

    如果没有修改端口,默认就是8080,出现以下界面说明访问成功!!!!

    2:修改tomcat服务器端口

    http协议默认端口是80,如果需要修改tomcat服务器端口,只需要进入conf目录,然后打开

    server.xml文件,找到

    <Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" URIEncoding="utf-8" /> 连接器这个元素,只需要把8080修改成80即可。

    修改之后,启动服务器,再次访问:浏览器地址栏输入:localhost

    3:tomcat服务器使用常见问题

    a:java_home环境变量

    使用tomcat服务器需要配置java_home环境变量,因为tomcat是使用java写的,这个一般在学习jdk的

    使用都配置过,如果没有配置,启动tomcat服务器会一闪而过。

    参考:

    下载安装JDK,并且配置java环境变量 

    这一篇文章配置java_home。

    b:端口占用问题

    如果出现如下异常:

    严重: Error initializing endpoint
    java.net.BindException: Address already in use: JVM_Bind <null>:80
    at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:549)
    at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:176)
    at org.apache.catalina.connector.Connector.initialize(Connector.java:1049)
    at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)
    at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:838)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:538)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:562)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
    Caused by: java.net.BindException: Address already in use: JVM_Bind
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
    at java.net.ServerSocket.bind(ServerSocket.java:328)
    at java.net.ServerSocket.<init>(ServerSocket.java:194)
    at java.net.ServerSocket.<init>(ServerSocket.java:150)
    at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50)
    at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:538)
    ... 12 more

    说明端口被占用。

    杀死占用端口的程序

    netstat -ano|findstr 8080   查看占用8080端口程序的pid进程号

    tasklist|findstr pid号    查看是哪个程序占用了端口

    可以使用命令  taskkill  /pid  pid号 或者直接在任务管理器进程栏杀死进程

    c:catalina_home 环境变量建议不要配置

    如果配置了,那么它就会去找固定的服务器启动,如果配置Catalina_home的服务器安装在d盘,即使你启动的是c盘的服务器,

    它依然后去找d盘的服务器启动。

  • 相关阅读:
    bzoj1379 [Baltic2001]Postman
    bzoj1116 [POI2008]CLO
    bzoj1734 [Usaco2005 feb]Aggressive cows 愤怒的牛
    tyvj1086 Elevator
    2014.7.8模拟赛【聪明的打字员】
    2014.7.8模拟赛【笨笨当粉刷匠】|bzoj1296 [SCOI]粉刷匠
    2014.7.8模拟赛【笨笨的电话网络】
    2014.7.8模拟赛【词编码】
    bzoj1854 [Scoi2010]游戏
    2014.7.7 模拟赛【小K的农场】
  • 原文地址:https://www.cnblogs.com/warrior4236/p/5875186.html
Copyright © 2011-2022 走看看