首页 > 基础资料 博客日记

JavaWeb学习-ServletAPI

2023-07-28 19:17:16基础资料围观231

文章JavaWeb学习-ServletAPI分享给大家,欢迎收藏Java资料网,专注分享技术知识

1. servlet的生命周期:实例化、初始化、服务、销毁

在servlet初始化时候设置参数:

(1)获取config:

ServletConfig config = getServletConfig();

(2)获取初始化参数值:

String parameter = config.getInitParameter(key);

在web.xml中设置参数

<servlet>
    <servlet-name>Demo01Servlet</servlet-name>
    <servlet-class>com.servlet.Demo01Servlet</servlet-class>
    <init-param>
        <param-name>hello</param-name>
        <param-value>world</param-value>
    </init-param>
    <init-param>
        <param-name>username</param-name>
        <param-value>jom</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>Demo01Servlet</servlet-name>
    <url-pattern>/Demo01</url-pattern>
</servlet-mapping>

或者在servlet.java中设置(使用注解的方式)

@WebServlet(urlPatterns = {"/demo01"},
        initParams = {
            @WebInitParam(name="hello",value = "world"),
                @WebInitParam(name="username",value = "jom")
        })

2. ServletContext和<context-param>

servlContext的作用:(用户可以共享)

1.获取web的上下文路径

  String getContextPath();

2.获取全局的参数

  String getInitParameter(String name);

  Enumeration getInitParameterNames();

3.和域对象相关的

  void setAttribute(String name,Onject object);

  Object getAttribute(String name);

  void removeAttribute(String name);

  域对象(域对象就是在不同资源之前来共享数据,保存数据,获取数据)

  ServletContext是我们学习的第一个域对象(Servlet共有三个域对象ServletContext、HttpServletRequest、HttpSession)

4. 请求转发的

  RequestDispatcher getRequestDispatcher(String path);

  在Servlet跳转页面:

  4.1请求重定向(你找我借钱,我没有,你自己去找他借钱)
        response.sendRedirect("test.jsp");//重定向到test.jsp
        
    1.地址栏会改变,变成重定向到的地址

    2.可以跳转到项目内的资源,也可以跳转项目外的资源

    3.浏览器向服务器发出两次请求,那么不能使用请求来作为域对象来共享数据。

  4.2请求转发(你找我借钱,我没有,我帮你去向他借钱)

request.getRequestDispatcher("test.jsp").forward(request, response);//转发到test.jsp

    1.地址栏不会改变

    2.只能跳转到项目内的资源,不能跳转项目外的资源。

    3.浏览器向服务器发出一次请求,那么可以使用请求作为域对象共享数据。

5.读取web项目的资源文件

  String getRealPath(String path);

  InputStream getResourceAsStream(String path);

  URL getResource(String path);

获取servletcontext的方法:

(1)在初始化方法中:获取servletcontext,获取初始化参数值

  ServletContext servletContext = getServletContext();

在web.xml中配置

<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">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
</web-app>

(2)在服务方法中也可以通过request对象获取:

   request.getServletContext();

   request.getSession().getServletContext(); //通过session获取

获取初始化的值:

  String contextConfigLocation = servletContext.getInitParameter("contextConfigLocation"); 


文章来源:https://www.cnblogs.com/Joyce-mi7/p/16504946.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云