JSP实用教程第六章 您所在的位置:网站首页 jsp编写1到100的和 JSP实用教程第六章

JSP实用教程第六章

2023-07-05 17:20| 来源: 网络整理| 查看: 265

目录

6.1 servlet的部署、创建与运行:

6.1.1 源文件及字节码文件:

6.1.2 编写部署文件web.xml:

6.1.3 servlet的创建与运行:

6.1.4 向servlet传递参数的值:

6.2 servlet的工作原理:

6.2.1 servlet对象的生命周期:

6.2.2 init方法:

6.2.3 service方法:

6.2.4 destroy方法:

6.3 通过JSP页面访问servlet:

6.4 共享变量:

6.5 doGet和doPost方法:

6.6 重定向与转发:

6.7 使用session:

6.1 servlet的部署、创建与运行: 6.1.1 源文件及字节码文件:

servlet是一种特殊的Java类,它需要遵循一些规范和接口,才能被Web容器识别和运行。servlet源文件需要编译为字节码文件,并保存在Web应用的WEB-INF/classes目录下或者打包为JAR文件并保存在WEB-INF/lib目录下。

6.1.2 编写部署文件web.xml:

servlet需要在Web应用的部署文件web.xml中进行配置,才能被Web容器识别和运行。例如,下面是一个简单的servlet配置:

    HelloServlet     com.example.HelloServlet     HelloServlet     /hello

6.1.3 servlet的创建与运行:

当Web容器接收到一个匹配servlet配置的请求时,它会根据配置信息创建一个对应的servlet实例,并调用其生命周期方法来处理请求。

6.1.4 向servlet传递参数的值:

可以在请求URL中添加查询参数,或者在请求体中提交表单数据,来向servlet传递参数的值。例如:

http://localhost:8080/hello?name=Bing

6.2 servlet的工作原理: 6.2.1 servlet对象的生命周期:

servlet对象有一个完整的生命周期,包括初始化、服务和销毁三个阶段。Web容器会根据请求情况自动管理servlet对象的生命周期。

6.2.2 init方法:

当Web容器第一次创建一个servlet实例时,会调用其init()方法来进行初始化。该方法只会被调用一次。

6.2.3 service方法:

当Web容器接收到一个匹配servlet配置的请求时,会调用其service()方法来处理请求。该方法可以被多次调用。

6.2.4 destroy方法:

当Web容器决定销毁一个servlet实例时,会调用其destroy()方法来进行清理。该方法只会被调用一次。

6.3 通过JSP页面访问servlet:

可以在JSP页面中使用表单或超链接等方式来向servlet发送请求。例如:

       

6.4 共享变量:

可以使用request、session或application对象来在不同组件之间共享变量。例如:

request.setAttribute("name", "Bing"); String name = (String) request.getAttribute("name");

6.5 doGet和doPost方法:

下面是一个简单的servlet例子,它重写了doGet()和doPost()方法来分别处理GET和POST请求。

public class HelloServlet extends HttpServlet {     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {         response.getWriter().println("Hello, GET!");     }     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {         response.getWriter().println("Hello, POST!");     } }

6.6 重定向与转发:

下面是一个简单的servlet例子,它演示了如何使用sendRedirect()方法来实现重定向,以及如何使用getRequestDispatcher().forward()方法来实现转发。

public class RedirectServlet extends HttpServlet {     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {         // 重定向到另一个servlet         response.sendRedirect("/another");           // 转发到另一个servlet         request.getRequestDispatcher("/another").forward(request, response);     } }

6.7 使用session:

下面是一个简单的servlet例子,它演示了如何使用getSession()方法来获取session对象,并使用其相关方法来存储和访问会话数据。

public class SessionServlet extends HttpServlet {     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {         HttpSession session = request.getSession();         Integer count = (Integer) session.getAttribute("count");         if (count == null) {             count = 1;         } else {             count++;         }         session.setAttribute("count", count);         response.getWriter().println("Count: " + count);     } }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有