1 Star 0 Fork 0

晓晓e娃/android-learning

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Login.java 2.34 KB
一键复制 编辑 原始数据 按行查看 历史
晓晓e娃 提交于 2024-06-15 10:00 +08:00 . 样例涉及服务器端代码
package com.servlet.demo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Writer;
import java.util.Map;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject;
public class Login extends HttpServlet {
private static final long serialVersionUID = 1L;
public Login() {
super();
}
public void init() {
}
public void destroy() {
super.destroy();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException {
System.out.println("begin doPost");
String respStr = "";
Map<String, String[]> map = request.getParameterMap();
if (map!=null && map.size()>0) {
respStr = "您输入的表单信息如下:";
for (Map.Entry<String, String[]> item : map.entrySet()) {
// 表单数据默认采用iso-8859-1编码,需要由服务端转成utf-8
String value = new String(item.getValue()[0].getBytes("iso-8859-1"), "utf-8");
respStr = String.format("%s字段%s的值为%s,", respStr, item.getKey(), value);
}
} else {
// 读取请求内容
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream(),"utf-8"));
String line = null;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line);
}
String reqStr = sb.toString();
System.out.println("reqStr=" + reqStr);
JSONObject json = JSONObject.parseObject(reqStr);
respStr = String.format("您的用户名是%s,密码是%s",
json.getString("username"), json.getString("password"));
}
System.out.println("respStr=" + respStr);
// 内容长度不能使用字符串的length方法返回值,该方法获取的是字符数而不是字节数
// response.setContentLength(response_str.length());
// 获取字符串的字节数需要先调用getBytes方法获得字节数组,再获取字节数组的length
response.setContentLength(respStr.getBytes().length);
response.setContentType("text/plain");
response.setCharacterEncoding("utf-8");
Writer out = response.getWriter();
out.write(respStr);
out.flush();
out.close();
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/netscap/android-learning.git
git@gitee.com:netscap/android-learning.git
netscap
android-learning
android-learning
master

搜索帮助