Android 和jsp登录接口

这几天不太忙,就自己写了一个登录的接口,是为了让Android客户端通过volley框架调用来实现登录的,自己也是初学java。写了这篇博客来记录自己的学习以便以后可以用到
第一步
1.eclipse配置好tomcat的前提下,首先创建自己的一个工程并且创建一个类去继承servlet。如下;
2.创建一个Dynamic Web Project项目
Android 和jsp登录接口_第1张图片
这里的Dynamic web module version的版本选2.4的
Android 和jsp登录接口_第2张图片
点击完成后创建了自己的HelloSeverlet然后在项目的Java Resources的rsc目录下创建severlet项目,如下图:
Android 和jsp登录接口_第3张图片
Android 和jsp登录接口_第4张图片
创建的工程项目如下
Android 和jsp登录接口_第5张图片

具体代码如下,这里我的代码很简单就是一个用户名(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文件如下
Android 和jsp登录接口_第6张图片
具体的代码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然后运行项目图如下
Android 和jsp登录接口_第7张图片
点击登录的运行如下:
Android 和jsp登录接口_第8张图片
ok这就完成了一个小之又小的登录
3.好了现在开始用Android 调用此接口(使用volley框架)我用的是AS工具
(1)首先创建好自己的工程后要导入volley.jar包把下载的volley.jar包复制到lib文件夹中
Android 和jsp登录接口_第9张图片

Android 和jsp登录接口_第10张图片
Android 和jsp登录接口_第11张图片
好了这就成功把框架导入了,接下来就是编码了
activity_main.xml


<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目录下即可访问

你可能感兴趣的:(Android,开发)