初识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");