InetAddress类
public class test { public static void main(String[] args) { try { //查询本机地址 InetAddress ia1 = InetAddress.getByName("127.0.0.1"); System.out.println(ia1);///127.0.0.1 InetAddress ia2 = InetAddress.getByName("localhost"); System.out.println(ia2);//localhost/127.0.0.1 InetAddress ia3 = InetAddress.getLocalHost(); System.out.println(ia3);//LAPTOP-PP239F6P/10.115.38.34 //查询网站地址 InetAddress ia4 = InetAddress.getByName("www.baidu.com"); System.out.println(ia4);//www.baidu.com/110.242.68.4 } catch (UnknownHostException e) { e.printStackTrace(); } } }
端口表示计算机上的一个程序的进程
端口的分类:
概念:可以供浏览器访问的程序;
在Java中,动态Web资源开发的技术统称为JavaWeb
组成(静态Web和动态Web):
- html , css , js - jsp , servlet - Java程序 - jar包 - 配置文件(Properties)
Web应用程序在编写完毕后,需要一个服务器来统一管理以便给外界访问
htm和html后缀的文件都是网页的后缀,只有在服务器上存放了这些文件客户端才能访问
缺点:
- 假如服务器的动态Web资源出现了错误,就需要重新编写后台程序
优点:
解释:服务器是一种被动的操作,用来给用户的一些请求和给用户一些响应信息
C/S架构:客户端和服务器
B/S架构:浏览器和服务器
ASP:
PHP:
JSP/Servlet:
bin: 存放tomcat服务器的可执行程序
conf: 存放tomcat的配置文件
lib: 存放jar包
logs: 存放服务器运行时输出的日志信息
temp: 存放临时数据
webapps: 存放部署的web工程
work:tomcat工作时的目录,存放tomcat运行时jsp翻译为Servlet的源码,和Session的钝化目录
HTTP(超文本传输协议)是一个简单的请求-相应协议,通常运行在TCP之上
HTTPS(s:安全的)
Http1.0:客户端与Web服务器连接后,只能获得一个Web资源,然后就会断开连接
Http1.1:客户端与Web服务器连接后,可以获得多个Web资源
百度:
Request URL: https://www.baidu.com/ //请求地址 Request Method: GET //get方法/post方法 Status Code: 200 OK //状态码:200 Remote Address: 110.242.68.4:443
请求行中的请求方式:GET,POST,HEAD,DELLET…
百度:
Cache-Control: private 缓存控制 Connection: keep-alive 连接 Content-Encoding: gzip 编码 Content-Type: text/html;charset=utf-8 类型
响应的状态码:
新建项目
然后就是自定义名字和路径,然后来看项目中各目录的作用
在src目录下创建Servlet类的包,然后创建Servlet类
import javax.servlet.*; import java.io.IOException; public class HelloServlet implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { } @Override public ServletConfig getServletConfig() { return null; } //service方法是专门用来处理请求和响应的 @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("HelloServlet 被访问了"); } @Override public String getServletInfo() { return null; } @Override public void destroy() { } }
然后需要去web的配置文件中进行修改
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!-- servlet标签给tomcat配置Servlet程序 --> <servlet> <!-- 起别名 --> <servlet-name>servlet1</servlet-name> <!-- servlet的全类名 --> <servlet-class>com.lmer.HelloServlet</servlet-class> </servlet> <!-- servlet-mapping标签给servlet程序配置访问地址 --> <servlet-mapping> <!-- 告诉服务器当前配置的地址是给谁使用的 --> <servlet-name>servlet1</servlet-name> <!-- 配置访问地址 </br> /表示的地址是http://ip:port/工程路径 --> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
第一和第二步是在第一次访问Servlet程序时会调用的
每次访问都会调用
在Web工程停止时调用
package com.lmer; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; public class HelloServlet implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { } @Override public ServletConfig getServletConfig() { return null; } //service方法是专门用来处理请求和响应的 @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("HelloServlet 被访问了"); //HttpServletRequest是ServletRequest的一个子类,调用其getMethod方法来获得请求的类型 HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest; String method = httpServletRequest.getMethod(); if("GET".equals(method)){ doGet(); }else if("POST".equals(method)){ doPost(); } } public void doPost() { System.out.println("执行POST请求的访问响应"); } public void doGet() { System.out.println("执行GET请求的访问响应"); } @Override public String getServletInfo() { return null; } @Override public void destroy() { } }
public class HelloServlet2 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } }
然后设置名字
配置
然后就可以访问了
从类名上解析就是Servlet类的配置信息类
Servlet和ServletConfig类都是由Tomcat来进行创造,我们负责使用的。
在第一次访问Servlet对象的时候,就会创建该Servlet对象,其对应的ServletConfig对象也随之创建
获得Servlet程序的别名–>servlet-name的值:
获取初始化参数init-param:
首先需要去配置文件中配置Servlet程序的初始化参数
然后再在Servlet程序中使用
获取servletContext对象:
System.out.println(servletConfig.getServletContext()); //org.apache.catalina.core.ApplicationContextFacade@4541df9b
注意!!!!!!
如果是用继承HttpServlet的方式来实现Servlet程序的话,在重写init(ServletConfig config)方法的时候,需要注意以下问题: