浏览器与服务器连接

浏览器与服务器连接的一般过程:
ServerSocket serverSocket = new ServerSocket(80);
serverSocket.accept();

www.sohu.com+80(浏览器自动生成)->DNS(Domain Name Service)->221.179.180.20:80;

Socket socket = new Socket(221.179.180.20:80);


服务器的建立需要下载并启动Tomcat。
下载Tomcat:http://tomcat.apache.org/download-60.cgi
下载一个Tomcat的zip压缩包就行了。不需要安装Tomcat,解压后。只需要在apache-tomcat-6.0.30\bin目录下启动startup.bat就行了。
启动Tomcat,需要配置两个环境变量
JAVA_HOME:值为JDK的安装目录(bin目录的上一层目录)
CATALINA_HOME:值为解压后的安装目录。

在Tomcat的apache-tomcat-6.0.30\conf 目录下找到server.xml ,在</host>上面添加的内容是:
  <Context path="/test" docBase="F:\java web\test\WebRoot" reloadable="true" />
path表示的是逻辑路径,
docBase表示的是物理路径。
reloadable表示的对其内容的变化自动进行加载。自己能更新服务器。
要想检查是否配置正确:先启动startup.bat,
然后在浏览器地址栏输入:http://localhost:8080/test/login.jsp

生成浏览器的流程:
浏览器 访问 服务器(Tomcat) 服务器找Servlet的资源。永远不会出现浏览器直接找Servlet。

helloworld程序.这是servlet的程序.


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWorldServlet  extends HttpServlet
{
 @SuppressWarnings("deprecation")
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException
{
   resp.setContentType("text/html");
   
   PrintWriter out = resp.getWriter();
   
   out.println("<html><head><title>Hello World Sample</title></head>");
   
   out.println("<body><h1>Hello World:"+new Date().toLocaleString()+"</h1></body></html>");
   
   System.out.println(new Date().toLocaleString());
   
   out.flush();
   
   
}
}

HelloWorld.jsp
<body>
    <h1>HelloWorld:<%=new java.util.Date().toLocaleString() %>></h1>. <br>
  </body>


web.xml(deploymentdescriptor)部署描述符。

<servlet>
  <servlet-name>HelloWorld</servlet-name>
  <servlet-class>com.javaweb.servlet.HelloWorldServlet</servlet-class>
  </servlet>



  <servlet-name>HelloWorld</servlet-name>
  <url-pattern>/HelloWorld</url-pattern>
  </servlet-mapping>

程序执行的整个过程。
首先启动服务器Tomcat。
然后再地址栏输入:http://localhost:8080/test/HelloWorld.jsp

通过http://localhost:8080/test找到的server下的path逻辑路径,从而得到相应的物理路径。
进入<servlet-mapping>
HelloWorld与<url-pattern>/HelloWorld</url-pattern>相匹配。
向上找到了服务器的名字<servlet-name>HelloWorld</servlet-name>与之相匹配。

从而进入<servlet>
找到<servlet-class>com.javaweb.servlet.HelloWorldServlet</servlet-class>文件所在的位置,执行HelloWorld.class文件。
就会在浏览器页面显示HelloWorld。

原文地址:https://www.cnblogs.com/javawebsoa/p/2987498.html