初识JavaWeb
项目分层初识
   Web服务器:  Tomcat  IIS ...
  
  部署 Tomcat 服务器
1.下载Tomcat服务器解压存放,了解目录结构
初识网站部署
     2.配置Tomcat到idea,方便启动与关闭
    
    什么是Servlet
编写第一个Servlet程序 继承 HttpServlet 它是sun公司默认的Servlet接口实现类
Maven配置文件导入Servlet依赖
<dependencies> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> </dependencies>
package com.yang.Servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
 * @author Vis.Yang
 * @project_name 实现Servlet
 * @date 2021/6/8 16:30
 * @description    1.重写servlet的service方法,用来处理请求 2. @WebServlet("/ser01") 注解指定访问路径
 */
@WebServlet("/ser01")
public class HelloServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              //输出到控制台
        System.out.println("hello servlet");
        //通过流输出数据到浏览器
        resp.getWriter().write("hello servlet");
    }
}     
    
修改路径
    
更改后
    
重新访问
Servlet生命周期
package com.yang.Servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
 * @author Vis.Yang
 * @project_name
 * @date 2021/6/8 18:05
 */
@WebServlet("/ser01")
public class Servlet01 extends HttpServlet {
    /**
     * @param req
     * @param resp
     * @MethodName: 就绪,服务方法(处理请求数据)
     * @Description: 系统方法,服务器自动调用 当有请求到达Servlet时,就回调用该方法,该方法可以被多次调用
     * @Author: Vis.Yang
     * @Date: 2021/6/8 18:14
     * @return: void
     */
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("Servlet被调用了...");
    }
    /**
     * @MethodName: 销毁方法
     * @Description: 系统方法,服务器自动调用,当服务器关闭或应用程序停止时,调用该方法,也只执行一次
     * @Author: Vis.Yang
     * @Date: 2021/6/8 18:12
     * @return: void
     */
    @Override
    public void destroy() {
        System.out.println("Servlet被销毁了...");
    }
    /**
     * @MethodName:初始化方法
     * @Description: 系统方法,服务器自动调用 当请求到达Servlet容器时,Servlet容器会判断Servlet对象是否存在,如果不存在,则创建实例并初始化 方法只执行一次
     * @Author: Vis.Yang
     * @Date: 2021/6/8 18:06
     * @return: void
     */
    @Override
    public void init() throws ServletException {
        System.out.println("Servlet被创建了...");
    }
}
 HttpServletRequest 对象的常用方法
获取参数的两种方式
解决POST请求乱码,使用前这样写
request.setCharacterEncoding("UTF-8");

 京公网安备 11010502036488号
京公网安备 11010502036488号