一、例程简介

    本例程可配合Android例程MyApplication测试使用,包含一个TestServlet,用于接收POST请求,访问本地MySQL数据并返回对应消息。

    Android例程的开发请看:http://blog.csdn.net/sinat_30685475/article/details/52126549。

    搭建 Java Web 开发环境(包含Eclipse、Tomcat和MySQL的安装配置)的步骤请看:http://blog.csdn.net/sinat_30685475/article/details/52117384。


二、新建项目

    打开 Eclipse , [File] - [New] - [Dynamic Web Project] ,输入项目名称, [Next] 到最后一页,勾选 “Generate web.xml deployment descriptor”。


三、创建服务器项目主页

    为了在测试Web项目的时候能在浏览器上看到点东西,我们在项目中加入一个 index.html 文件作为访问的默认主页。

    1、展开项目目录,在 WebContent 文件夹下 [New] 一个 [HTML File],命名为 index.html,根据需要输入标题和内容,例如:

MyWebProject

Hello World!

    2、然后,还要在 WebContent/WEB-INF 文件夹下的 web.xml 里添加一些内容,这个文件就像一个目录,将程序和地址关联起来。项目要执行 Servlet 和 html 等都要在这里正确声明,否则会报 404 错误。现在将web.xml 修改成以下这样:

<?xml version="1.0" encoding="UTF-8"?>  MyWebProject        index.html    
    3、现在,右键项目, [Run as] - [Run on Server] ,运行到本地 Tomcat 服务器后可看到 “http://localhost/MyWebProject/”地址显示出 index.html 对应的页面。注意 Tomcat服务器的默认端口号为8080,这里设为了80,设置方法:找到对应 Tomcat Server 目录下的 server.xml,找到:

    
    “8080”改为“80”。

四、创建Servlet

    1、在工程目录 Java Resources/src 文件夹下 [New] - [Servlet] ,命名为 TestServlet ,内容如下:

package com.example.z.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.example.z.service.TestService;//@WebServlet("/TestServlet")public class TestServlet extends HttpServlet {private static final long serialVersionUID = 1L;    public TestServlet() {        super();    }protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 返回字符串String responseMsg="FAIL";// 输出流PrintWriter out = response.getWriter();// 设置编码形式request.setCharacterEncoding("utf-8");// 获取传入数据String str = request.getParameter("str");// 访问数据库int value = TestService.testSelect(str);if(value == 11) {responseMsg = "SUCCESS";}out.print(responseMsg);}}
        当提示无法import javax.servlet,需要在项目导入对应的 .jar 包。右键项目, [Properties] - [Java Build Path] ,选中 [Libraries] 选项卡,点击 [Add External JARs...],选中 Tomcat 安装目录下 lib 文件夹下的 servlet-api.jar 。

        Servlet 的作用主要是读取POST消息中的数据,访问 MySQL 等操作通过调用自定义的 TestService 类中的方法实现。

        注意由于我们已经添加了 web.xml 文件,所以要去掉自动生成的 “@WebServlet("/TestServlet")” 。现在继续修改 web.xml ,加入关于 TestServlet 的信息:

<?xml version="1.0" encoding="UTF-8"?>  MyWebProject        TestServlet                  com.example.z.servlet.TestServlet              TestServlet    /TestServlet          index.html    


五、TestService类

package com.example.z.service;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import com.example.z.manager.DBManager;public class TestService {static PreparedStatement pstmt = null;static ResultSet rs = null;public static int testSelect(String str) {int key = 0;// 执行 SQL 查询语句String sql = "select * from t_test where name='" + str +"'";try {Connection con = DBManager.getConnection();pstmt = con.prepareStatement(sql);try{rs = pstmt.executeQuery();// 查询结果if(rs.next()){key = rs.getInt("key");}pstmt.close();con.close();}catch(Exception e){e.printStackTrace();}}catch(Exception e){e.printStackTrace();}return key;}}
        自定义类 DBManager 用于连接数据库。该过程需要在 Tomcat 安装目录 lib 文件夹下放入用于连接 MySQL 的 .jar包 “mysql-connector-java-5.1.39-bin.jar” 。我已经在本地 MySQL 中创建了对应的数据库和表格,并插入的数据。执行的 SQL 语句为:

create database db_test;use db_test;create table `t_test`( `id` int not null auto_increment, `name` varchar(100) default '', `key` int default 0, primary key(`id`))ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;insert into t_test(`name`,`key`) values ('hello',22);

六、DBManager类
package com.example.z.manager;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBManager {// 加载的驱动private static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";// 数据库URLprivate static final String DATABASE_URL = "jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=utf8";// 数据库连接用户名private static final String DATABASE_USERNAME = "Admin";// 数据库连接密码private static final String DATEBASE_PASSWORD = "123456";public static Connection getConnection() throws SQLException {try {Class.forName(DRIVER_CLASS);} catch (ClassNotFoundException e) {e.printStackTrace();}Connection con = DriverManager.getConnection(DATABASE_URL,DATABASE_USERNAME, DATEBASE_PASSWORD);return con;}}

七、项目结构

        经过以上步骤,本次Java Web项目已经完成。下面提供工程目录作为参考:



八、代码下载

    CSDN CODE:https://code.csdn.net/sinat_30685475/mywebproject/tree/master。

    CSDN 下载:http://download.csdn.net/detail/sinat_30685475/9596363。


更多相关文章

  1. Android(安卓)ZXing 解析
  2. android studio2.1创建项目的两个坑
  3. 【持续更新】Android(安卓)源码下载地点
  4. 在AndroidStudio中使用GreenDAO
  5. Smali动态调试方法
  6. Android中如何给layout资源文件分类 在layout下创建子文件夹
  7. PhoneGap(Android)环境搭建教程
  8. 安装 apk 到 /system/app 目录下
  9. 一行代码,完成多层视图回退功能( android)(续)

随机推荐

  1. android传感器学习之获取传感器的值
  2. windows通过git获取 android 源代码
  3. Android(安卓)Junit
  4. myTuTu(android版) flash(.swf)生成程序(
  5. Android(安卓)混淆机制
  6. 理解Android的异步消息处理机制
  7. 【Android(安卓)Developers Training】 5
  8. abd找不到设备的解决方法
  9. [置顶] 安卓UI组件之ListView详解
  10. Android界面设计基本知识