Servlet——开发Servlet三种方法详解

JavaWeb——Servlet(全网最详细教程) JavaWeb技术之Servlet 阅读详情

该博客主要关于java servlet编程,开发servlet三种方法

该篇博客目录

1、实现servlet接口
2、继承GenericServlet
3、继承HttpServlet
4、用户登录(利用HttpServlet)

关于目录前三条,都是开发servlet的方法,发展过程按目录先后次序,目前HttpServlet最广泛

有一点要注意,每写一个servlet都要部署一次


一、实现servlet接口——开发servlet

开发servlet要引入servlet-api.jar

该接口中有三个生命周期
  • init():该init函数用于初始化该servlet,该函数只会被调用一次(当用户第一次访问该servlet时被调用)
  • destroy():销毁servlet实例(释放内存),关闭tomcat是调用
  • service:service函数用于处理业务逻辑,业务逻辑代码都写在这,当用户访问servlet时,都会调用该函数
还有两个普通方法
  • getServletInfo():获取servlet信息,可选项
  • getServletConfig:获取servlet配置信息,可选项
hello.java
package cn.linjie;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class hello implements Servlet{

    //销毁servlet实例(释放内存),关闭tomcat是调用
    @Override
    public void destroy() {
        System.out.println("destroy");
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    //该init函数用于初始化该servlet,该函数只会被调用一次(当用户第一次访问该servlet时被调用)
    @Override
    public void init(ServletConfig arg0) throws ServletException {
        System.out.println("init it");
    }

    //service函数用于处理业务逻辑,业务逻辑代码都写在这
    //当用户访问servlet时,都会调用该函数
    //res:用于获得客户端(浏览器)的信息
    //ron:用于向客户端(浏览器)返回信息
    @Override
    public void service(ServletRequest res, ServletResponse ron) throws ServletException, IOException {
        System.out.println("service");

        //打印在浏览器上
        PrintWriter pw=ron.getWriter();
        pw.println("hello,this is servlet");
    }

}
web.xml(与lib同级)
<?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">
<!--   实现servlet -->
  <display-name>hello</display-name>
  <!-- servlet部署 -->
  <servlet>
    <!--给servlet取名,任意 -->
    <servlet-name>name</servlet-name>
    <!-- 指明servlet路径,包名.类名 -->
    <servlet-class>cn.linjie.hello</servlet-class>
  </servlet>
  <servlet-mapping>
    <!--servlet映射,必须与servlet-name同名 -->
    <servlet-name>name</servlet-name>
    <!--这是浏览器中输入的访问该servlet的url-->
    <url-pattern>/sp</url-pattern>
  </servlet-mapping>
</web-app>

servlet生命周期有四个阶段

  • 加载和实例化:由servlet容器负责
  • 初始化:init
  • 请求处理:service
  • 服务终止:destroy

这里写图片描述

结果

这里写图片描述


二、继承GenericServlet——开发servlet

只需要重写service方法

helloGen.java
package cn.linjie;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.*;


public class helloGen extends GenericServlet  {

    @Override
    public void service(ServletRequest res, ServletResponse ron) throws ServletException, IOException {
        System.out.println("service..");
        PrintWriter pw=ron.getWriter();
        pw.println("hello,this is a GenericServlet");
    }
}
web.xml
<?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">
<!--   实现servlet -->
  <display-name>hello</display-name>
  <!-- servlet部署 -->
  <servlet>
    <!--给servlet取名,任意 -->
    <servlet-name>name</servlet-name>
    <!-- 指明servlet路径,包名.类名 -->
    <servlet-class>cn.linjie.hello</servlet-class>
  </servlet>
  <servlet-mapping>
    <!--servlet映射,必须与servlet-name同名 -->
    <servlet-name>name</servlet-name>
    <!--这是浏览器中输入的访问该servlet的url-->
    <url-pattern>/sp</url-pattern>
  </servlet-mapping>
<!--   继承GenericSevlet -->
  <servlet>
    <servlet-name>name2</servlet-name>
    <servlet-class>cn.linjie.helloGen</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>name2</servlet-name>
    <url-pattern>/sp2</url-pattern>
  </servlet-mapping>
</web-app>

这里写图片描述


继承HttpServlet——开发servlet

需要重写doGet和doPost方法

表单提交数据get请求与post请求的区别
  • 安全性:get
helloHttp.java
package cn.linjie;

import java.io.IOException;
import java.io.PrintWriter;

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("/helloHttp")
public class helloHttp extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public helloHttp() {
        super();
    }

    /*
     *doGet写业务逻辑 
     *doPost调用doGet 
     */

    //处理get请求
    //res获取浏览器信息
    //ron向浏览器返回信息
    protected void doGet(HttpServletRequest res, HttpServletResponse ron) throws ServletException, IOException {
        PrintWriter pw=ron.getWriter();
        pw.println("hello,this is a HttpServlet");
    }

    //处理post请求
    //为什么doGet合可以写在doPost中,因为两个方法代码一样,这样调用可以避免代码重复
    protected void doPost(HttpServletRequest res, HttpServletResponse ron) throws ServletException, IOException {
        doGet(res, ron);
    }

}
web.xml
<?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">
<!--   实现servlet -->
  <display-name>hello</display-name>
  <!-- servlet部署 -->
  <servlet>
    <!--给servlet取名,任意 -->
    <servlet-name>name</servlet-name>
    <!-- 指明servlet路径,包名.类名 -->
    <servlet-class>cn.linjie.hello</servlet-class>
  </servlet>
  <servlet-mapping>
    <!--servlet映射,必须与servlet-name同名 -->
    <servlet-name>name</servlet-name>
    <!--这是浏览器中输入的访问该servlet的url-->
    <url-pattern>/sp</url-pattern>
  </servlet-mapping>
<!--   继承GenericSevlet -->
  <servlet>
    <servlet-name>name2</servlet-name>
    <servlet-class>cn.linjie.helloGen</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>name2</servlet-name>
    <url-pattern>/sp2</url-pattern>
  </servlet-mapping>
<!--   继承HttpServlet -->
    <servlet>
    <servlet-name>name3</servlet-name>
    <servlet-class>cn.linjie.helloHttp</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>name3</servlet-name>
    <url-pattern>/sp3</url-pattern>
  </servlet-mapping>
</web-app>

这里写图片描述

四、用户登录开发(HttpServlet)

用户登录框架

这里写图片描述

logindemo.java
package cn.linjie;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 登录界面
 */
@WebServlet("/helloHttp")
public class logindemo extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public logindemo() {
        super();
        // TODO Auto-generated constructor stub
    }

    /*
     *doGet写业务逻辑 
     *doPost调用doGet 
     */

    //处理get请求
    //res获取浏览器信息
    //ron向浏览器返回信息
    protected void doGet(HttpServletRequest res, HttpServletResponse ron) throws ServletException, IOException {

        //处理中文乱码
        ron.setContentType("text/html;charset=utf-8");

        PrintWriter pw=ron.getWriter();

        pw.println("<html>");
        pw.println("<body>");
        pw.println("<title>登录</title>");
        pw.println("<h1>登录</h1>");
        pw.println("<form action=loginC method=post>");
        pw.println("用户名<input type=text name=username><br>");
        pw.println("密码<input type=password name=passwd><br>");
        pw.println("<input type=submit value=login><br>");
        pw.println("</form>");
        pw.println("</body>");
        pw.println("</html>");
    }

    //处理post请求
    //为什么doGet合可以写在doPost中,因为两个方法代码一样,这样调用可以避免代码重复
    protected void doPost(HttpServletRequest res, HttpServletResponse ron) throws ServletException, IOException {
        doGet(res, ron);
    }


}
loginC.java
package cn.linjie;

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("/loginC")
public class loginC extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public loginC() {
        super();
        // TODO Auto-generated constructor stub
    }


    protected void doGet(HttpServletRequest res, HttpServletResponse ron) throws ServletException, IOException {
        //接受用户名和密码(res是获取浏览器信息)
        String u=res.getParameter("username");
        String p=res.getParameter("passwd");

        //验证
        if(u.equals("xlj")&&p.equals("123"))
        {
            //合法
            //跳转
            ron.sendRedirect("welcome");
        }else {
            //不合法
            //跳转(参数是跳转至的url)
            ron.sendRedirect("login");
        }
    }


    protected void doPost(HttpServletRequest res, HttpServletResponse ron) throws ServletException, IOException {
        doGet(res, ron);
    }

}
Wlcome.java
package cn.linjie;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Welcome
 */
@WebServlet("/Welcome")
public class Welcome extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public Welcome() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest res, HttpServletResponse ron) throws ServletException, IOException {
        // TODO Auto-generated method stub
        PrintWriter pw=ron.getWriter();
        pw.println("welcome");
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest res, HttpServletResponse ron) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(res, ron);
    }

}
web.xml
<?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">
  <servlet>
    <servlet-name>logindemo</servlet-name>
    <servlet-class>cn.linjie.logindemo</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>logindemo</servlet-name>
    <url-pattern>/login</url-pattern>
  </servlet-mapping>
    <servlet>
    <servlet-name>loginC</servlet-name>
    <servlet-class>cn.linjie.loginC</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>loginC</servlet-name>
    <url-pattern>/loginc</url-pattern>
  </servlet-mapping>
    <servlet>
    <servlet-name>Welcome</servlet-name>
    <servlet-class>cn.linjie.Welcome</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Welcome</servlet-name>
    <url-pattern>/welcome</url-pattern>
  </servlet-mapping>
</web-app>

这里写图片描述

这里写图片描述

PLECS中DLL模块的使用 PLECS中DLL模块的使用 之前发布了一篇文章,介绍如何使用PSIM中的DLL模块。而本篇文章的内容与之类似,不过主角换成了PLECS。 PLECS和PSIM类似,也属于电力电子仿真软件,使用方便,仿真速度快,和Matlab也有一定的联系,有兴趣的可以去试试。PLECS可以利用外部动态链接库(DLL)来调用外部的代码参与仿真,方便复杂控制算法的实现,也有利于后期直接将代码移植到硬件控制器上。 阅读详情

相关推荐

Colmap参数调优实战:如何通过5个关键设置提升3D重建精度

本文深入探讨Colmap参数调优实战,通过5个关键设置显著提升3D重建精度。重点解析特征匹配参数、BA优化配置、初始化策略、资源分配及动态调整方法,结合量化数据和实际案例,帮助开发者精准优化重建流程,适用于古建筑扫描、无人机航拍等多种场景。

weixin_30872157的博客 432

实现Servlet的三个方法 等等

黄瑞生 学号0127 一、tomcat的目录结构 1.bin目录 bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。 很多环境变量的设置都在此处,例如可以设置JDK路径、tomcat路径 startup 用来启动tomcat shutdown 用来关闭tomcat 修改catalina可以设置tomc...

zhutoupi_的博客 756

模拟退火算法详细讲解(含实例python代码)

模拟退火算法详细讲解(含实例python代码)(一)模拟退火算法简介三级目录(二)模拟退火算法原理(1)基本思想(2)算法步骤(3)参数控制(三)实例分析 最近老师要求做模拟退火算法实验,看了很多博客之后感觉还是不太清楚,最后问了老师之后才搞明白。想把自己的理解写下来,帮助大家更好的理解。本篇文章是在另一篇博客的基础上加了一下自己的理解,然后又把我们在实验中的实例写下来,还有参考代码。希望大家看了之后能够加深对模拟退火算法的理解。 另一篇博客链接: 深度学习 — 模拟退火算法详解. (一)模拟退火算法简介

weixin_48241292的博客 17万+

Servlet三种实现方式

Servlet三种实现方式与生命周期

weixin_45554007的博客 2447

国内免魔法接入Grok API,打造智能QQ机器人实战指南

大型语言模型(LLM)通过API接口为开发者提供了强大的自然语言处理能力,其核心原理是基于海量数据训练的深度神经网络,能够理解和生成类人文本。这一技术价值在于显著降低了AI应用开发门槛,使开发者无需从零训练模型即可快速集成智能对话、内容生成等功能。在即时通讯、智能客服、自动化工具等应用场景中,LLM API能有效提升交互体验与效率。本文聚焦于如何通过稳定的第三方API服务,绕开网络访问限制,将xAI推出的Grok模型接入国内网络环境,并结合NoneBot2框架与go-cqhttp,实现一个功能完整的智能QQ

weixin_30607125的博客 324

三部对接 sora-2:OpenAI 最新视频模型快速接入指南

本文介绍OpenAI最新视频生成模型Sora-2的接入方案,重点解析其Chat格式调用功能。开发者可通过在提示词中嵌入"横屏/竖屏""时长""清晰度"等要求快速生成视频。文章分三部分:1)基础准备(环境配置与API密钥获取);2)核心调用(提供Python/Java示例代码);3)结果查询与优化建议。Sora-2支持多语言调用,简化了视频生成流程,适用于短视频、广告创意等场景。

2501_93565190的博客 3426

Servlet三种创建方式的比较

1) Servlet 接口 ​ 通过实现 javax.servlet.Servlet 接口创建 Servlet 类,需要重写其全部的方法,比较繁琐,所以我们很少使用该方法创建 Servlet。 2) GenericServlet 类 ​ GenericServlet 抽象类实现了 Servlet 接口,并对 Servlet 接口中除 service() 方法外的其它四个方法进行了简单实现。通过继承 GenericServlet 创建 Servlet,只需要重写 service() 方法即可,大大减少了创

qq_54046303的博客 355

300Kg载重履带式无人车底盘定制开发技术详解

通过精准的需求分析、科学的方案设计、严格的研发与测试以及完善的交付与培训流程,可以打造出符合客户需求的优质产品。300Kg载重履带式无人车底盘的定制开发,旨在打造一款承载能力强、行驶稳定、适应复杂地形的无人运输平台。根据应用场景选择合适的动力源,并进行性能优化,确保无人车在载重情况下仍能保持稳定的行驶速度和动力输出。根据需求分析结果,设计无人车底盘的总体方案,包括动力系统选择、结构设计、负载管理策略等。进行详细的研发工作,包括零部件的选型与采购、样机的制作与调试等。

专注多旋翼、复合翼无人机技术研究,从事低空经济行业。 958

Servlet实现的三种方式&生命周期

Servlet实现的三种方式 1)实现方式说明 第一种 实现 Servlet 接口,实现所有的抽象方法。该方式支持最大程度的自定义。 代码实现 public class ServletDemo01 implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { } @Override public ServletCo

weixin_45195665的博客 473

电商智能客服Agent开发实战:从零到一构建企业级AI助手

电商智能客服Agent是下一代AI应用的核心形态,它不仅能够回答用户问题,还能自主规划任务、调用工具并执行完整工作流程。本文将深入探讨AI Agent的基本概念、技术实现方式及电商场景中的应用,提供完整的开发流程和代码示例,帮助开发者从零开始构建一个功能强大的电商智能客服系统。通过模块化设计、多轮对话记忆管理和工具集成,这个Agent能够处理订单查询、商品推荐、退换货流程等复杂任务,同时具备企业级的安全性和稳定性保障。通过本文的介绍,读者已经掌握了构建电商智能客服Agent的核心技术与实现方法。

m0_64363449的博客 1363

高斯过程的数学理解

G澳大利亚的过程是有益的,特别是当我们有少量数据时。当我在制造业担任数据科学家时,我们的团队使用这种算法来揭示我们接下来应该进行哪些实验条件。但是,此算法不如其他算法流行。在这篇博客中,我将通过可视化和 Python 实现来解释高斯过程 [1] 的数学背景。

gongdiwudu的专栏 3610

Servlet入门(一)开发servlet的三种方式

一、Servlet入门–开发Servlet的三种方式 简介:Servlet(service applet)即运行在服务器上的java程序,是JavaEE中开发web应用的最基础重要的技术 1、实现servlet接口 2、继承GenericServlet 3、继承HttpServlet 1、实现Servlet接口 JavaEE提供了servlet接口,该接口需要重写五个方法 servlet是单例的...

cgl_dong的博客 675

无实习经验?IT应届生简历封神思路:把校园经历写成offer收割机

摘要: IT应届生无实习经历如何打造竞争力简历?本文揭秘“无实习简历封神指南”,通过四大步骤将校园经历转化为HR认可的硬核技能: 素材挖掘:课程设计、个人项目、社团活动、竞赛证书都是隐藏的“实战经验”,用STAR法则细化成果。 技能转化:匹配岗位JD关键词,用“动词+量化结果”包装经历(如“优化查询效率30%”)。 避坑指南:避免流水账、夸大技能或堆砌无关经历,聚焦技术能力与岗位需求。 核心逻辑:HR看重潜力而非经验,用校园经历证明学习能力、问题解决能力和技术落地能力。 无实习≠无竞争力,学会“翻译”经历,

通俗易懂学IT 423

开发servlet的三种方法

开发servlet有三种方法:a,实现servlet接口;b,继承GenericServet;c,继承HttpServlet.开发流程:1)在%TOMCAT_HOME%/webapps下建立一个文件夹例如myservlet,在myservlet下建立WEB-INF文件夹,在其下写一个web.xml文件,建立一个classes的子文件夹。2)开发servlet(引入servlet-api

yangzhanghui的专栏 1277

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

开发Servlet的三种方法

开发Servlet的三种方法:⒈实现servlet接口 //这是我的第一个Serlvet,使用实现servlet接口的方式来开发package com.tsinghua;import javax.servlet.*;import java.io.*;import javax.servlet.Servlet;import javax.servlet.ServletConfig;i

小KS 993

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

开发Servlet的三种方式和Servlet配置详解

前言                   在前面的文章中笔者就Servlet整体的框架有了一个认知,基本了解了其运作的原理。这篇文章             笔者将会对Servlet开发的方法和Servlet的配置做一个总结。          Servlet开发三种方式                   在前面Servlet基础框架、源码学习中我们知道了Servlet框架图。链接如下:

LCore的专栏 4505

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Servlet开发详解

Servlet开发详解 在本书前面的章节中经常提到Servlet,讲过JSP页面在执行之前会首先预编译为Servlet然后再运行。那么究竟什么是Servlet,Servlet和JSP是什么关系?本章将针对这些问题进行讲解,使读者能够理解JSP的运行原理,从...

chuanao8829的博客 197

开发Servlet的三种方式

我们开发servlet主要有三种方法: 1:用servlet的接口。 2:继承GenericServlet 3:继承Httpservlet第一种是比较古老的方法,既然定义了接口,那么就要去显现其下面的的五个方法。 第二种是相当于把servle的接口方法封装好的。只要实现一个方法就可以。 第三种相比第二种也更为强大,也最常用 在部署好servlet的前提下,实例代码如下: 1:packa

MyCodeDream的专栏 870

如何开发 Servlet 程序

写一个类继承自HttpServlet,类中有service方法,无返回值。这个方法需要2个参数,一个是request对象,一个是response对象,这两个对象会由Tomcat自动生成,方法内执行的任务是从request对象获得参数等数据,并访问有关数据库,然后将结果写入response中,容器(Tomcat)会从response中获得数据并传送给浏览器。 分析Web资源的访问过程 http://224.45.10.567:8080/qpw/greeting?name=zs 浏览器通过224.45.10.5

liaowenxiong的博客 1763

Servlet开发

一、Servlet简介   Servlet是sun公司提供的一门用于开发动态web资源的技术。   Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:   1、编写一个Java类,实现servlet接口。   2、把开发好的Java类部署到web服务器中。   按照一种约定俗成的称呼习惯,通常我们也...

u012794845的专栏 144

Servlet介绍和开发servlet的三个方法

1 servlet介绍 Servlet(Java服务器小程序)是用Java编写的服务器程序 由服务器端调用和执行 用Java编写的 是jsp学习的基础 是B/S结构 servlet体系结构 界面层——IE浏览器等等 逻辑层——Tomcat(web服务器,容纳和管理servlet,可以接受IE浏览器的http请求,可以返回静态网页) 数据层——数据库 工作原理: 浏览器输入网址,发送http...

Yolandalt7777777的博客 746

servlet开发

当浏览器向服务器发请求访问某一资源A时,资源A无法处理响应,而是通知浏览器需要再进一步请求别的资源B才能获取对应的资源,浏览器再次请求服务器中的资源B,最终由资源B响应浏览器的过程就叫重定向。参数将被封装成request的域map集合的某个元素,需要通过request的getAttibute()方法获取。参数值是由程序员自定义的。(2)request域对象:request在实现转发时,通过request对象中的map集合共享数据,该request对象上map集合民及request对象所在的范围称为域对象。

2301_80320652的博客 579

servlet的三种开发方法

servlet的三种开发方法: *************************1(import java.servlet.*;****************************** public class Hello implements Servlet { /*销毁Servlet实例(释放内存),调...

qq_32748869的博客 180

Servlet开发流程

Servlet开发流程 Servlet使用文件配置映射路径 Servlet使用注解配置映射路径

weixin_44201223的博客 1576

Servlet学习(一)----Servlet的生命周期以及开发Servlet的三种方法

Servlet学习(一) 一.Servlet的生命周期。 package com.servlet.main; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.

qyqingyan的专栏 1336

开发servlet的三种方式

一、第一种方式:使用servlet接口的方式来开发 import javax.servlet.*; public class Hello implements Servlet {// 销毁servlet实例,(释放内存)public void destory() {System.out.println("destory");}public servletConfig getServletC...

数据库天地 177
上一篇: HDU1219 字符统计
下一篇: HDU 1238字符串匹配
LinJie98
LinJie98 Apache 顶级项目 Flink中文文档翻译贡献者 Apache 顶级项目 Flink中文文档翻译贡献者
博客等级 码龄10年 5万+粉丝 263原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值