安卓笔记android 本地Tomcat配置servlet的步骤和注意项

@ by moses  on 2015.1

email: [email protected]



1. 用IDE工具如Eclipse创建一个Java工程(或Java Web工程);



2. 在build path - configure build path - Libraries - 选择Add External JARS...


   将...\Tomcat 8.0\lib\servlet-api.jar 添加这个第三方Jar包;


3. 在工程根目录下建立一个文件夹,如MyWebRoot(与src同级),里面按照JavaEE 的Servlet规范,再MyWebRoot中创建WEB-INF/classes目录层次
   
   件夹(使用MyEclipse创建JavaWeb工程时会自动为我们创建);


【因为classes文件夹在IDE工具中不可见,所以需要到工程文件中手动创建】
classes文件夹要配置给source的输出目录


4. 在上面的WEB-INF文件夹下新建一个web.xml文件,【用来注册servlet,类似于android的manifest.xml用来注册四大组件】;

需要把web.xml拷贝到IDE里相同目录下


5. 在src目录下写工程的Servlet
 
   如:public class MyServlet extends HttpServlet{ }, 写doGet()方法;


在doGet()方法中,进行响应处理。


【常用方法: GET,POST等, 对应Servlet类中为onGet(),onPost()】


6. 将放置WEB-INF的整个文件夹,如MyWebRoot复制一份到容器中【...\Tomcat 8.0\webapps中】。


  (经过上一步编写Servlet,已经在工程目录的WEB-INF/classes目录中自动编译生成相应的class文件,


【因为在classes文件夹中不可见,但是它已经存在。】)


注: 因为Servlet不能独立运行,需要在Tomcat等Servlet容器中运行,其也因此不需要main方法。

同时,在以后每次修改Servlet类代码以后,需要手动将编译后的生成的新的class文件复制到容器中webapps目录录下对应位置覆盖旧的class文

件,或者直接将整个文件夹复制到容器中覆盖旧的文件夹。


7. 在上面的web.xml文件中注册Servlet 






    
     
        MyServlet
        MyServlet
   

   
        MyServlet
        /test
   








中:
servlet信息:


【servlet-name 表示Servlet的名字,即编写的Servlet的类名】
【servlet-class 表示Servlet的路径,如果在classes文件夹中没有别的路径(目录),则直接为Servlet的类名】


中:
servlet映射信息:

【servlet-name 表示Servlet的名字,即编写的Servlet的类名】
【url-pattern 表示请求的URL的名字,如http://localhost:8080/test.html中的test,
或www.http://news.163.com/api/15/0107/01/AFAQD6TN00014AED.html中的AFAQD6TN00014AED】


注意: “ / ” 不能省略,这里因为是裸包,所以直接用的“ /test ” , 如果不是,则应该为“ /包名/test ”。
servlet-class 指定的是servlet的路径,裸包则直接为servlet类名,如果不是,则应该为“包名.MyServlet”。



8. 访问Servlet


http://主机服务器:端口/Servlet容器路径/注册的url-pattern
 
如http://localhost:8080/MyWebRoot/test ,对比使用Servlet前的http://localhost:8080/test

其实就是通过Servlet对网络的请求和相应进行处理。




注意:  使用json时, 需要为工程添加依赖库(jar包),并将其复制到服务端对应的WEB-INF目录中的lib目录下。



JSON.parseObject(object.toJSONString(), City.class);
【根据json key-value 直接生成对象】
封装: 层层封装, 依据json字符串的目录结构。
ListView设置空闲(无数据时)显示progressBar或其他view【mListView.setEmptyView(View v);】



























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