最近看了写http协议的学习资料,因此想要实现下andriod平台和服务器通信,那就servlet吧,哎哟,还不错哦!顺便说下,我这个servlet服务是想获得用户名和密码进行校验,然后反给客户端状态码;数据库啥的没来得及做,周末时间还是短了点......

Eclipse的java环境搭建好了
    1.下载tomcat,解压版的,这里我用的是以前下载的apache-tomcat-6.0.35,解压到任意盘=>C:\apache-tomcat-6.0.35;
    2.下载tomcat插件,解压到Eclipse插件目录=>H:\eclipse\plugins目录,启动Eclipse就可以看见小猫了;
    3.Eclipse下的Window->Preferences->Tomcat设置下版本和tomcat主目录,版本别搞错了!省的麻烦...
    
    完成,其实就是这么简单,点击下“启动小猫”就可以启动了,只要没显示什么异常,没显示空指针的log;而是显示了启动时间就ok了;

4.新建一个tomcat工程,我的是TaxiServlet;
    5.在 TaxiServlet/WEB-INF/src下新建一个包,我的是com.servlet.login;
    6.在包下新建类,我的是LoginAction.java,内容稍后说;
    7.在WEB-INF下新建web.xml文件;

8.首先LoginAction.java内容可以如下:
    9.web.xml内容:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app>
<servlet>
<servlet-name>login</servlet-name> <!-- 名字随便 -->
<servlet-class>com.servlet.login.LoginAction</servlet-class> <!-- servlet类名-->
</servlet> <servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern> <!-- url访问虚拟路径,最后我们就是通过工程名/login进行访问的,像这样http://127.0.0.1:8000/LoginAction/login-->
</servlet-mapping> </web-app>

这里我客户端的用户名和密码是通过post请求的,因此doPost方法会被调用;doGet方法可以测试下网页,用http://127.0.0.1:port/servlet工程名称/url-pattern虚拟路径  进行测试;
   
    我的工程:

package com.servlet.login;

import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*; /**
* 登录模块校验Servlet
* @author Administrator
*
*/
public class LoginAction extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L; public LoginAction()
{
super();
} protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html;charset=utf-8");
req.setCharacterEncoding("utf-8");
res.setCharacterEncoding("utf-8"); PrintWriter out = res.getWriter();
out.println("Hello, Brave new World!");
out.close();
} protected void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
if (null == req)
{
return;
}
res.setContentType("text/html;charset=utf-8");
req.setCharacterEncoding("utf-8");
res.setCharacterEncoding("utf-8"); PrintWriter out = res.getWriter();
String username = req.getParameter("user_name");
String password = req.getParameter("password");
if (username.equals("admin"))
{
if (password.equals("123"))
{
out.println("0"); ///< 正确
}
else
{
out.println("2"); ///< 密码错误
}
}
else
{
out.println("1"); ///< 用户名错误
}
out.flush();
out.close();
}
}

测试以下:http://127.0.0.1:8000/TaxiServlet/login 
    

web.xml的详细配置大家可以网上搜搜,我也是经过测试才了解怎么回事的,很多网络并没有说明到底怎么回事?因此对于我这样的初学者总是很疑惑的,相信只有了解了本质才知道,也才能写出好的code...也进步最快,,,,,,
   
    我的doPost方法将用于andriod应用程序登录时校验,数据库校验慢慢完善...先这样
        感谢网友的分享,通过你们我学到了很多东西.... 网友http://www.linuxidc.com/Linux/2012-06/63935.htm,其它就不举例了,嘿嘿...

对了还要说下tomcat的配置,不然可能会出现404错误;C:\apache-tomcat-6.0.35\conf\tomcat-users.xml文件一般来说默认用户配置都是注释着的,你需要配置至少一个用户,我的如下:

点击(此处)折叠或打开

<?xml version='1.0' encoding='utf-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<tomcat-users>
<!--
NOTE: By default, no user is included in the "manager-gui" role required
to operate the "/manager/html" web application. If you wish to use this app,
you must define such a user - the username and password are arbitrary.
-->
<!--
NOTE: The sample user and role entries below are wrapped in a comment
and thus are ignored when reading this file. Do not forget to remove
<!.. ..> that surrounds them.
-->
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
-->
<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>
</tomcat-users>

其它的根据需要来吧....

配置端口号:
    C:\apache-tomcat-6.0.35\conf\server.xml用来配置端口号,如果你电脑安装了n多软件,可能默认的8080端口无法使用,记得进去找到它,改改哈!多练习练习就熟了,,,编程也是写字..

 Eclipse下tomcat不能指定发布ServerLocation的问题

  在Eclipse下建立了Web应用,但发布的时候却发现,只能发布到eclipse的目录下。而且双击服务器,发现“Server Locations中选项都是灰色”,不让指定自己希望的发布路径。

  解决方法是:首先删除当前Eclipse下建立的所有Server,并且将服务器与应用的关联也要一并彻底删除。然后重新添加一个外部服务器。先不要将应用与该Server绑定,双击该服务器,进入属性编辑器中,这时会发现“Server Locations”中选项都是可选的了,可以选择一个你希望发布到的路径。如我希望将项目发布到我本地自行安装的tomcat下。即可

【转】Eclipse中创建并运行Servlet项目的更多相关文章

  1. 在Eclipse中创建Maven多模块项目

    在Eclipse中创建Maven多模块项目1,创建多模块项目选择File>New>Project,打开New Project窗口,选择Maven>Maven Project,选择下一 ...

  2. Eclipse中创建新的SpringBoot项目(打包并且部署到tomcat)

    Spring-boot因为其对jar包的高度集成以及简化服务配置,快速部署等的优点,逐渐成为Java开发人员的热衷的框架.下面演示一下怎么在Eclipse中新建Spring-boot项目以及打包部署. ...

  3. eclipse中创建完整的maven项目

    使用eclipse插件创建一个web project 首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 ...

  4. SpringBoot学习 (一) Eclipse中创建新的SpringBoot项目

    1. Eclipse中安装STS插件 (1)在线安装 Help--Eclipse Marketplace... 搜索“STS”,点击“install”安装    (2)本地安装 打开网页 http:/ ...

  5. Maven 梳理 -eclipse中创建Maven的web项目

    已验证成功: 1.创建Maven的Web工程 新建Maven工程:File -> New -> Maven Project,具体如下所示: 点击Next进入下述页面,下方的窗口是我们选择所 ...

  6. 在Eclipse中配置Tomcat 创建和运行Servlet/JSP

    在Eclipse中配置Tomcat 创建和运行Servlet/JSP 步骤一:在Eclipse中配置Tomcat(注意下载Eclipse IDE for Java EE Developers) (1) ...

  7. 在命令行中运行eclipse中创建的java项目

    在命令行中运行eclipse中创建的java项目 博客分类: java相关 javaeclipse命令行  由于项目要求,需要对eclipse中的项目进行打包,似的可以在客户机上不装eclipse的情 ...

  8. 在Eclipse中创建Django项目

    在以前的分享中,我们是在命令行模式下创建Django项目的,那么,如何在IDE中使用Django呢? 本文将介绍如何在Eclipse中创建Django项目. 首先,新建Django项目mysite,如 ...

  9. (3)Maven快速入门_3在Eclipse中创建Maven项目打包成jar

    Eclipse中创建Maven项目 new ---> maven project  ----> next 如下 普通java项目 选择  如下 quickstart 创建项目 : 输入 G ...

随机推荐

  1. 线段树---HDU2795Billboard

    这道题跟第二个题差不多,求单点的最大值. 题目大意:有个高和宽分别为h, w的广告牌, 这个广告牌分成高为 1 的长条, 每条分别能贴长度为wi长度的广告, 输入的n为广告的条数,广告优先贴在最上边和 ...

  2. codevs 2995 楼房

    /*暴力30分*/ #include<iostream> #include<cstring> #include<cstdio> #include<map> ...

  3. C# 窗口传值的方法

    方法一: A to B 设置FormB 为 带参数的构造函数 public Form2( object msg) { InitializeComponent(); } 方法二: A to B  定义一 ...

  4. css元素居中

    水平居中 若为行内元素,对其父元素用text-align:center即可: 若为块元素(无浮动),则一般有两种方法可实现对其的水平居中,一为margin:0 auto;二为通过css计算函数calc ...

  5. css内容生成器

    一,内容生成器:content 补充before和after伪类选择器: 1):将内容添加到某个选择器定义的单个或者多个元素的每一个实例之前或者之后 2)与before选择器配合使用(同理大家想下会不 ...

  6. requestAnimationFrame 兼容处理

    (function() { ; var vendors = ['ms', 'moz', 'webkit', 'o']; ; x < vendors.length && !wind ...

  7. Android Design Support Library: 学习CoordinatorLayout

    简述 CoordinatorLayout字面意思是"协调器布局",它是Design Support Library中提供的一个超级帧布局,帮助我们实现Material Design ...

  8. 27 Java动态加载第三方jar包中的类

    我加载的方法是://参数fileName是jar包的路径,processorName 是业务类的包名+类名public static A load(String fileName, String pr ...

  9. javascript 关于一周前一个月前的处理方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. image转文件

    UIImage  *image = self.imageCompainPhoto.image; NSData *imageData = UIImagePNGRepresentation(image); ...