认识Serverlet

认识Serverlet认识和熟悉 ServletServl Server let 服务器小程序一个 Servlet 就是一个服务器端的 java 小程序 用于处理请求 生成动态响应 一个 Servlet 用于处理某种请求 如登录请求 注册请求创建 Servlet 就是创建 Servlet 类每个 web 应用程序都有一个而且只有一个全局的配置文件 叫做 web xml 用于配置程序的所有信息 如配置 servlet 每个 Servle

认识和熟悉Servlet

Servlet= Server+let 服务器小程序

一个Servlet就是一个服务器端的java小程序,用于处理请求,生成动态响应。

一个Servlet用于处理某种请求,如登录请求、注册请求

创建Servlet就是创建Servlet类

每个web应用程序都有一个而且只有一个全局的配置文件,叫做web.xml,用于配置程序的所有信息,如配置servlet

每个Servlet相当于一个web资源。我们通过url-pattern给它分配一个访问路径。

创建Servlet的步骤:

下面以cet查询成绩网页为例:(IDE:NetBeans)

html页面:

<!DOCTYPE html> <html> <head> <title>用户登录</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!--link元素用于引用外部样式表 rel:relation关系,该属性说明引用的文件和当前页面的关系,stylesheet说明引用的文件是当前页面的样式表 href: 指定引用的文件的路径,可以使用相对路径或绝对路径 Ctrl+\ 智能提示 --> <link rel="stylesheet" href="css/style.css"> </head> <body> <div> <!--Ctrl+/ 注释/取消注释--> <!--h1+hr+br->tab--> <h1>用户登录</h1> <hr> <br> <!--如果需要将数据提交给服务器,则必须将表单元素包含在一个表单内--> <!--form: 表单,是一个用于放置表单元素的区域--> <!--点击查询就是发送一个请求给服务器,发送了两个数据,叫做两个请求参数--> <!--id属性主要是前端使用,操作css和js的使用--> <!--需要指定元素的name属性区分参数,服务器获取参数时候根据参数名获取参数值 区分大小写 --> <!--form元素的action属性指定该表单的数据,也就是发送的请求提交给服务器的哪个组件处理--> <form action="cs"> 账号:<input type="text" name="Id"> <br><br> 密码:<input type="text" name="KeyWord"> <br><br> <!--input元素的type设置为submit则显示一个提交按钮--> <!--如果需要提交表单中的数据,必须要用提交按钮,除非你使用ajax技术发送请求--> <!--value属性指定按钮的显示文字--> <input type="submit" value="登录"> </form> </div> </body> </html> 

Servelet类:

package com.qdu.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Random; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; / * 创建一个Servlet类,用于处理查询四级的请求 * 
实现Servlet接口,创建一个Servlet类,实现相当于继承 * @author NIIT */

//Ctrl+Shift+I 修复导入/导包 import public class Cet4Servlet implements Servlet{ @Override public void init(ServletConfig config) throws ServletException { //Ctrl+E 删除当前行或选中的多行 } @Override public ServletConfig getServletConfig() { return null; } //service()方法中编写处理请求的代码 @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { //该方法接受两个参数 //第1个参数是一个请求对象,包含请求的所有信息,如请求参数 //第2个参数是一个响应对象,包含给到客户端的响应的信息,如响应内容 //这两个参数是自动传入的,service()由服务器帮你调用,我们只需要操作这两个对象即可 //request请求 //response响应 String rId = "Bert"; String rKeyWord = "666"; //1.获取请求参数 request parameter //该方法根据请求参数名获取参数值 //这里获取了参数名为studentId的参数的值,存储到id变量中 String id=req.getParameter("Id"); //Ctrl+Shift+上/下 向上/向下复制 String key=req.getParameter("KeyWord"); //Ctrl+Shift+上/下 //2.执行业务逻辑,处理请求 //Random类公开了一些方法,用于生成随机数 //Random类的方法基本都是非静态的,所以需要创建对象访问 //Random rand=new Random(); //Ctrl+Shift+I //int score=rand.nextInt(711); //nextInt(int x)用于生成0到指定值(不包含)之间的随机整数 //3.生成响应 //调用响应对象的getWriter()方法可获取一个输出响应内容到客户端的打印器 //返回一个PrintWriter对象,用于输出内容到客户端 //调用响应对象的setContentType()设置响应内容的内容类型和字符集编码 res.setContentType("text/html;charset=utf-8"); //中间是分号 PrintWriter out=res.getWriter(); if(id.equals(rId)&&key.equals(rKeyWord)){ //println()方法用于输出响应内容到客户端,可以直接输出html内容 out.println("

用户登录成功

"
); out.println("
"
); out.println("
欢迎登录,"

+id+"。"); } else{ out.print("

用户登录失败,账号或密码错误,请重新登录。

"
); } } @Override public String getServletInfo() { //如果引用类型的返回值不知道返回什么,可以先返回null return null; } @Override public void destroy() { } }

总之,用表单提交的数据,可以在servelet里用 req.getParameter()获取,在用res中的方法生成响应。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223506.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午2:03
下一篇 2026年3月17日 下午2:03


相关推荐

  • frp内网穿透服务使用

    frp内网穿透服务使用frp是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。frp是一个开源的内网穿透应用,有客户端软件和服务端软件,大概工作过程如下服务端运行在具有公网IP的服务器上,比如Linux上,并监听某个端口,等待客户端连接。客户端运行在需要穿透的内网机器上,比如本地电脑上,连接到服务器之后,服务器开始监听客户端需要穿透的指定端口。……………………

    2025年11月2日
    8
  • C语言操作Excel表格

    C语言操作Excel表格上网查找了好多的资料发现 C 语言不能操作 Execl 表格 说是比较用 C 语言好操作 想了解更多请点此链接 C 操作 Excel 表格 接下来介绍下一位学长介绍给我的方法 比较粗俗 但还是挺实用的 第一步 先实用 C 语言创建 xls 的后缀文件 之后把这个文件当做普通的 txt 文件打开来操作 第二步 对表格的处理 使用 C 语言打开表格后 文件指针指向整个表格的第 1 行第 1 列 假如想给它的同行的下一个单元 第 1 行

    2026年3月26日
    2
  • git checkout简介

    git checkout简介

    2021年10月20日
    74
  • IntelliJ IDEA中怎么全局搜索替换(整个项目)(Eclipse)

    IntelliJ IDEA中怎么全局搜索替换(整个项目)(Eclipse)IntelliJIDEA使用教程(总目录篇)我们用Eclipse或者IntelliJIDEA编程,有时候需要将整个项目的某个字符串替换成其他的。全局搜索我会,我还给调成ctrl+g了呢,但是遇到要全局(整个项目)替换字符串。哎哟,我有点蒙了。这不换了编辑器吗。我用的是eclipse的keymap而且电脑又不是mac。那么问题来啦。怎么找快捷键呢。如下;额,顺便说下…

    2025年6月9日
    6
  • boost::string or boost::regex

    boost::string or boost::regex

    2022年1月27日
    44
  • 详述Java中sort排序函数

    详述Java中sort排序函数手写一个排序算法的效率是很慢的,当然这也不利于我们在比赛或者工程中的实战,如今几乎每个语言的标准库中都有排序算法,今天让我来给大家讲解一下Java语言中的sort排序Collections类中的sort方法可以实现List接口的集合进行排序降序排序Java中降序排序有俩种方法(和c++很类似,可以看我这篇博客):c++sort排序实现Comparator接口的复写compare()方法排序原理通常,在看有关算法书籍的时候,会发现都说有关数组的排序算法,而且使用的都是随机访问,但是

    2022年7月12日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号