• Servlet入门


     

     

    Servlet 是 Java Web 技术的核心基础。Servlet 是一种运行在 支持 Java 语言 的服
    务器上的组件,它与普通 Java 类的区别是它必须运行在服务器中。使用 Servlet 可以实
    现很多网络服务功能,为网络客户提供安全可靠的、易于移植的动态网页。由于 Java 语
    言的平台无关性,加之 Servlet 是运行在服务端,所以对于网络用户,Servlet 的运行是
    完全透明的。
    Servlet 容器的作用是 处理客户端的请求 ,并将 处理结果返回给客户端 。在 Servlet
    容器中,当客户请求到来时,Servlet 容器获取请求,然后调用某个 Servlet,并把 Servlet
    的执行结果返回给客户。Tomcat 就是这样的一个 Servlet 容器。
    在没有 JSP 之前,就已经出现了 Servlet 技术,JSP 是 Servlet 的扩展。Servlet 是
    利用输出流动态生成 HTML 页面,包括每一个 HTML 标记和每个在 HTML 页面中出现的内容。
    在 JSP 出现之前,由于包括大量的 HTML 标记、大量的静态文本及格式等,导致 Servlet
    的开发效率极为低下。所有的表现逻辑,包括布局、色彩及图像等,都必须耦合在 Java
    98 99
    代码中。JSP 的出现弥补了这种不足,JSP 通过在标准的 HTML 页面中插入 Java 代码,其
    静态的部分无须 Java 程序控制,只有那些需要从数据库读取并根据程序动态生成信息时,
    才使用 Java 脚本控制。
    从表面上看,JSP 页面已经不再需要 Java 类,似乎完全脱离了 Java 面向对象的特征。
    事实上, JSP 是 Servlet 的一种特殊形式 ,每个 JSP 页面就是一个 Servlet 实例 ,JSP 页
    面由系统编译成 Servlet,Servlet 再负责响应用户请求。JSP 其实也是 Servlet 的一种
    简化,使用 JSP 时,其实还是使用 Servlet,因为 Web 应用中的每个 JSP 页面都会由 Servlet
    容器生成对应的 Servlet。
    1. <%@ page language="java" contentType="text/html; charset=UTF-8"
    2. pageEncoding="UTF-8"%>
    3. html>
    4. <html>
    5. <head>
    6. <meta charset="UTF-8">
    7. <title>Insert title heretitle>
    8. head>
    9. <body>
    10. <form action="Servlet01" method="post">
    11. 账号:<input type="text" name="account" />${accountErrorString }<br>
    12. 密码:<input type="password" name="psd" />${psdErrorString }<br>
    13. <input type="submit" value="提交" /><br>${errorString }
    14. form>
    15. body>
    16. html>
    1. package first;
    2. import java.io.IOException;
    3. import java.io.PrintWriter;
    4. import java.util.Enumeration;
    5. import javax.servlet.ServletException;
    6. import javax.servlet.annotation.WebServlet;
    7. import javax.servlet.http.HttpServlet;
    8. import javax.servlet.http.HttpServletRequest;
    9. import javax.servlet.http.HttpServletResponse;
    10. import org.apache.jasper.tagplugins.jstl.core.Out;
    11. /**
    12. * Servlet implementation class Servlet01
    13. */
    14. @WebServlet("/Servlet01")
    15. public class Servlet01 extends HttpServlet {
    16. private static final long serialVersionUID = 1L;
    17. /**
    18. * @see HttpServlet#HttpServlet()
    19. */
    20. public Servlet01() {
    21. super();
    22. // TODO Auto-generated constructor stub
    23. }
    24. /**
    25. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    26. */
    27. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    28. // TODO Auto-generated method stub
    29. //response.getWriter().append("Served at: ").append(request.getContextPath());
    30. String account=request.getParameter("account");
    31. String psd=request.getParameter("psd");
    32. PrintWriter out=response.getWriter();
    33. out.println(account);
    34. out.println(psd);
    35. Enumeration headers=request.getHeaderNames();
    36. response.setContentType("text/html;charset=utf_8");
    37. while(headers.hasMoreElements()) {
    38. String header_name=headers.nextElement();
    39. String header_value=request.getHeader(header_name);
    40. out.println("

      "+header_name+":"+header_value+"h1");

    41. }
    42. out.println("

      "+request.getRemoteAddr()+"

      ");

    43. }
    44. /**
    45. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    46. */
    47. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    48. // TODO Auto-generated method stub
    49. doGet(request, response);
    50. }
    51. }

     

     

     

     

  • 相关阅读:
    畜牧猪舍养殖成功 管理效率提高的背后原因
    【Nginx】初识与环境准备
    【算法笔记】单源最短路问题——Dijkstra算法(无优化/优先队列/set优化)
    An overview of IfM Engage
    政策东风,助推万亿智能家居产业,2022各地智能家居政策大盘点
    SqlBoy:打折日期交叉问题
    设计模式之工厂方法模式(Factory Method Pattern)
    Unity与Js通信交互
    【老生谈算法】matlab实现图像去雾算法——图像去雾
    华为1000人校园实验记录
  • 原文地址:https://blog.csdn.net/weixin_62190821/article/details/126879036