JavaWeb(part1)--servlet
学习笔记,仅供参考,有错必究
文章目录
- JavaWeb
- 什么是Servlet
- 举个例子
- Servlet执行原理
- Servlet注解
- Servlet的体系结构
- Servlet访问路径的配置
- 注意事项
JavaWeb
什么是Servlet
Servlet就是运行在服务器端的小程序,本质上servlet就是一个实现了servlet接口的类,servlet接口定义了Java类被tomcat识别的规则。
举个例子
首先,我们创建一个JAVAEE项目项目ServletDemo,并在src文件夹下创建com.servlet.demo包,并在其中创建Demo1.html, 定义类实现Servlet接口,并实现接口中的service方法:
package com.servlet.demo;import java.io.IOException;import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;public class Demo1 implements Servlet {@Overridepublic void destroy() {// TODO Auto-generated method stubSystem.out.println("destroy");}@Overridepublic ServletConfig getServletConfig() {// TODO Auto-generated method stubreturn null;}@Overridepublic String getServletInfo() {// TODO Auto-generated method stubreturn null;}@Overridepublic void init(ServletConfig arg0) throws ServletException {// TODO Auto-generated method stub}@Overridepublic void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {// TODO Auto-generated method stubSystem.out.println("Hello Gui");}}
在WebContent的WEB-INF文件夹下的web.xml里配置Servlet:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"><display-name>ServletDemo</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><!--增加的代码,start--><servlet><servlet-name>demo-01</servlet-name><servlet-class>com.servlet.demo.Demo1</servlet-class></servlet><servlet-mapping><servlet-name>demo-01</servlet-name><url-pattern>/my_demo</url-pattern></servlet-mapping><!--增加的代码,end--></web-app>
运行项目,向http://localhost:8080/ServletDemo/my_demo发起请求,控制台得到如下输出:
Hello Gui
Servlet执行原理
Servlet注解
定义类实现Servlet接口,实现接口中的方法,并在类上使用@WebServlet
注解配置。
Servlet的体系结构
Servlet接口
GenericServlet抽象类
将Servlet的其它方法做了默认的空实现,只将Service方法做了抽象,继承该抽象类只需要实现Service方法即可
HttpServlet抽象类
对Http协议的封装简化操作,判断请求方式进行对应处理
继承该抽象类需要实现doGet和doPost方法
Servlet访问路径的配置
一个Servlet可以定义多个访问路径:
@WebSevlet({“/s1”,”/s2”,”/s3”})
路径定义规则:
/xxx
/xxx/xxx
/xxx/*
*.do
例如:
package com.servlet.demo;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@WebServlet({"/d03/*", "/dd003/*"})
public class Demo03 extends HttpServlet{@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// TODO Auto-generated method stub
// super.doPost(req, resp);System.out.println("我是demo03的post");}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// TODO Auto-generated method stub
// super.doGet(req, resp);System.out.println("我是demo03的get");}
}
注意事项
Servlet是单例的
多个用户同时访问可能存在线程安全问题
尽量不要在Servlet中定义成员变量,如果定义了,不要在方法中修改
服务器被关闭时Servlet被销毁
先执行Destroy然后Servlet才被销毁
JavaWeb(part1)--servlet相关推荐
- javaweb利用servlet与struts2实现可点击刷新的基础图片验证码
javaweb利用servlet实现图片验证码 验证码是登录验证的技术,可以一定程度防止恶意脚本刷网站,造成服务器压力. 具体实现思想很简单: 首先利用servlet产生一个随机的验证码, 保存在se ...
- java web 请求跟踪_IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie技术
原标题:IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie技术 Cookie使用HTTPHeader传递数据.Cookie机制定义了两种报头,Set-Cookie报头和Cookie报 ...
- html与java接口,JavaWeb学习——Servlet相关的接口和类
JavaWeb学习--Servlet相关的接口和类 摘要:本文主要学习了Servlet相关的接口和类. Servlet的接口和类 三种方式 实现Servlet有三种方式: 实现javax.servle ...
- javaweb(07) Servlet详解
javaweb(07) Servlet详解 什么是Servlet 简介 从广义上来讲,Servlet规范是Sun公司制定的一套技术标准,包含与web应用相关的一系列接口,是web应用实现方式的宏观解决 ...
- 基于javaweb+JSP+Servlet简单购物车
基于javaweb+JSP+Servlet简单购物车 开发工具:eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 public ...
- 基于javaweb+JSP+Servlet电影票售票管理系统
基于javaweb+JSP+Servlet电影票售票管理系统 开发工具:eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 } ...
- 基于javaweb+JSP+Servlet在线商城鲜花花卉商城(前台、后台)
基于javaweb+JSP+Servlet在线商城鲜花花卉商城(前台.后台) 开发工具:eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习, ...
- 基于javaweb+JSP+Servlet在线商城购物商城服装商城(前台、后台)
基于javaweb+JSP+Servlet在线商城购物商城服装商城(前台.后台) 开发工具:eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练 ...
- 基于javaweb+JSP+Servlet学生成绩管理系统(管理员、教师、学生)
基于javaweb+JSP+Servlet学生成绩管理系统(管理员.教师.学生) 开发工具:eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练 ...
最新文章
- CMD——ping及用其检测网络故障
- 从JavaScript数组中获取随机项[重复]
- 我的第一个Scrapy 程序 - 爬取当当网信息
- Python 面试题:输入一个数组,输出该数组的第二大的数字
- LeetCode 20 有效的括号
- 铁乐学python_Day42_锁和队列
- ResourceManager里面Trackingui需要手动该ip
- oracle 11g12c(pdbcdb)系统巡检
- Javascript This 机制
- 经典排序算法(十八)--Proxmap Sort
- C++ list 基础用法合集;list 增减元素 list删除某一个元素 遍历list
- php rsa2 pkcs8,关于pkcs8 与 rsa 互转的一个坑
- linux程序设计——个人总结
- ImageNet数据集编号对应的类别内容
- 世界观 - 经验事实和哲学性/概念性事实
- oppo手机投屏到电脑上
- 万豪集团发布《重塑餐饮业:行业洞察》报告,分享十大新兴趋势
- 网页显示QQ在线点击弹出聊天对话框代码
- 重启mysql的命令 linux_linux重启mysql命令
- 贪婪算法-Greedy algorithm
热门文章
- java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)[Ljava/lang/Object解决
- sip gw功能包括_完整SIP/SDP媒体协商概论-SIP/WebRTC概要
- android 动态调用apk,通过反射动态加载未安装apk
- linux的mutex状态查询命令,如何断言std :: mutex是否已锁定?
- optimized mysql_MySQL|MySQL执行计划
- Codeforces Round #541 (Div. 2) C.Birthday
- Meerkat关闭直播?很好,你努力挣扎的样子成功吸引了我们的注意力
- How to create a Python dictionary with double quotes as default quote format?
- 巴斯卡三角形 and 數字位移
- ansible 部署ssh 偶尔巨慢的解决方法