Servlet


   Servlet是Server Applet的简称,意思为用Java编写的服务器端的程序.



   Servlet的作用: 1.接收用户发送的请求 2.调用其他的java程序来处理请求 3.根据处理结果,服务器将响应返回给客户端




简单来说 , 就是处理前后端相互通信的程序 , 接着我们来简单搭建一个Servlet程序




首先在WEB-INF下创建 一个lib 目录, 然后加入Servlet的 jar 包(jar包就是已经实现好的java文件,我们需要将这样的jar包导入到我们的项目中才能实现一些功能) , 可以去下面地址下载




https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api/3.1.0




下载完成之后直接粘贴在lib 目录下, 然后点击鼠标右键,找到下列选项 





java servlet简单操作 java servlet在哪_java


 

点击 ,然后ok , 加入后如下 : 

java servlet简单操作 java servlet在哪_java servlet简单操作_02

然后我们直接在 src 目录下创建一个 ServletDemo类

然后去web.xml文件中配置ServletDemo类

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>ServletDemo</servlet-name> <!--注册名-->
        <servlet-class>ServletDemo</servlet-class> <!--类名-->
    </servlet>
    <servlet-mapping> <!--映射-->
        <servlet-name>ServletDemo</servlet-name>
        <url-pattern>/ServletDemo</url-pattern> <!--访问地址-->
    </servlet-mapping>
</web-app>

关于web.xml配置文件 : 


● Web.xml文件为web应用的配置文件,它必须放在web应用目录WEB-INF目录下。


● Web.xml文件用于对web应用下的web资源进行配置,服务器在启动时会读取web.xml文件中的内容。


建立一个html表单用来给服务器发送信息如下: 


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- action为找到程序的名字,跟web.xml文件中url对应, 提交方式方式为post方式-->
    <form action="ServletDemo"  method="post">
         账号 : <input type="text" name="account">
        <input type="submit" value="提交">
    </form>
</body>
</html>


这里我们再简要介绍一下http协议(超文本传输协议) : 


服务器传输超文本到本地浏览器的传送协议,是互联网上应用最为流行的一种网络协议,用于定义客户端浏览器和服务器之间交换数据的过程


我们在和服务器端交互的时候,有两种http请求 (get和post)


Get方式与post方式的区别


● Get方式主要是从服务器获取信息;post主要是向服务器提交信息


● Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在请求体中提交。


● GET方式提交的数据大小受限制一般1kb(不同浏览器也会有不同);而POST则没有此限制。


这里我们示例的是向服务器发送信息, 所以我们在ServletDemo类中去重写 doPost() 方法


public class ServletDemo extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //HttpServletRequest :封装了请求的信息,可以从中获取任何请求信息。
        //HttpServletResponse对象代表响应。
        //此方法可以通过表单中元素的name属性拿到值,返回值为String
        String account = req.getParameter("account");
        System.out.println(account);  //打印输出
    }
}

启动服务器 , 访问index.html

java servlet简单操作 java servlet在哪_运维_03

 点击提交

java servlet简单操作 java servlet在哪_intellij-idea_04

可见 ,服务器端成功接收到消息, 这样一个简单的Servlet程序搭建完成