资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Java

Servlet的一些基础知识点

Java 更新时间: 发布时间: 计算机考试归档 最新发布

Servlet的一些基础知识点

Servlet

  • Servlet是Java所提供的一门动态资源开发技术

简单实现

  1. 创建web项目,导入Servlet的依赖坐标
      javax.servlet      javax.servlet-api      3.1.0      provided    
  1. 创建一个类实现Servlet接口
public class ServletDemo implements Servlet {    public void init(ServletConfig servletConfig) throws ServletException {            }    public ServletConfig getServletConfig() {        return null;    }    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {    }    public String getServletInfo() {        return null;    }    public void destroy() {    }}
  1. Servlet进行配置,在类上使用@WebServlet注解,配置访问路径
@WebServlet(/demo)public class ServletDemo implements Servlet {....}

这里完整的写法是

@WebServlet(urlPatterns = "/demo",loadOnStartup = 0)public class ServletDemo implements Servlet {....}

这里的loadOnStartup默认值是 -1 ,表示在调用时才会实现服务。如果是 0 及 以上,表示在容器工作时一起运行了,越小优先度越高,当一些较大且重要的功能需要实现而不希望用户等太久,就可以这样操作。

注意!!!!!

这里的路径前一定要加上" / ",不然会显示“子级路径创建失败”的错误!!!

  1. 启动Tomcat,浏览器输入相应的URL进行访问
http://localhost/demo

Servlet 的生命周期

Servlet运行在容器之中,生命周期由容器所决定,分为四个阶段:

  1. 加载和实例化:默认情况下,Servlet被第一次访问时,由容器所创建Servlet对象
  2. 初始化:在Servlet被实例化之后,Servlet容器将调用init()方法初始化对象,完成一些初始化的工作
  3. 请求处理:在每次请求Servlet时,容器都会调用Servlet中的service()方法
  4. 服务中止:在释放内容,容器关闭时Servlet会调用destroy()方法,并且释放Servlet实例。(要只用控制台运行Tomcat并且停止运行才OK,IDEA的直接关闭会毁掉协议)

Servlet 的基本方法

方法作用时段
public void init(ServletConfig servletConfig)初始化方法,只被调用一次
public ServletConfig getServletConfig()提供服务方法,每次调用都会执行
public void service(ServletRequest servletRequest, ServletResponse servletResponse)获取对象
public String getServletInfo()获取对象信息
public void destroy()销毁方法,在资源执行时会执行

HttpServlet 的简单介绍

  1. HttpServlet使用步骤
    • 继承HttpServlet
    • 重写doPost()doGet()方法’’
@WebServleT	("/demo1")public class ServletDemo3 extends HttpServlet {    @Override    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        System.out.println("啦啦啦");    }    @Override    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        System.out.println("POST");    }}
  1. HttpServlet原理
    • 获取请求方式,并且根据不同的请求方式使用不同的方法

比如写一个Post方式提交数据的表单

此时ServletDemo3里面的doPost方法就会实现

urlPattern的配置规则

  1. 精确匹配:
    • 配置路径:@WebServlet(/demo)
    • 访问路径:http://localhost/demo
  2. 目录匹配:
    • 配置路径:@WebServlet(/demo/*)
    • 访问路径:http://localhost/demo/aaa
    • 访问路径:http://localhost/demo/bbb
  3. 扩展名匹配:
    • 配置路径:@WebServlet(*.do)
    • 访问路径:http://localhost/aaa.do
    • 访问路径:http://localhost/bbb.do
      !!注意 :这里的 * 之前没有 / !!
  4. 任意匹配:
    • 配置路径:@WebServlet(/)
      • 配置路径:@WebServlet(/*)
    • 访问路径:随便啦~~

注意:当项目中的Servlet配置了任意匹配的路径,会覆盖tomcat的DfaultServlet,当其他的url-pattern匹配不上时,就会走这个Servlet,当项目中配置了"/"意味着会访问任意的路径

相关作业

HTML部分

Servlet部分

 		String name = req.getParameter("name");        System.out.println(name);        name = new String(name.getBytes(StandardCharsets.ISO_8859_1),StandardCharsets.UTF_8);        System.out.println(name);

运行结果:
??????
张三

Cookie的基本使用

  • Cookie是浏览器端的会话跟踪技术

发送Cookie对象

  1. 创建Cookie对象
	Cookie cookie = new Cookie("key","value");
  1. 发送Cookie对象到客户端:使用response对象
	response.addCookie(cookie);

获取Cookie对象

  1. 获取客户端所有Cookie对象,使用request对象
	Cookie[] cookies = request.getCookies();
  1. 遍历数组
  2. 获取想要的信息
	cookie.getName();	cookie.getValue();

具体的实现(例如想要获取“name”的信息)

	Cookie[] cookies = request.getCookies();	//进行遍历	for(Cookie cookie : cookies){			if("name".equals(cookie.getNmae()){			String value = cookie.getValue();			System.out.println(value);						break;		}	}

使用细节

  • Cookie的存活时间
    • 默认情况下当浏览器关闭时,内存释放,则Cookie释放
    • 可以使用setMaxAge(int second)设置Cookie的存活时间
      1. 正数:将Cookie写入当前浏览器的内存中,直到时间结束
      2. 负数:默认值
      3. 0:删除对于的Cookie
  • Cookie存储中文
    • Cookie不能直接存储中文,要进行一系列的转码

例如,在设置时

	String value = "名字";	value = URLEncoder.encode(value,"UTF-8");

在接收时

	String value = request.getValue();	value = URLDecoder.decode(value,"UTF-8");

Session的一些基本使用

  • 服务器端的会话跟踪技术
  • JavaEE提供HttpSession接口,来实现一次会话多次请求数据之间的资源共享
  • 使用
    1. 获取对象
      HttpSession session = request.getSession();
    2. Session对象的基本使用功能
      方法名称|作用
转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/1095694.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【Servlet的一些基础知识点】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2