test: add classes

This commit is contained in:
ReaJason
2026-01-12 02:12:34 +08:00
parent 20ee99a82d
commit f86a9d8ee2
8 changed files with 241 additions and 5 deletions
@@ -0,0 +1,41 @@
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
/**
* @author ReaJason
* @since 2025/12/31
*/
public class TestInputStreamServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String one = req.getParameter("one");
req.setCharacterEncoding("UTF-8");
String body = null;
InputStream inputStream = req.getInputStream();
StringBuilder bodyBuilder = new StringBuilder();
if (one != null) {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
int b;
while ((b = inputStream.read()) != -1) {
outputStream.write(b);
}
bodyBuilder.append(outputStream.toString("UTF-8"));
outputStream.close();
} else {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
bodyBuilder.append(new String(buffer, 0, bytesRead, "UTF-8"));
}
}
body = bodyBuilder.toString();
resp.setContentType("text/html; charset=UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.getWriter().println(body);
}
}
@@ -0,0 +1,35 @@
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.IOException;
/**
* @author ReaJason
* @since 2025/12/31
*/
public class TestReaderServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String one = req.getParameter("one");
String body = null;
BufferedReader reader = req.getReader();
StringBuilder bodyBuilder = new StringBuilder();
if (one != null) {
int c;
while ((c = reader.read()) != -1) {
bodyBuilder.append((char) c);
}
} else {
String line;
while ((line = reader.readLine()) != null) {
bodyBuilder.append(line);
}
}
body = bodyBuilder.toString();
resp.setContentType("text/html; charset=UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.getWriter().println(body);
}
}
+18 -5
View File
@@ -15,7 +15,6 @@
<url-pattern>/test</url-pattern>
</servlet-mapping>
<!-- 用于 JSP 文件上传-->
<servlet>
<servlet-name>upload</servlet-name>
<servlet-class>UploadServlet</servlet-class>
@@ -25,7 +24,6 @@
<url-pattern>/upload</url-pattern>
</servlet-mapping>
<!-- 用于脚本引擎执行 JS -->
<servlet>
<servlet-name>js</servlet-name>
<servlet-class>ScriptEngineServlet</servlet-class>
@@ -35,7 +33,6 @@
<url-pattern>/js</url-pattern>
</servlet-mapping>
<!-- 用于测试 Java 反序列化 -->
<servlet>
<servlet-name>java-deserialize</servlet-name>
<servlet-class>JavaReadObjServlet</servlet-class>
@@ -45,7 +42,6 @@
<url-pattern>/java_deserialize</url-pattern>
</servlet-mapping>
<!-- 用于测试 Java 反序列化 -->
<servlet>
<servlet-name>b64</servlet-name>
<servlet-class>Base64ClassLoaderServlet</servlet-class>
@@ -55,7 +51,6 @@
<url-pattern>/b64</url-pattern>
</servlet-mapping>
<!-- 用于测试 Java 反序列化 -->
<servlet>
<servlet-name>biginteger</servlet-name>
<servlet-class>BigIntegerClassLaoderServlet</servlet-class>
@@ -65,6 +60,24 @@
<url-pattern>/biginteger</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>reader</servlet-name>
<servlet-class>TestReaderServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>reader</servlet-name>
<url-pattern>/reader</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>inputStream</servlet-name>
<servlet-class>TestInputStreamServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>inputStream</servlet-name>
<url-pattern>/inputStream</url-pattern>
</servlet-mapping>
<filter>
<filter-name>godzilla</filter-name>
<filter-class>EmptyFilter</filter-class>