Android(安卓)和jsp登录接口
这几天不太忙,就自己写了一个登录的接口,是为了让Android客户端通过volley框架调用来实现登录的,自己也是初学java。写了这篇博客来记录自己的学习以便以后可以用到
第一步
1.eclipse配置好tomcat的前提下,首先创建自己的一个工程并且创建一个类去继承servlet。如下;
2.创建一个Dynamic Web Project项目
这里的Dynamic web module version的版本选2.4的
点击完成后创建了自己的HelloSeverlet然后在项目的Java Resources的rsc目录下创建severlet项目,如下图:
创建的工程项目如下
具体代码如下,这里我的代码很简单就是一个用户名(username)和密码(password)。
public class LoginServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=request.getParameter("username"); String password=request.getParameter("password"); PrintWriter out=response.getWriter(); if ("admin".equals(username)&&"123".equals(password)) { out.println("succse"); }else{ out.println("buzhidao"); } }}
这样就把一个简单的登录的代码写完了,接下来就是用浏览器去访问以上写好的登录,
第二步
1.在刚才创建好的目录下创建两个jsp文件如下
具体的代码fzp.jsp代码如下
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title heretitle>head><body> 这是我自己的页面 <a href="login.jsp">登录a> body>html>
login.jsp代码如下
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title heretitle>head><body> <form action="http://localhost:8080/HelloSverlet/LoginServlet" method="get"> 用户名:<input type="text" name="username"/><br> 密码: <input type="password" name="password"/><br> <input type="submit" value="登录"/> form>body>html>
写好这些以后我启动自己在eclipse上的tomcat然后运行项目图如下
点击登录的运行如下:
ok这就完成了一个小之又小的登录
3.好了现在开始用Android 调用此接口(使用volley框架)我用的是AS工具
(1)首先创建好自己的工程后要导入volley.jar包把下载的volley.jar包复制到lib文件夹中
好了这就成功把框架导入了,接下来就是编码了
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="cn.com.armedpoliceapp.android80test.MainActivity"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentStart="true" android:layout_marginBottom="212dp" android:text="登录" android:layout_alignParentEnd="true" />RelativeLayout>
MainActivity的代码
public class MainActivity extends AppCompatActivity { private EditText textView,textView2; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView= (EditText) findViewById(R.id.textView); textView2= (EditText) findViewById(R.id.textView2); button= (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { requestJava(); } private void requestJava() { { String phpUrl = "http://这里写自己的ap地址:8080/HelloSverlet/LoginServlet"; //volley框架 RequestQueue queue; //获取方法名 String methodName = "LoginServlet"; //psot请求的参数 final Map postParams = new HashMap(); postParams.put("username", "admin"); postParams.put("password", "123"); //用post请求服务器(volley)框架 RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this); StringRequest stringRequest = new StringRequest( Request.Method.POST, phpUrl, new Response.Listener() { @Override public void onResponse(String response) { System.out.println("登录结果" + response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } } ) { @Override protected Map getParams() throws AuthFailureError { Map map = new HashMap(); map = postParams; System.out.println("服务器的请求Map" + map); return map; } }; //volley框架请求时间的重写 stringRequest.setRetryPolicy(new RetryPolicy() { @Override public int getCurrentTimeout() { return 1000 * 60; } @Override public int getCurrentRetryCount() { return 1000 * 60; } @Override public void retry(VolleyError volleyError) throws VolleyError { } }); requestQueue.add(stringRequest); } } }); }
好了这样就完成了用浏览器请求java(jsp)和Android请求java的登录接口了。但是这里用到的tomcat是eclipse中配置好的tomcat并不是本地服务器的tomcat如果想用本地的tomcat只需要把Java项目弄成war包放到本地tomcat的webapps目录下即可访问
更多相关文章
- ListView设置分割线颜色
- Android(安卓)Camera 的架构简单简析1
- android http通过post请求发送一个xml
- Android之TextView设置String文本颜色
- 第一行代码 Android(安卓)第 2 版 读书笔记
- afinallogoAndroid的快速开…
- android studio 删除、导入jar包
- Android(安卓)查看pdf文档——PDFView
- Android中实现Native与H5的通信方案汇总