了解servlet

静态页页即只包含了HTML文档的内容,与用户并没有任何交互。动态网页不仅可以动态显示数据,还可以与用户做交互。如完成登录,注册等一系列动作。不同用户访问相同的网页时,经常会发现所显示的内容是不相同的,这样的网页就是经过服务器动态生成的。servlet就是一种动态网页技术,
区 别:
servlet:单例,不安全,性能是好,处理HTTP请求的标准,只处理doPost(),doGet()方法。
springMVC:单列,不安全,开发效率高(好多共性的东西都封装好了,是对servlet的封装,核心的DispatcherServlet最终继承自HttpServlet),DispatcherServlet又叫前端控制器,能过滤处理所有的请求方法,还能查询HandlerMapping查找到相应的handler,进而调用相应的service和Dao,两者的关系如果MyBatis和JDBC,一个性能好,一个开发高效率高,是对另一个封装。

创建一个Maven项目

在Eclipse里面创建,FILE—NEW—Other—弹出的对话中选Maven—MavenProject-
第二步:单击next

第三步:因为Eclipse没有自动创建项目需要的web.xml配置文件,可以复制或可以创建此文件,在每个项目下面都有一个DeploymentDescriptor:项目名称这件目录,在此上面右键----选择Generate Deployment Descriptor选项,会自动创建项目需要的web.xml文件。。
上面创建完项目后下面进行配置
使用Maven导入Servlet的jar包,在pom.xml中添加依赖。

<dependencies><!--servlet--><dependency><groupID>javax.servlet</groupID><artifacId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency>
</dependencies>

配置请求路径,路径配置即指浏览器请求到达Web容器,并指定处理该请求的Servlet类,需要web.xml中以标签的形式进行配置,完成的标签包括servlet标签和servlet-mapping标签,servlet标签中的servlet-name标签表示对servlet进行命名,在整个WEB容器中该值是唯一的,servlet-class标签需要填写完整的类路径。servlet-mapping是请求映射标签,表示HTTP请求与servlet类的对应关系,对应关系通过两者都有的servlet-name的 值进行关 联。

 <?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" xmlns:web="http://java.sun.com/xml/ns/javaee" 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_2_5.xsd" version="2.5"><servlet><servlet-name>UserServlet</servlet-name><servlet-class>cn.itcast.bookstore.user.web.servlet.UserServlet</servlet-class></servlet><servlet><servlet-name>CategoryServlet</servlet-name><servlet-class>cn.itcast.bookstore.category.web.servlet.CategoryServlet</servlet-class></servlet><servlet><servlet-name>BookServlet</servlet-name><servlet-class>cn.itcast.bookstore.book.web.servlet.BookServlet</servlet-class></servlet><servlet-mapping><servlet-name>UserServlet</servlet-name><url-pattern>/UserServlet</url-pattern></servlet-mapping><servlet-mapping><servlet-name>CategoryServlet</servlet-name><url-pattern>/CategoryServlet</url-pattern></servlet-mapping><servlet-mapping><servlet-name>BookServlet</servlet-name><url-pattern>/BookServlet</url-pattern></servlet-mapping></web-app>

编写servlet,

public class HelloServlet extends HttpServlet{@Override/*** 重写service方法*/public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//     //配置UTF-8字符集以支持中文
//        response.setContentType("text/html;charst=utf-8");
//        response.setCharacterEncoding("UTF-8");
//        //获取输出流以输出数据到浏览器中
//        PrintWriter pw =  response.getWriter();
//        pw.write("我是Servlet服务端发送给浏览器的数据:Hello Servlet!");
//        pw.close();response.setContentType("text/html;charst=utf-8");response.setCharacterEncoding("utf-8");String name = "张三";int age = 16;PrintWriter pw =  response.getWriter();pw.write("<p style='color:red'>你好,我叫"+name+",今年"+age+"岁!<p>");pw.close();}
}

servelet概述相关推荐

  1. EJB是什么Java使用EJB容器的详细概述

    EJB是什么 博客分类: java EJB  最近项目中接触到EJB,但对EJB不是很了解,于是网上找了些资料参考,下面这篇是个人感觉讲的比较清晰的,遂转载一起参考,文章转自https://www.c ...

  2. 第二章 BIRT设计器概述及本地化支持

    转载自:https://blog.csdn.net/z1012890225/article/details/37815863 2.1 BIRT设计器概述 2.1.1 基本概念 数据源:数据的来源,或提 ...

  3. Java 多线程概述

    多线程技术概述 1.线程与进程 进程:内存中运行的应用程序,每个进程都拥有一个独立的内存空间. 线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换.并发执行,一个进程最少有一个线程, ...

  4. 【SpringMVC】概述

    概述: SpringMVC:是基于spring的一个框架, 实际上就是spring的一个模块, 专门是做web开发的.                       理解是servlet的一个升级 Sp ...

  5. 梯度下降优化算法概述

    本文原文是 An overview of gradient descent optimization algorithms,同时作者也在 arXiv 上发了一篇同样内容的 论文. 本文结合了两者来翻译 ...

  6. Redis概述和基础

    Redis 1.NoSQL NoSQL = Not Only SQL(不仅仅是SQL) 泛指非关系型数据库的,随着web2.0互联网的诞生!传统的关系型数据库很难对付web2.0时代!尤其是超大规模的 ...

  7. OpenCL™(开放计算语言)概述

    OpenCL™(开放计算语言)概述 异构系统并行编程的开准 OpenCL™(开放计算语言)是一种开放的.免版税的标准,用于对超级计算机.云服务器.个人计算机.移动设备和嵌入式平台中的,各种加速器进行跨 ...

  8. 自动驾驶QNX,Linux,Autosar概述

    自动驾驶QNX,Linux,Autosar概述 QNX是一个分布式.嵌入式.可规模扩展的实时操作系统.遵循POSIX.1 (程序接口)和POSIX.2 (Shell和工具).部分遵循POSIX.1b( ...

  9. Tengine MLOps概述

    Tengine MLOps概述 大幅提高产业应用从云向边缘迁移的效率 MLOps Cloud Native 聚焦于提升云端的运营过程效率 MLOps Edge Native 聚焦于解决边缘应用开发及异 ...

最新文章

  1. 上海2021年高考成绩排位查询,2021年上海各高中高考成绩排名及放榜最新消息
  2. 请解释Spring Bean 的自动装配?
  3. Android 支付宝 开源框架
  4. (三)重构ResNet50以诊断COVID-19
  5. 运算符重载——函数调用运算符重载
  6. Python+OpenCV:图像修复(Image Inpainting)
  7. world办公软件小技巧
  8. 【高级开发必掌握SQL】SQL优化篇
  9. js:使用a标签下载图片及pdf文件等资源
  10. 单网卡、单IP、双网关设置内外网同时访问
  11. NPS净推荐值 客户忠诚度指标
  12. Clickhouse 普通视图
  13. 解决七彩虹断剑C.A320M-K PRO V14在Win11下前置面板音频接口无法使用的问题
  14. matlab概率论与数理统计分析,MATLAB在概率论与数理统计课程中的案例设计
  15. react实现上传文件进度条功能_js上传文件(可自定义进度条)
  16. mysql抢红包功能_Laravel框架实现抢红包功能示例
  17. Ubuntu设置扁平化风格桌面
  18. 2018-2019-1 20189215 书籍速读
  19. 用matlab实现高斯信道建模
  20. links for myself

热门文章

  1. 数据库不同数据类型的字段插入数据能成功----将varchar类型数据插入到int中成功了。
  2. DS二叉排序树之删除
  3. vue3路由跳转方法
  4. 特朗普《永不放弃》精彩呈现
  5. 设计一个vb循环语句
  6. iOS 8 AutoLayout 及SizeClass(三) 使用详解 好多值得学习及研究的地方
  7. java rsa字符串_使用RSA对字符串加密解密
  8. java校验特殊字符
  9. k8s nodepoet 端口修改_限定k8s的nodeport只在固定主机上开放
  10. [离散事件模拟] 银行窗口模拟 - C语言