服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Tomcat - servlet简介_动力节点Java学院整理

servlet简介_动力节点Java学院整理

2021-08-23 18:05beijiguangyong Tomcat

Servlet是一种服务器端的编程语言,是J2EE中比较关键的组成部分。本文给大家简单介绍servlet的基本知识,感兴趣的朋友一起看看吧

Servlet是一种服务器端的编程语言,是J2EE中比较关键的组成部分(其实学到现在J2EE里面的13个标准才接触了3个,他们分别是EJB,Servlet,JSP),Servlet技术的推出扩展了Java语言在服务器端开发的功能,巩固了Java语言在服务器端开发过程中的地位,而且现在使用非常广泛的JSP技术也是基于Servlet的原理,JSP+JavaBeanstalk+Servlet成为实现MVC模式的一种有效的选择。

Servlet简介

和前面学习的JavaBean一样,Servlet本质上也是Java类,编写Servlet需要遵循java的基本语法,但是与一般的Java类不同的是Servlet是只能运行在服务器端的Java类,而且必须遵循特殊的规范,在运行过程中有自己的生命周期,这些特性都是Servlet所独有的。另外Servlet和HTTP协议是紧密联系的,所以使用Servlet几乎可以处理HTTP协议所有方面的内容,这也正是Servlet受到开发人员青睐的最大原因。

Servlet工作原理

一个简单jsp+servlet的登录例子

JSP页面代码

?
1
2
3
4
5
6
7
8
9
10
11
12
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
 </head>
 <body>
  <form action="http://127.0.0.1:8080/JavaWebExercise/loginServlet" method="get">
    name:<input type="text" name="username"/>
    <input type="submit" value ="submit">
  </form>
 </body>
</html>

LoginServlet代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.bjpowernode.test;
import java.io.IOException; 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 
public class LoginServlet extends HttpServlet {
  @Override
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    String username=request.getParameter("username");
     
    System.out.println("username="+username);
     
    response.setContentType("text/html;charset=UTF-8");
     
    response.getWriter().println(username+" login success");
  }
  @Override
  public void doPost(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    doGet(req, resp);
  }
}

配置文件代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
  xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <display-name></display-name> 
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
 <servlet>
  <servlet-name>MyServlet</servlet-name>
  <servlet-class>com.bjpowernode.test.LoginServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>MyServlet</servlet-name>
  <url-pattern>/loginServlet</url-pattern>
 </servlet-mapping>
</web-app>

过程详解

1、在jsp页面中提交表单到Tomcat,请求的url为http://127.0.0.1:8080/JavaWebExercise/loginServlet

2、当请求达到Tomcat后服务器截取url获得客户端所请求的项目名称(这里为JavaWebExercise)。

3、找到项目后再根据url截取所对应的servlet访问名称,这里为loginServlet。

4、根据loginServlet找到Servlet-name,这里为MyServlet。

5、根据Servlet-name找到对应的class文件,这里为com.bjpowernode.test包下面的LoginServlet类。

6、采用反射实例化找到的servlet类。

7、根据请求的类别,调用servlet父类中service方法进行分发,

8、根据service的分发调用相应的doGet/doPost(这里我们调用的是get方法)。

9、取得传递过来的参数值。

10、调用其他javaBean完成业务逻辑。

11、完成业务逻辑返回给Servlet。

12、输出html字符串

13、将html返回给Tomcat服务器

14、通过得到的html渲染页面。

延伸 · 阅读

精彩推荐
  • Tomcat解决Tomcat的maxPostSize属性的配置需要注意的问题

    解决Tomcat的maxPostSize属性的配置需要注意的问题

    这篇文章主要介绍了解决Tomcat的maxPostSize属性的配置需要注意的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...

    life is wonderful12012021-09-13
  • Tomcat一次tomcat源码启动控制台中文乱码的调试过程记录

    一次tomcat源码启动控制台中文乱码的调试过程记录

    平时在使用tomcat做一些服务的时候经常遇到各种乱码问题,下面这篇文章主要给大家介绍了一次tomcat源码启动控制台中文乱码的调试过程,需要的朋友可以...

    zhoutaoping199211852021-09-24
  • TomcatTomcat安装配置方法图文教程

    Tomcat安装配置方法图文教程

    这篇文章主要为大家详细介绍了Tomcat安装配置方法图文教程,java环境变量如何配置,Eclipse安装配置方法图文教程 ,为大家分享了三个教程,感兴趣的小伙...

    Tomcat教程网13292021-08-11
  • TomcatTomcat服务器的安全设置

    Tomcat服务器的安全设置

    tomcat是一个开源Web服务器,基于Tomcat的Web运行效率高,可以在一般的硬件平台上流畅运行,因此,颇受Web站长的青睐。不过,在默认配置下其存在一定的安...

    IT专家网9002021-08-03
  • TomcatEclipse创建tomcat实现过程原理详解

    Eclipse创建tomcat实现过程原理详解

    这篇文章主要介绍了Eclipse创建tomcat实现过程原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以...

    海绵般汲取11642021-09-16
  • Tomcat如何查看tomcat的控制台输出的方法

    如何查看tomcat的控制台输出的方法

    这篇文章主要介绍了如何查看tomcat的控制台输出的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    CaiCaiNeo11932021-08-29
  • TomcatTomcat CentOS安装实现过程图解

    Tomcat CentOS安装实现过程图解

    这篇文章主要介绍了Tomcat CentOS安装实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考...

    agrin5842021-09-15
  • TomcatTomcat整体结构简单介绍

    Tomcat整体结构简单介绍

    这篇文章主要介绍了Tomcat整体结构简单介绍,Tomcat的本质是一个Servlet容器。一个Servlet能做的事情是:处理请求资源,并为客户端填充response对象,需要的朋友...

    叫我田露也行12302021-09-07