ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Servlet 学习

2022-07-20 20:32:54  阅读:163  来源: 互联网

标签:网页 resp req System 学习 println Servlet


Servlet 简介

Servlet 是 Sun 公司推出的一种基于 Java 的动态网站开发技术 。

通常把实现了 Servlet 接口Java 程序 叫做:Servlet

静态网页

  • 静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。
  • 静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站。
  • 通过 JavaScript 实现的简单特性,同样也是静态页面。
  • ......

动态网页

  • 动态网页是相对于静态网页来说的,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。
  • ......

Servlet 实现的功能

  • 读取客户端(浏览器)发送的显式的数据。(HTML 表单等)
  • 读取客户端(浏览器)发送的隐式的 HTTP 请求数据。(cookies 等)
  • 处理数据并生成结果。
  • 发送显式的数据(即文档)到客户端(浏览器)。(HTML 或 XML、二进制文件、Excel等)
  • 发送隐式的 HTTP 响应到客户端(浏览器)。(返回的类型、设置 cookies 和缓存参数等)

编写一个 Servlet 程序的步骤:

  1. 编写一个普通类
  2. 实现 Servlet 接口(如,继承 HttpServlet)
  3. 编写 Servlet 映射
  4. 配置 Tomcat 服务器
  5. 启动

Servlet 程序练习

RegisteredServlet

public class RegisteredServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("utf-8");

        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String[] hobbies = req.getParameterValues("hobby");

        System.out.println("========================");
        System.out.println(username);
        System.out.println(password);
        System.out.println(Arrays.toString(hobbies));
        System.out.println("========================");

        req.getRequestDispatcher("/success.jsp").forward(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

在 web.xml 中注册

<servlet>
    <servlet-name>RegisteredServlet</servlet-name>
    <servlet-class>com.wuli.servlet.RegisteredServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>RegisteredServlet</servlet-name>
    <url-pattern>/registered</url-pattern>
</servlet-mapping>
<div>
    <h2>注册</h2>
    
    <form action="${pageContext.request.contextPath}/registered" method="post">
        用户名:<input type="text" name="username"> <br>
        密码:<input type="password" name="password"> <br>
        邮箱:<input type="email" name="email"> <br>
        爱好:
        <input type="checkbox" name="hobby" value="唱歌">唱歌
        <input type="checkbox" name="hobby" value="跳舞">跳舞
        <input type="checkbox" name="hobby" value="rap">rap
        <input type="checkbox" name="hobby" value="篮球">篮球
        <br>
        <input type="submit">
    </form>
</div>

运行结果:

1658319788481

标签:网页,resp,req,System,学习,println,Servlet
来源: https://www.cnblogs.com/is-wgy/p/16499739.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有