日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、核心API簡介

1、Servlet執行流程

Servlet是JAVAWeb的三大組件之一(Servlet、Filter、Listener),它屬于動態資源。Servlet的作用是處理請求,服務器會把接收到的請求交給Servlet來處理,在Servlet中通常需要:接收請求數據;處理請求;完成響應。

2、核心API簡介

JavaEE編程基礎:Servlet核心API用法詳解

 

二、ServletConfig接口

1、接口簡介

容器在初始化servlet時,為該servlet創建一個servletConfig對象,并將這個對象通過init()方法來傳遞并保存在此Servlet對象中。核心作用:1.獲取初始化信息;2.獲取ServletContext對象。

2、代碼案例

  • 配置文件
<servlet>
 <init-param>
 <param-name>my-name</param-name>
 <param-value>cicada</param-value>
 </init-param>
 <servlet-name>servletOneImpl</servlet-name>
 <servlet-class>com.node02.servlet.impl.ServletOneImpl</servlet-class>
</servlet>
<servlet-mApping>
 <servlet-name>servletOneImpl</servlet-name>
 <url-pattern>/servletOneImpl</url-pattern>
</servlet-mapping>
  • API用法
public class ServletOneImpl implements Servlet {

 @Override
 public void init(ServletConfig servletConfig) throws ServletException {
 String servletName = servletConfig.getServletName() ;
 System.out.println("servletName="+servletName);
 String myName = servletConfig.getInitParameter("my-name") ;
 System.out.println("myName="+myName);
 Enumeration paramNames = servletConfig.getInitParameterNames() ;
 while (paramNames.hasMoreElements()){
 String paramKey = String.valueOf(paramNames.nextElement()) ;
 String paramValue = servletConfig.getInitParameter(paramKey) ;
 System.out.println("paramKey="+paramKey+";paramValue="+paramValue);
 }
 ServletContext servletContext = servletConfig.getServletContext() ;
 servletContext.setAttribute("cicada","smile");
 }
}

三、ServletContext接口

1、接口簡介

一個項目只有一個ServletContext對象,可以在多個Servlet中來獲取這個對象,使用它可以給多個Servlet傳遞數據,該對象在Tomcat啟動時就創建,在Tomcat關閉時才會銷毀!作用是在整個Web應用的動態資源之間共享數據。

  • 獲取方式
1、ServletConfig#getServletContext();
2、GenericServlet#getServletContext();
3、HttpSession#getServletContext()
4、ServletContextEvent#getServletContext()

2、四大域對象

ServletContext是JavaWeb四大域對象之一:

1、PageContext;
2、ServletRequest;
3、HttpSession;
4、ServletContext;

所有域對象都有存取數據的功能,因為域對象內部有一個Map,用來存儲數據。

3、代碼案例

  • 配置文件
<context-param>
 <param-name>my-blog</param-name>
 <param-value>2019-11-19</param-value>
</context-param>
<servlet>
 <servlet-name>servletTwoImpl</servlet-name>
 <servlet-class>com.node02.servlet.impl.ServletTwoImpl</servlet-class>
</servlet>
<servlet-mapping>
 <servlet-name>servletTwoImpl</servlet-name>
 <url-pattern>/servletTwoImpl</url-pattern>
</servlet-mapping>
  • API用法
public class ServletTwoImpl extends HttpServlet {
 @Override
 protected void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 response.setContentType("text/html;charset=utf-8");
 // 1、參數傳遞
 ServletContext servletContext = this.getServletContext() ;
 String value = String.valueOf(servletContext.getAttribute("cicada")) ;
 System.out.println("value="+value);
 // 2、獲取初始化參數
 String myBlog = servletContext.getInitParameter("my-blog") ;
 System.out.println("myBlog="+myBlog);
 // 3、獲取應用信息
 String servletContextName = servletContext.getServletContextName() ;
 System.out.println("servletContextName="+servletContextName);
 // 4、獲取路徑
 String pathOne = servletContext.getRealPath("/") ;
 String pathTwo = servletContext.getRealPath("/WEB-INF/") ;
 System.out.println("pathOne="+pathOne+";pathTwo="+pathTwo);
 response.getWriter().print("執行:doGet; value:"+value);
 }
}

四、ServletRequest接口

1、接口簡介

HttpServletRequest接口繼承ServletRequest接口,用于封裝請求信息,該對象在用戶每次請求servlet時創建并傳入servlet的service()方法,在該方法中,傳入的servletRequest將會被強制轉化為HttpservletRequest對象來進行HTTP請求信息的處理。核心作用:1.獲取請求報文信息;2.獲取網絡連接信息;3.獲取請求域屬性信息。

2、代碼案例

  • 配置文件
<servlet>
 <servlet-name>servletThreeImpl</servlet-name>
 <servlet-class>com.node02.servlet.impl.ServletThreeImpl</servlet-class>
</servlet>
<servlet-mapping>
 <servlet-name>servletThreeImpl</servlet-name>
 <url-pattern>/servletThreeImpl</url-pattern>
</servlet-mapping>
  • API用法
public class ServletThreeImpl extends HttpServlet {
 @Override
 protected void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 // http://localhost:6003/servletThreeImpl?myName=cicada
 String method = request.getMethod();
 System.out.println("method="+method); // GET
 String requestURL = request.getRequestURL().toString();
 // http://localhost:6003/servletThreeImpl
 System.out.println("requestURL="+requestURL);
 String requestURI = request.getRequestURI();
 System.out.println("requestURI="+requestURI); // /servletThreeImpl
 String queryString = request.getQueryString() ;
 System.out.println("queryString="+queryString); // myName=cicada
 String myName = request.getParameter("myName");
 System.out.println("myName="+myName); // cicada
 }
}

五、ServletResponse接口

1、接口簡介

HttpServletResponse繼承自ServletResponse,封裝了Http響應信息。客戶端每個請求,服務器都會創建一個response對象,并傳入給Servlet.service()方法。核心作用:1.設置響應頭信息;2.發送狀態碼;3.設置響應正文;4.重定向;

2、代碼案例

  • 配置文件
<servlet>
 <servlet-name>servletFourImpl</servlet-name>
 <servlet-class>com.node02.servlet.impl.ServletFourImpl</servlet-class>
</servlet>
<servlet-mapping>
 <servlet-name>servletFourImpl</servlet-name>
 <url-pattern>/servletFourImpl</url-pattern>
</servlet-mapping>
  • API用法
public class ServletFourImpl extends HttpServlet {
 @Override
 protected void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 response.setContentType("text/html;charset=utf-8") ;
 response.setCharacterEncoding("UTF-8");
 response.setStatus(200) ;
 response.getWriter().print("Hello,知了");
 }
}

3、轉發和重定向

  • 轉發

服務器端進行的頁面跳轉的控制 ;

request.getRequestDispatcher("/轉發地址").forward(request, response);
  • 重定向

服務端響應跳轉信息,瀏覽器端進行的頁面跳轉 ;

response.sendRedirect("重定向地址");
  • 轉發和重定向對比
JavaEE編程基礎:Servlet核心API用法詳解

 

<END>

推薦閱讀:

JavaEE編程基礎:Servlet實現方式,生命周期過程

JavaEE編程基礎:Servlet核心API用法詳解

 

分享到:
標簽:JavaEE
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定