servlet本身不能独立运行,需要在一个web应用中运行,而web应用是部署在tomcat上的

所以一个servlet开发需要以下几个步骤:

①创建web应用项目

②编写servlet代码

③部署到tomcat

使用eclipse新建java web项目,导入servlet-api.jar

servlet的调用流程:

servlet的方法:doGet()、doPost()、service()

以下地方使用get方式:

form默认提交方式、通过超链接访问页面、在地址栏中直接输入网址、ajax指定使用get方法

使用post方式:

form显示使用method=“post”、ajax指定使用post

首先执行service判断接下里执行post还是get,service(), doGet(), doPost() 三种方式的参数列表都是一样的,有时候也会直接重写service()方法,在其中提供相应的服务,就不用区分到底是get还是post了。

跳转:服务器端跳转、客户端跳转

 服务器端跳转:  request.getRequestDispatcher("success.html").forword(request,response);不会在访问的地址栏发生地址变化

 客户端跳转:   response.sendRedirect("fail.thml")访问的地址栏会发生变化

配置servlet的自启动

servlet的生命周期从用户访问浏览器的路劲开始,有些操作需要在用户访问之前进行实现,例如校验数据库的完成性

自启动:使servlet伴随tomcat的启动,进行一些初始化,在init()方法中

①在web.xml中配置<load-on-startup>

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
 
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>HelloServlet</servlet-class>
        <load-on-startup>10</load-on-startup>
    </servlet>
说明:整数的取值范围是1-99,代表启动顺序,有多个servlet时数字越小优先级越高

②在_Servlet.java的init()方法中实现初始化该完成的事情

request的常用方法:

服务器传参:在不同的servlet之间进行数据共享

response的常用方法

response给浏览器提供响应信息

servletsza的更多相关文章

随机推荐

  1. 从拥抱开源到回馈开源,灵雀云助力CNCF中国区培训业务

    6月27日,全球首屈一指的开源盛会 2018 LinuxCon + ContainerCon + CloudOpen China (LC3)在中国北京国家会议中心落下帷幕.二度落地中国的LC3大会热度 ...

  2. 《高性能Mysql》解读---Mysql的事务和多版本并发

    1.base:ACID属性,并发控制 2.MySql事务的隔离级别有哪些,含义是什么? 3.锁知多少,读锁,写锁,排他锁,共享锁,间隙锁,乐观锁,悲观锁. 4.Mysql的事务与锁有什么关联?MySq ...

  3. DLG消息

    WM_GETMINMAXINFO 0X0024 WM_NCCREATE 0X0081 WM_NCCALCSIZE 0X0083   WM_CREATE 0X0001 WM_SIZE 0X0005 WM ...

  4. 宏开发:excel中添加拼接行

    Sub 万途标签()Dim iFor i = 1 To Sheets.Count    If Sheets(i).Name = "数据表" Then        If MsgBo ...

  5. sql sugar

    事务 using (var db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.xxx, DbType ...

  6. poj3373--Changing Digits(DFS+剪枝///记忆化)

    题目链接:点击打开链接 题目大意:给出一个n和一个k 求m 要求1.m要和n相同的位数 要求2.m要整除k 要求3.如果1和2满足,那么m要和n有尽量少的不同位 要求4.如果1.2.3满足,要使m尽量 ...

  7. Python汉罗塔

    第一步代码: import turtle class Stack: def __init__(self): self.items = [] def isEmpty(self): return len( ...

  8. Win+E、D等快捷键失灵

    [摘要]:系统win+e等快捷键失效不能使用. [问题分析]:软件或其他操作更改了注册表信息导致. [解决方案]: 1.在开始运行输入regedit点击确定 2.在打开的注册表编辑器找到HKEY_CU ...

  9. 浅谈php

    strlen() 常用于循环和其他函数,在确定字符串何时结束很重要时.(例如,在循环中,我们也许需要在字符串的最后一个字符之后停止循环). strpos() 函数用于检索字符串内指定的字符或文本. 如 ...

  10. Git设置文件或目录忽略跟踪的三种方式

    1. 共享的忽略设置方式 本地仓库根目录,创建.gitignore文件,并编辑正则匹配需要忽略的文件或目录. .gitignore文件需要上传到仓库,同时会影响到他人,共享忽略设置 注意: .giti ...