搭建服务器开发环境及java web小试牛刀

来源:互联网 发布:软件流量破解版 编辑:程序博客网 时间:2024/05/07 22:21

一.服务器开发所需环境

myeclipse、tomcat、mysql1)安装myeclipse,下载地址  http://pan.baidu.com/s/1eR4UT6E2)安装tomcat,下载地址  http://pan.baidu.com/s/1c2EIFEo 。解压后无需安装,配置到环境变量(TOMCAT_HOME=你的tomcat所在路径 ,Path里配置%TOMCAT_HOME%\lib;%TOMCAT_HOME%\bin;),启动bin目录下的startup.bat,浏览器输入http://localhost:8080/回车如果看到apache页面,表示安装成功。注意在myeclipse里要添加自己安装的这个tomcat,而不是用myeclipse里自带的;在myeclipse里的window-->preferences-->MyEclipse-->Servers-->add-->你安装的tomcat的路径。  3)安装mysql,下载地址  http://pan.baidu.com/s/1qY2iXbQ, 解压版mysql,解压后配置环境变量需要配置到bin目录。然后cmd里输入net start  mysql来启动数据库。进入到数据库所在bin目录,输入mysql -u root -p设置密码,这个密码一定要记住,不然jdbc连接不上数据库哦。通过show databases可以查看现有数据库,use databasename可以切换到这个数据库,show tables看表,select * from tablename查看表数据。到此为止,服务器所需的开发环境,运行环境已经搭建完成。接下来就是创建java web项目啦。

二.创建数据库

创建数据库good_db : create database good_db;
切换到此数据库:use good_db;
创建商品表:create table good(id int primary key not null,
goodName varchar(30),
goodNum varchar(20),
goodDate Date);
插入一条数据:insert into good values(1,
“milk”,
“20”,
“2017-04-07”);

三.创建Java Web项目

myeclipse-->file-->new-->web service project此项目目录下src是用来写服务器代码的。WebRoot下是html+jsp+ajax的代码用来做管理界面,通过接口查询数据等前端代码;其中WEB-INF目录下的web.xml是用来配置接口地址和对应servlet的,非常重要。先附上我的项目目录结构:

这里写图片描述
接下来第一步就是jdbc,直接附图便于理解。

public class DAOutils {    private DAOutils(){};    private static String url="jdbc:mysql://localhost:3306/good_db";    private static String username="root";    private static String password="数据库登陆密码";      static{      try{      Class.forName("com.mysql.jdbc.Driver");      }catch(ClassNotFoundException e){      throw new ExceptionInInitializerError(e);      }      }    //外部通过调用getConnInstance来获取数据库连接    public static  Connection getConnInstance(){        Connection conn = null;        try {            conn = DriverManager.getConnection(url,username,password);        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return conn;    }    public static  void release(Connection conn,java.sql.PreparedStatement pstm,ResultSet rs){        if(conn!=null){            try {                conn.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        if(pstm!=null){            try {                pstm.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        if(rs!=null){            try {                rs.close();            } catch (SQLException e) {                e.printStackTrace();            }        }    }}

接下来就是编写servlet。

public class GetGoodServlet extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        response.setContentType("text/html");        PrintWriter out = response.getWriter();        String id = request.getParameter("id");        DBdao dbd = new DBdao();        ItemBean selectGood = (ItemBean) dbd.GetGoodInfo(id);        String jsonString = JSON.toJSONString(selectGood);        out.print(jsonString);        }    public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doGet(request, response);    }}

然后是DBdao

public class DBdao {    private static Connection conn = null;    SimpleDateFormat sdf;    public DBdao() {        sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    }    //根据商品id查询商品    public ItemBean GetGoodInfo(String good_id){        String sql = "select * from good where id=?";        ItemBean i = null;        ResultSet executeQuery = null;        PreparedStatement pstm =null;        try {            conn = DAOutils.getConnInstance();            pstm = (PreparedStatement) conn                    .prepareStatement(sql);            pstm.setString(1, good_id);            executeQuery = pstm.executeQuery();            while (executeQuery.next()) {                ItemBean ib = new ItemBean();                ib.setId(executeQuery.getInt(1));                ib.setGoodName(executeQuery.getString(2));                ib.setGoodNum(executeQuery.getString(3));                ib.setGoodTime(executeQuery.getString(4));                i = ib;            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }finally{            DAOutils.release(conn, pstm, executeQuery);        }        return i;    }

ItemBean如下:

public class ItemBean {    private int id;    private String goodName;    private String goodNum;    private String  goodTime;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getGoodName() {        return goodName;    }    public void setGoodName(String goodName) {        this.goodName = goodName;    }    public String getGoodNum() {        return goodNum;    }    public void setGoodNum(String goodNum) {        this.goodNum = goodNum;    }    public String getGoodTime() {        return goodTime;    }    public void setGoodTime(String goodTime) {        this.goodTime = goodTime;    }    @Override    public String toString() {        return "ItemBean [id=" + id + ", goodName=" + goodName + ", goodNum="                + goodNum + ", goodTime=" + goodTime + ", getId()=" + getId()                + ", getGoodName()=" + getGoodName() + ", getGoodNum()="                + getGoodNum() + ", getGoodTime()=" + getGoodTime()                + ", getClass()=" + getClass() + ", hashCode()=" + hashCode()                + ", toString()=" + super.toString() + "]";    }}

最后注意web.xml里的配置:

    <servlet>        <description>This is the description of my J2EE component</description>        <display-name>This is the display name of my J2EE component</display-name>        <servlet-name>GetGoodServlet</servlet-name>        <servlet-class>severlet.GetGoodServlet</servlet-class>    </servlet>    <servlet-mapping>        <servlet-name>GetGoodServlet</servlet-name>        <url-pattern>/search</url-pattern>    </servlet-mapping>

四. jsp里请求服务器数据

index.jsp的代码

<%@page import="bean.ItemBean"%><%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'success.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"></head><body>    <form action="search">        password:<input type="text" name="id">        <br>         <input type="submit">    </form></body></html>

其中需要输入的id是商品id,用来查询数据库条件。

五. 用浏览器测试
浏览器输入http://172.24.68.163:8080/TestServer/index.jsp回车,输入框内输入1,点提交,浏览器就会以json显示数据库查询到的id为1的数据:
{“goodName”:”milk”,”goodNum”:”20”,”goodTime”:”2017-04-07”,”id”:1}

到此,简单的服务器搭建部署测试就完成了,局域网内的安卓程序通过接口也可获取数据。虽然很简单,主要以此来记录开发中的步骤以防忘得干净。

0 0
原创粉丝点击