1、Servlet

 

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

Servlet生命周期

Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:

  1. 调用init()进行初始化;
  2. 调用service()方法对客户端的每次访问进行处理;
  3. 调用destroy()方法来终止当前servlet;
  4. jvm垃圾回收器回收。

init() 方法

该方法只在servlet被创建时调用一次,用于一次性初始化。

servlet为单例模式,只有一个实例化对象,并且在第一个用户的第一次访问该servlet时servlet被动态创建。

service()方法

执行实际任务的主要方法。service()方法在用户每次访问该servlet时被调用,用来处理用户的请求,并将处理结果以响应(response)的方式返还个客户端。

每次服务器接收到一个servlet请求时,服务器会产生一个新的线程并调用服务。

doPost() 方法

对用户的post请求进行处理。

doGet() 方法

对用户的get请求进行处理。

destroy() 方法

在servlet生命周期结束时被调用一次。该方法可用来进行一些数据清理和数据保存等操作,例如关闭数据库连接、保存cookie到磁盘等。

Servlet使用

servlet创建

import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.*;
import javax.servlet.http.*;//继承HttpServlet或实现Servlet接口
public class MyServlet extends HttpServlet {//重写doGet、doPost方法public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//获取访问的urlString url = req.getServletPath().substring(1);         //设置编码req.setCharacterEncoding("utf-8");switch (url) {case "url0":action0(req, resp);break;case "url1":action1(req, resp);break;default:break;}}private void action0(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {....}private void action1(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {....}
}

servlet配置

<!-- servlet绑定实体类 -->
<servlet><servlet-name>MyServlet</servlet-name><servlet-class>test.servlet.MyServlet</servlet-class>
</servlet>

<!-- servlet绑定url0 -->
<servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>/url0 </url-pattern>
</servlet-mapping>

<!-- servlet绑定url1 -->
<servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>/url1</url-pattern>
</servlet-mapping>

servlet自动刷新页面

有很多时候,我们的页面显示的数据是不定变换的,例如直播球赛的成绩、股票的市场状况等。这些页面的数据需要实时刷新。

servlet中我们可以使用response响应对象来实现这一功能,让网页在我们给定的时间间隔下对页面进行刷新。

//定时设置头部信息
public void setIntHeader(String header, int headerValue)
//设置头部信息
public void setHeader(String header, String headerValue)

页面延时跳转

response.setContentType("text/htm;charset=UTF-8");
response.setHeader("Refresh", "2;URL=http://www.baidu.com");
response.getWriter().write("登录成功,2秒后跳转到主页");

定时刷新自己

response.setIntHeader("Refresh", 1);

2、JSP

3、过滤器

4、监听器

转载于:https://www.cnblogs.com/JuanF/p/9539095.html

Java Web中的一些概念(JSP、Servlet以及过滤器等)相关推荐

  1. Java Web学生成绩管理系统(JSP+Servlet+JDBC+Dao)

    学完java web后,期末期间用所学知识写了一个简单的学生管理系统,现在有空整理分享下. 注意:本文章仅供参考和学习,源码和数据库设计在文章的底部,点击展开然后往下翻就可以找到,其实数据库就六张表, ...

  2. 用servlet路径访问一个html,java web中servlet、jsp、html 互相访问的路径问题

    在html">java web种经常出现 404找不到网页的错误,究其原因,一般是访问的路径不对. html">java web中的路径使用按我的分法可以分两种情况,当 ...

  3. java 控制jsp_JSP学习之Java Web中的安全控制实例详解

    普通用户界面 修改登录的Servlet,修改后的代码如下: LoginProcess.java代码: package servlet; import javabean.User; import jav ...

  4. 深入分析 Java Web 中的中文编码问题

    深入分析 Java Web 中的中文编码问题 背景: 编码问题一直困扰着程序开发人员,尤其是在 Java 中更加明显,因为 Java 是跨平台的语言,在不同平台的编码之间的切换较多.接下来将介绍 Ja ...

  5. Java Web中的EL(表达式语言)详解

     Java Web中的EL(表达式语言)详解 表达式语言(Expression Language)简称EL,它是JSP2.0中引入的一个新内容.通过EL可以简化在JSP开发中对对象的引用,从而规范页面 ...

  6. Java Web中的中文编码问题分析

    一.为什么需要编码 在计算机中存储信息的最小单位是1个字节,即8bit,所以能标识的最大字符范围是0~255,而人类自然语言中例如汉语.日语要表示的符号太多,无法单纯用一个字节来完全表示,为了解决这个 ...

  7. 第三章 深入分析Java Web中的中文编码问题

    3.1 几种常见的编码格式 3.1.1 为什么要编码 一个字节 byte只能表示0~255个符号,要表示更多的字符,需要编码. 3.1.2 如何翻译 ASCII码:有128个,用一个字节的低7位表示. ...

  8. java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别

    java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别 参考文章: (1)java ...

  9. java web 中 读取windows图标并显示

    java web中读取windows对应文件名的 系统图标 ....显示 1.获取系统图标工具类 package utils;  import java.awt.Graphics;  import j ...

最新文章

  1. Visual Studio UML Use Case Diagram(1)
  2. Java 8 中的工厂方法模式
  3. python常用代码总结-python个人总结
  4. 【深度优先搜索】网格类问题:牛客网:机器人的运动范围
  5. Qt QTableView QStandardItemModel用法
  6. 学习记录-FDD大规模MIMO系统的稀疏信道估计技术研究
  7. numpy使用np.dot函数或者@操作符计算两个numpy数组的点积数量积(dot product、scalar product)
  8. ultravnc,4款不能错过的ultravnc汉化版
  9. 运动耳机哪种比较好用、最好用的运动耳机
  10. windwos操作系统有snmp服务器,windows服务器snmp v3
  11. 数据通信是计算机网络最基本功能,计算机网络最基本的功能是数据通信和()。A.打印文件B.文件调用C.降低成本D.资源共享...
  12. 3DMax的中文版官方手册
  13. Python在振动信号处理中的应用(五):振动加速度信号转换为速度或位移信号
  14. Bayes决策理论(一):最小错误率和最小风险决策
  15. 调色板v3.0 for PPTs
  16. 《Mysql实战45讲》学习笔记 1-22
  17. OA协同办公系统初始化设置
  18. Android 视频直播
  19. 基于Node+Vue+Express开发实现商城系统
  20. 一建通过率竟这么低,其实是算错了,这样算更有道理!

热门文章

  1. 二次指数平滑法 C++
  2. 如何用好 Google 搜索引擎?
  3. 【openpyxl】过滤和排序
  4. java bbs论坛管理系统_BBS论坛管理系统
  5. mcnpf5输出结果_MCNP及用.ppt
  6. 测试基础之一——静态测试,动态测试,黑盒测试,白盒测试,α测试,β测试的定义
  7. Day 10 你喜欢合租还是独居
  8. WinForm使用Prism和DryIoc实现跨窗体数据绑定
  9. 4.5 函数最佳逼近
  10. 牧师与魔鬼 -- version2 动作分离