android服务端客户端(一)
来源:互联网 发布:mac相册制作软件 编辑:程序博客网 时间:2024/04/28 06:47
今天是腊八,闲下心来写点东西。
做android的,估计都离不开服务器端。常见的服务器软件有Tomcat、Jboss、Weblogic。
服务端这里我们主要了解一下Tomcat,大家都知道它是Apache组织提供的开源软件
客户端这里我们举个例子,比如我们想做一个听音乐的应用。这时候通常有两种形式:
一种是利用浏览器(Browser)的便利性,通过浏览器去访问服务器端(Server),这种编程模式也是我们常说的BS。
另一种是通过Client访问Server。(CS)
接下来进入正题。
安装Tomcat(本次安装版本为tomcat6.0)
1、安装tomcat的步骤比较简单,网上的资料也比较多,这里就不加赘述。
2、注意一点,在安装tomcat之前需要确保安装了JDK,并将JDK的路径配置成环境变量。
Tomcat目录结构
1、bin目录:bin——binary,这里面放的是二进制文件,比如exe文件。bin文件夹下有两个可执行文件tomcat6.exe和tomcat6w.exe,(w指的是window)区别在于前者是通过cmd窗口打开,后者是有操作界面。
2、webapps目录(存放源文件):web apps表示web应用程序,简单的说就是网站。tomcat管理多个网站。
——其中有ROOT文件夹,ROOT下的index.html是默认打开的网址。
3、work目录(存放编译后的class文件)
执行tomcat
1、通过双击tomcat6.exe启动tomcat。在浏览器的地址栏中输入http://localhost:8080(localhost表示本地服务器,tomcat默认端口号为8080)。若想关闭tomcat,只需关闭cmd窗口即可。
2、通过双击tomcat6w.exe也一样可以启动tomcat。
如何在eclipse中配置tomcat?
通过配置tomcat,eclipse可以启动tomcat,可以使我们快速地开发web应用。
1、打开eclipse,点击Window—Show View—Others,在输入框中输入server,点击OK。
2、这时我们可以看到底部出现了server窗口。单击这条蓝字。
3、选择Apache—Tomcat v6.0 Server,点击Finish。到这里我们就创建好了一个server。
4、在Server Locations中选择第二项,Deploy path则选择你本地tomcat的安装目录下的webapps。ctrl+s保存即可。
5、到这里其实已经配置成功了,可以通过点击右下方的绿色按钮启动tomcat。
6、可以把我们写好的Server程序添加到tomcat上。(把Server程序的源文件添加到webapps文件夹下)右键Tomcat v6.0 Server at localhost(我们之前创建好的server),选择Add and Remove选项。即可弹出上图的对话框,双击要添加的server程序,出现在右边的框内,点击Finish即可。
说这么多,搞个demo试试。
Demo1——下载网络图片到本地
1、新建一个动态web程序。点击File—New—Dynamic Web Project。展开Java Resources,在src下新建一个类,这里命名为Demo1。
2、这块代码也没什么难度,直接上代码。
//图片地址 String path = "http://img5.duitang.com/uploads/item/201407/25/20140725130918_VzMia.thumb.700_0.jpeg"; try { URL url = new URL(path); //打开连接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); int code = conn.getResponseCode(); if (code == 200) { InputStream in = conn.getInputStream(); OutputStream out = new FileOutputStream("c:\\Santorini.jpg"); byte[] buffer = new byte[1024]; int len = 0; while ((len = in.read(buffer))!=-1) { out.write(buffer, 0, len); } in.close(); out.close(); } } catch (Exception e) { e.printStackTrace(); } }
3、将TT_Server添加到tomcat上。启动tomcat。在java编辑区内右键run as—Java Application。接着查看C盘,图片已经下载完成。访问本地的资源也是一样,只是path不同而已。
其实说实在的,html还是有弊端,比如说html一旦完成就相当于页面写死了。所以我们要通过java程序查找数据库,从而更新数据。
Demo2——初步认识Servlet
情景:使用浏览器提交表单数据到服务器。
服务端小程序(servlet)必须继承HttpServlet,并重写父类的方法(doPost、doGet)
public class FistServlet extends HttpServlet{ @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doPost(req, resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doGet(req, resp); }}
客户端连接服务端,我们都知道无外乎四种操作——查找、更新(增删改)。一般地,如果是查找操作则使用Get方式,如果是更新操作则使用Post方式。
在WebContent目录下新建一个html文件夹,新建一个login.html文件。
在html中我们搞一个表单,点击按钮将用户名和密码提交到服务器。
<form action=""> 名称:<input type="text" name="userName"><br> 密码:<input type="password" name="userPwd"><br> <input type="submit" value="提交"></form>
name=“userName”在这里什么意义?比如你在名称的输入框中输入“张三”,其实它会以“userName=张三”这种键值对的形式进行提交。
现在我们需要注册这个Servlet,展开WebContent下的WEB-INFO,可以看到有一个web.xml文件。
注册Servlet,并且给定一个别名。
<servlet> <servlet-name>FirstServlet</servlet-name> <servlet-class>FirstServlet</servlet-class></servlet>
servlet-name就是给定的别名,一般取它的类名作为别名。
servlet-class就是全路径,展开左边项目结构中的First.java,在它的class文件上右键,选择Copy qualified..,粘在此处即可。
为servlet给定一个简单的url,并将url和别名映射起来(mapping)
<servlet-mapping> <servlet-name>FirstServlet</servlet-name> <url-pattern>/FirstServlet</url-pattern> </servlet-mapping>
设想一下,我们在浏览器中输入http://localhost:8080/TT_Server/FirstServlet,按回车,此时,tomcat通过“/FirstServlet”这个url就会找到servlet-name,它会通过mapping到的servlet-name,去找到这个servlet-class。
回到html的form表单,在form的action中输入“/TT_Server/FirstServlet”(不包括引号),并且指定以post方式提交
<form action="/TT_Server/FirstServlet" method="post">
这样一来,当我们在浏览器上输入信息之后点击提交,服务端就会触发FirstServlet中的doPost方法。若请求方式改为get,则会调用doGet方法。
通过观察我们发现,以get方式提交表单数据,会把数据以“?userName=输入值&userPwd=输入值“这种键值对的形式追加到我们请求的地址之后。
那服务端如何获得客户端(浏览器)传过来的数据呢?
我们知道FirstServlet中的doGet(HttpServletRequest request, HttpServletResponse response)这个方法,会在表单以get方式提交的时候触发。这时客户端提交上来的数据都封装在request中。我们通过以下代码就可以获得相应的数据:
String userName = request.getParameter("userName");String userPwd = request.getParameter("userPwd");
一般情况下服务端收到客户端的数据之后通常要做出一些响应(比如通知用户数据提交成功等)。
response.getWriter().write("Success!");
注意:更改了服务端的代码过后,为了保证代码是最新的,通常要重启一下tomcat server(点击右下方绿色的start按钮即可),这样会避免一些不必要的错误。
后面的篇幅还有点长,这里就先告一段落。。
tomcat6.0安装包下载:tomcat6.0安装包
nineoldandroids-2.4.0.jar下载:nineoldandroids.jar
eclipse工具的安装包超过上传工具的大小,有需要的朋友可以留言,我分享到百度pan。
- android服务端客户端(一)
- android服务端客户端(二)
- android服务端客户端(三)
- socket实现客户端与服务端通信(一)服务端
- 客户端与服务端连接分析(一)
- 服务端与客户端交互(一)
- 搭建SVN服务端,客户端(一)
- 简单的Android服务端和客户端登录交互(服务端)
- Android 文件上传(客户端+服务端)
- Android Socket 使用(客户端和服务端)
- android服务端与客户端
- 用.Net打造一个移动客户端(Android/IOS)的服务端框架NHM(一)
- PC客户端与Android服务端的Socket同步通信(一)
- PC客户端与Android服务端的Socket同步通信(一)
- 视频列表的android客户端和springmvc服务端实现(一)
- Android学习笔记之Socket客户端与服务端通信( 一)
- Android客户端与PHP服务端交互(一)---框架概述
- 简单的Android服务端和客户端登录交互(客户端)
- 222,NSThread类的使用
- 读小敏子简书《程序员的呐喊》读书笔记(上)有感
- Ubuntu安装mysql并开放远程连接登陆详细步骤
- js类型判断
- js字符串 js 数组转换 网上的找的例子
- android服务端客户端(一)
- Grub2讲解
- Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?
- 介绍 Android 的 Camera 框架
- Linux添加Tomcat Server时Server Name为空不可输入
- 给 UIButton、UILabel添加下划线
- 杀一个程序员不需用枪,改三次需求即可
- Google的Objective-C编码规范(代码规范很重要,规范的代码很有美感。)
- HDU1040As Easy As A+B