服务器端:
- 先选择服务器
- 新建一个 web 项目
- 新建一个 .jsp 文件(index.jsp)(首页的布局)
- 新建一个包(servlet) 包里新建一个类 MyServlet 并继承 HttpServlet
- 重写 MyServlet 中的 doGet() 方法和 doPost() 方法直接, 在 doGet() 中回调 this.doPost(request,response);
doPost() 中则去接收表单提交过来的数据
// 定义接受到的数据(通过 request 对象来取出传过来的数据参数)
String name = request.getParameter("name");
String age = request.getParameter("age");
// 通过response对象把接收过来的参数打印出来 ( PrinterWrite 为打印流对象)
PrinterWrite out = response.getWrite();
// 把接收到的数据打印出来
System.out.println("name =" + name);
System.out.println("age =" + age);
- 回到 jsp 中,在 body 中写一个表单,其中 action 表示要向哪一个表单提交数据
<form action="MyServlet" mothod="get">
name: <input type="text" name="name"><br>
age: <input type="text" name="age"><br>
sumbit: <input type="sumbit" name="register"><br>
</form>
客户端
- 新建 java 文件和 xml 文件,以及一个网络请求的线程类并且继承 Thread,重写其 run() 方法
- 回到 Activity.java 文件中,在 OnClick 方法中写
// url路径为服务器路径,其中localhost由本机IP地址代替
String url="http://192.168.1.102:8080/web/MyServlet";
new HttpThread(url.name.getText().toString(),
age.getText().toString())
.start();
字符转码
- 服务器端(post)
response.setContentType("text/html;charser=utf-8");
name.getBytes("iso-8859-1"),"utf-8"
- 客户端(GET): (通过 post 无需转码因为 post 方法系统默认 utf-8 ),原本的 name->URLEncoder.encode(name,"utf-8")