Skip to content

Commit 8c00082

Browse files
author
cicadasmile
committed
JavaEE基础(02):Servlet核心API用法详解
1 parent 13de2fe commit 8c00082

File tree

7 files changed

+257
-0
lines changed

7 files changed

+257
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# 参考文章
22

33
[JavaEE基础(01):Servlet实现方式,生命周期执行过程](https://mp.weixin.qq.com/s?__biz=MzU4Njg0MzYwNw==&mid=2247484304&idx=1&sn=dd6b6852e35031dd07f70d441f3ddc85&chksm=fdf45728ca83de3e158597030cf46b1677eccf533f9e1412690cd64b0ec0cce544711ceabddb&token=1248678182&lang=zh_CN#rd)<br/>
4+
[JavaEE基础(02):Servlet核心API用法详解](https://mp.weixin.qq.com/s?__biz=MzU4Njg0MzYwNw==&mid=2247484309&idx=1&sn=fc8237aef2f246f85b978561f4b37e1e&chksm=fdf4572dca83de3b8affdf4a9a8c8b3c18e4c5203c3e663e0bfaeb53788d3e2d26fa829bb8c6&token=1248678182&lang=zh_CN#rd)<br/>
45

56
持续更新中...
67

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<parent>
6+
<artifactId>java-ee-base-parent</artifactId>
7+
<groupId>com.java.ee.parent</groupId>
8+
<version>1.0-SNAPSHOT</version>
9+
</parent>
10+
<modelVersion>4.0.0</modelVersion>
11+
<groupId>com.node02.servlet</groupId>
12+
<artifactId>node02-servlet-api</artifactId>
13+
<packaging>war</packaging>
14+
15+
<properties>
16+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
17+
<maven.compiler.source>1.8</maven.compiler.source>
18+
<maven.compiler.target>1.8</maven.compiler.target>
19+
<jstl.version>1.2</jstl.version>
20+
<servlet-api.version>2.5</servlet-api.version>
21+
<jsp-api.version>2.0</jsp-api.version>
22+
</properties>
23+
24+
<dependencies>
25+
<!-- JSP相关 依赖包-->
26+
<dependency>
27+
<groupId>jstl</groupId>
28+
<artifactId>jstl</artifactId>
29+
<version>${jstl.version}</version>
30+
</dependency>
31+
<dependency>
32+
<groupId>javax.servlet</groupId>
33+
<artifactId>jsp-api</artifactId>
34+
<version>${jsp-api.version}</version>
35+
<scope>provided</scope>
36+
</dependency>
37+
<!-- servlet依赖包 -->
38+
<dependency>
39+
<groupId>javax.servlet</groupId>
40+
<artifactId>servlet-api</artifactId>
41+
<version>${servlet-api.version}</version>
42+
<scope>provided</scope>
43+
</dependency>
44+
<dependency>
45+
<groupId>junit</groupId>
46+
<artifactId>junit</artifactId>
47+
<version>4.12</version>
48+
</dependency>
49+
</dependencies>
50+
51+
</project>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.node02.servlet.impl;
2+
3+
import javax.servlet.ServletException;
4+
import javax.servlet.http.HttpServlet;
5+
import javax.servlet.http.HttpServletRequest;
6+
import javax.servlet.http.HttpServletResponse;
7+
import java.io.IOException;
8+
9+
public class ServletFourImpl extends HttpServlet {
10+
@Override
11+
protected void doGet(HttpServletRequest request, HttpServletResponse response)
12+
throws ServletException, IOException {
13+
response.setContentType("text/html;charset=utf-8") ;
14+
response.setCharacterEncoding("UTF-8");
15+
response.setStatus(200) ;
16+
response.getWriter().print("Hello,知了");
17+
response.getOutputStream().print("hello");
18+
}
19+
20+
@Override
21+
protected void doPost(HttpServletRequest request, HttpServletResponse response)
22+
throws ServletException, IOException {
23+
response.setContentType("text/html;charset=utf-8");
24+
response.getWriter().print("执行:doPost");
25+
}
26+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package com.node02.servlet.impl;
2+
3+
import javax.servlet.*;
4+
import java.io.IOException;
5+
import java.util.Enumeration;
6+
7+
public class ServletOneImpl implements Servlet {
8+
9+
@Override
10+
public void init(ServletConfig servletConfig) throws ServletException {
11+
String servletName = servletConfig.getServletName() ;
12+
System.out.println("servletName="+servletName);
13+
String myName = servletConfig.getInitParameter("my-name") ;
14+
System.out.println("myName="+myName);
15+
Enumeration paramNames = servletConfig.getInitParameterNames() ;
16+
while (paramNames.hasMoreElements()){
17+
String paramKey = String.valueOf(paramNames.nextElement()) ;
18+
String paramValue = servletConfig.getInitParameter(paramKey) ;
19+
System.out.println("paramKey="+paramKey+";paramValue="+paramValue);
20+
}
21+
ServletContext servletContext = servletConfig.getServletContext() ;
22+
servletContext.setAttribute("cicada","smile");
23+
}
24+
25+
@Override
26+
public ServletConfig getServletConfig() {
27+
return null;
28+
}
29+
30+
@Override
31+
public void service(ServletRequest servletRequest, ServletResponse servletResponse)
32+
throws ServletException, IOException {
33+
34+
}
35+
36+
@Override
37+
public String getServletInfo() {
38+
return null;
39+
}
40+
41+
@Override
42+
public void destroy() {
43+
44+
}
45+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.node02.servlet.impl;
2+
3+
import javax.servlet.ServletException;
4+
import javax.servlet.http.HttpServlet;
5+
import javax.servlet.http.HttpServletRequest;
6+
import javax.servlet.http.HttpServletResponse;
7+
import java.io.IOException;
8+
9+
public class ServletThreeImpl extends HttpServlet {
10+
@Override
11+
protected void doGet(HttpServletRequest request, HttpServletResponse response)
12+
throws ServletException, IOException {
13+
// http://localhost:6003/servletThreeImpl?myName=cicada
14+
String method = request.getMethod();
15+
System.out.println("method="+method); // GET
16+
String requestURL = request.getRequestURL().toString();
17+
// http://localhost:6003/servletThreeImpl
18+
System.out.println("requestURL="+requestURL);
19+
String requestURI = request.getRequestURI();
20+
System.out.println("requestURI="+requestURI); // /servletThreeImpl
21+
String queryString = request.getQueryString() ;
22+
System.out.println("queryString="+queryString); // myName=cicada
23+
String myName = request.getParameter("myName");
24+
System.out.println("myName="+myName); // cicada
25+
}
26+
27+
@Override
28+
protected void doPost(HttpServletRequest request, HttpServletResponse response)
29+
throws ServletException, IOException {
30+
response.setContentType("text/html;charset=utf-8");
31+
response.getWriter().print("执行:doPost");
32+
}
33+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.node02.servlet.impl;
2+
3+
import javax.servlet.ServletContext;
4+
import javax.servlet.ServletException;
5+
import javax.servlet.http.HttpServlet;
6+
import javax.servlet.http.HttpServletRequest;
7+
import javax.servlet.http.HttpServletResponse;
8+
import java.io.IOException;
9+
10+
public class ServletTwoImpl extends HttpServlet {
11+
@Override
12+
protected void doGet(HttpServletRequest request, HttpServletResponse response)
13+
throws ServletException, IOException {
14+
response.setContentType("text/html;charset=utf-8");
15+
// 1、参数传递
16+
ServletContext servletContext = this.getServletContext() ;
17+
String value = String.valueOf(servletContext.getAttribute("cicada")) ;
18+
System.out.println("value="+value);
19+
// 2、获取初始化参数
20+
String myBlog = servletContext.getInitParameter("my-blog") ;
21+
System.out.println("myBlog="+myBlog);
22+
// 3、获取应用信息
23+
String servletContextName = servletContext.getServletContextName() ;
24+
System.out.println("servletContextName="+servletContextName);
25+
// 4、获取路径
26+
String pathOne = servletContext.getRealPath("/") ;
27+
String pathTwo = servletContext.getRealPath("/WEB-INF/") ;
28+
System.out.println("pathOne="+pathOne+";pathTwo="+pathTwo);
29+
response.getWriter().print("执行:doGet; value:"+value);
30+
}
31+
32+
@Override
33+
protected void doPost(HttpServletRequest request, HttpServletResponse response)
34+
throws ServletException, IOException {
35+
response.setContentType("text/html;charset=utf-8");
36+
response.getWriter().print("执行:doPost");
37+
}
38+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xmlns="http://java.sun.com/xml/ns/javaee"
5+
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
6+
id="WebApp_ID" version="3.0">
7+
8+
<display-name>cicada_servlet</display-name>
9+
<context-param>
10+
<param-name>encoding</param-name>
11+
<param-value>UTF-8</param-value>
12+
</context-param>
13+
<!-- 参数配置 -->
14+
<context-param>
15+
<param-name>my-name</param-name>
16+
<param-value>smile</param-value>
17+
</context-param>
18+
<context-param>
19+
<param-name>my-blog</param-name>
20+
<param-value>2019-11-19</param-value>
21+
</context-param>
22+
23+
<!-- Servlet配置 -->
24+
<servlet>
25+
<init-param>
26+
<param-name>my-name</param-name>
27+
<param-value>cicada</param-value>
28+
</init-param>
29+
<servlet-name>servletOneImpl</servlet-name>
30+
<servlet-class>com.node02.servlet.impl.ServletOneImpl</servlet-class>
31+
</servlet>
32+
<servlet-mapping>
33+
<servlet-name>servletOneImpl</servlet-name>
34+
<url-pattern>/servletOneImpl</url-pattern>
35+
</servlet-mapping>
36+
37+
<servlet>
38+
<servlet-name>servletTwoImpl</servlet-name>
39+
<servlet-class>com.node02.servlet.impl.ServletTwoImpl</servlet-class>
40+
</servlet>
41+
<servlet-mapping>
42+
<servlet-name>servletTwoImpl</servlet-name>
43+
<url-pattern>/servletTwoImpl</url-pattern>
44+
</servlet-mapping>
45+
46+
<servlet>
47+
<servlet-name>servletThreeImpl</servlet-name>
48+
<servlet-class>com.node02.servlet.impl.ServletThreeImpl</servlet-class>
49+
</servlet>
50+
<servlet-mapping>
51+
<servlet-name>servletThreeImpl</servlet-name>
52+
<url-pattern>/servletThreeImpl</url-pattern>
53+
</servlet-mapping>
54+
55+
<servlet>
56+
<servlet-name>servletFourImpl</servlet-name>
57+
<servlet-class>com.node02.servlet.impl.ServletFourImpl</servlet-class>
58+
</servlet>
59+
<servlet-mapping>
60+
<servlet-name>servletFourImpl</servlet-name>
61+
<url-pattern>/servletFourImpl</url-pattern>
62+
</servlet-mapping>
63+
</web-app>

0 commit comments

Comments
 (0)