服务器小程序servlet的使用

servlet的创建使用

  • 一,三种创建方式
    • 1.1 实现servlet接口
    • 1.2 继承GenericServlet
    • 1.3 继承HttpServlet
  • 二,servlet使用
    • 2.1 web.xml文件的配置
      • 2.1.1 创建xml文件
      • 2.1.2 手写web.xml文件
    • 2.2 在8080端口下访问
      • 2.2.1 servlet的生命周期

servlet是服务器小程序。是个Java类,用来向客户端输出数据。
环境:[idea: myeclipse2014, server: tomcat8.5.5]

一,三种创建方式

1.1 实现servlet接口

package servlet;import java.io.IOException;import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;// 实现Servlet接口
public class MyServlet1 implements Servlet {public MyServlet1() {System.out.println("myservlet1出生啦");}public void destroy() {System.out.println("servlet销毁");}public ServletConfig getServletConfig() {return null;}public String getServletInfo() {return null;}public void init(ServletConfig cfg) throws ServletException {System.out.println("初始化了servlet, 配置信息:" + cfg);}public void service(ServletRequest request, ServletResponse response)throws ServletException, IOException {System.out.println("我可以服务");}
}

1.2 继承GenericServlet

package servlet;import java.io.IOException;import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;public class MyServlet2 extends GenericServlet {private static final long serialVersionUID = 5936931940945509793L;public void service(ServletRequest arg0, ServletResponse arg1)throws ServletException, IOException {System.out.println("servlet2服务开始了");}}

1.3 继承HttpServlet

package servlet;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class MyServlet3 extends HttpServlet {private static final long serialVersionUID = -3898454989640734357L;// get提交 如a标签 地址栏看得见的如 csdn.net/md?articleId=106303944protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {System.out.println("get");doPost(req, resp);}// post提交 表单post的提交protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {System.out.println("post");}
}

ps, 一般继承自HttpServlet,可重写doGet doPost 或者doService, 懒人可写doService 它是万能滴!

二,servlet使用

2.1 web.xml文件的配置

2.1.1 创建xml文件

点击项目右击

之后就会出现web.xml

内容:这下面的东西在地址栏,输入项目名回车,默认访问下面的页面

比如: http://127.0.0.1:8080/Jsp05/

2.1.2 手写web.xml文件

  • 一个servlet对应一个类,和映射!
  • xml文件改变后,要重新部署项目,否则报错404!
<!-- servlet的名称,类,以MyServlet1举例 --><servlet><servlet-name>MyServlet1</servlet-name> <!-- servlet 名--><servlet-class>servlet.MyServlet1</servlet-class> <!-- servlet 类 --></servlet><servlet-mapping> <!-- 映射 --><servlet-name>MyServlet1</servlet-name><url-pattern>/MyServlet1</url-pattern> <!-- 客户端访问路径 --></servlet-mapping>

2.2 在8080端口下访问

  • 在这里就访问MyServlet1了, 看它的生命周期

  • 在浏览器输入 http://127.0.0.1:8080/Jsp05/MyServlet1,下面是控制台打印

myservlet1出生啦
初始化了servlet, 配置信息:org.apache.catalina.core.StandardWrapperFacade@16850ac6
我可以服务
  • 再次访问,刷新enter键

  • 又执行了一次service方法!

  • 当我关闭服务器!servlet销毁!

2.2.1 servlet的生命周期

出生 -> 初始化 -> (多次)服务(客户端可访问) -> 销毁
默认访问优先级,代码执行的优先级 
service > get > post

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420938.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

el表达式,c标签的使用

el表达式的使用 学生类 public class Student {int id;String name;String sex;String birth;public Student() {}public Student(int id, String name, String sex, String birth) {super();this.id id;this.name name;this.sex sex;this.birth birth;}// el 表达式取实…

conda虚拟环境中安装ipython

问题&#xff1a;今天安装了tensorflow&#xff0c;启动ipython竟然提示如下&#xff1a; In [1]: import tensorflow as tf --------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recen…

使用session保持登录状态,cookie保存用户账号密码

session保存登录状态与cookie保存账号密码1. session维持登录状态1.1 代码实现2. cookie保存账号密码2.1 什么是cookie2.2 cookie记住账号密码1. session维持登录状态 利用session的生命周期实现 1.1 代码实现 login页面表单部分 <form action"judgeLoginSession&qu…

js表单验证,给出友好的提示

js验证表单 注意&#xff1a; 只做非空验证, 只是个小demo学习思想&#xff0c;onblur onfocus onsubmit的使用&#xff0c;给出友好提示网上有很多有良好&#xff0c;强大的控件&#xff0c;用于用户输入 代码实现 js代码 <script>function check_form(form) {// 得到f…

注册demo,使用jQuery异步验证账号是否存在

功能 jQuery验证账号是否存在form表单提交判断&#xff0c;失焦判断 界面 Ajax代码&#xff0c;验证用户rye1是否存在 function check_UserId() {$userId $("#userId").val();$.post("checkUserId","userId" $userId,function (result) { // 异…

虚拟机的网络连接模式

本文参考文章如下&#xff0c;感谢原作者&#xff1a; 《虚拟机的桥接模式和NAT模式》 https://blog.csdn.net/qq_40198004/article/details/89785806 1、桥接模式 桥接模式:直接连接物理网络&#xff0c;也就是连的你交换机的网络和你主机的IP在一个网段上&#xff0c;将虚拟…

自考感悟,话谈备忘录模式

引言&#xff1a; 2014年4月20号上午11:30&#xff0c;正式结束了自己的自学考试&#xff01;考完之后瞬间感觉放松了开来&#xff01;全身无力则是自己20号下午的唯一感受。放松了半天&#xff0c;今天回归正轨&#xff01;又回到了和生活息息相关的设计模式上来&#xff01;今…

小白教你用Java生成验证码

验证码生成效果一&#xff0c;生成验证码二&#xff0c;页面收到验证码三&#xff0c;验证验证码是否填写正确效果 点击验证码可切换 给出提示 一&#xff0c;生成验证码 package servlet;import java.io.IOException;import javax.servlet.ServletException; import jav…

modbus rtu 协议转DLT645-2007和DLT645-1997电表协议转换器定制,

现场会碰到现场数据为Modbus协议&#xff0c;但是后台系统为DLT645协议系统&#xff0c;本模块支持将工业ModbusRtu协议转换为电表国标协议DLT645协议&#xff0c;支持1997和2007俩种标准&#xff0c;只需要进行简单的配置&#xff0c;就可以实现Modbus 协议转DLT645协议&#…

残差网络(ResNet)

普通块 残差块 现在一个大概的理解是&#xff0c;增加x这条“短路”后&#xff0c;肯定优于&#xff08;恒等映射&#xff09;&#xff0c;可以考虑两种情况&#xff1a;可以拟合出远远高于&#xff08;恒等映射&#xff09;&#xff0c;或者根本拟合不出高于&#xff08;恒等…

AI绘画训练一个扩散模型-上集

介绍 AI绘画&#xff0c;其中最常见方案基于扩散模型&#xff0c;Stable Diffusion 在此基础上&#xff0c;增加了 VAE 模块和 CLIP 模块&#xff0c;本文搞了一个测试Demo&#xff0c;分为上下两集&#xff0c;第一集是denoising_diffusion_pytorch &#xff0c;第二集是diff…

WPF多线程UI更新——两种方法

WPF多线程UI更新——两种方法 前言 在WPF中&#xff0c;在使用多线程在后台进行计算限制的异步操作的时候&#xff0c;如果在后台线程中对UI进行了修改&#xff0c;则会出现一个错误&#xff1a;&#xff08;调用线程无法访问此对象&#xff0c;因为另一个线程拥有该对象。&…

二叉树的递归遍历

二叉树遍历一&#xff0c;什么是二叉树二&#xff0c;递归实现2.1 结点类描述2.2 三种递归2.2 测试一&#xff0c;什么是二叉树 在计算机科学中&#xff0c;二叉树是每个结点最多有两个子树的树结构。通常子树被称作"左子树"&#xff08;left subtree&#xff09;和&…

概率论的公理结构

样本点 一个随机事件出现的可能的结果叫做样本点。 类比平面几何&#xff0c;线、面、体也是由点组成的集合&#xff0c;研究的是点线面关系及性质&#xff0c;同样样本点也是组成事件&#xff08;集合&#xff09;的材料&#xff0c;是集合的基本元素&#xff0c;把这些样本…

python词云的简单使用

词云的生成所需库代码实现wordclod参数说明具体实现效果展示所需库 wordcloud, jieba, imageiowordcloud 词云库&#xff0c;用来统计文本文档里面出现的高频词汇&#xff0c;或者句子&#xff0c;以图片可视化的方式显示出来jieba库&#xff0c;分割中文的库&#xff0c;把较…

(一)Neo4j在Centos7虚拟机上的安装

1、什么是图数据库&#xff1f; 图数据库是基于数学里图论的思想和算法而实现的高效处理复杂关系网络的新型数据库系统。图形数据库善于高效处理大量的、复杂的、互连的、多变的数据。其计算效率远远高于传统的关系型数据库。图形数据库在社交网络、实时推荐、征信系统、人工智…

(二)Cypher语言常用方法举例

1、概述 “Cypher”是一个描述性的类Sql的图操作语言。相当于关系数据库的Sql&#xff0c;可见其重要性&#xff01;其语法针对图的特点而设计&#xff0c;非常方便和灵活。没有Join&#xff0c;是一大特点&#xff01;学好Cypher是学好Neo4j的关键&#xff0c;也是核心所在&a…

github 人像卡通化探索项目

把项目下载到本地 下载地址 https://github.com/minivision-ai/photo2cartoon安装依赖库 python 3.7 # 3.x版本都可 pytorch 1.4 tensorflow-gpu 1.14 # tesorflow 得是1.0版本&#xff0c;2.0版本语法部分改变&#xff0c;不然项目运行会出错 face-alignment dlibpytorch …