Android+Servlet+MySQL实现仿兼职地带app

来源:互联网 发布:网络信息时代 编辑:程序博客网 时间:2024/05/16 01:43
首先这个仿自兼职地带,只写了部分功能并且不作任何商业用途。

本文适合有一定开发经验的读者。

东西虽然很简单,但是毕竟算是前后端一起做,工作量还是不算小。这也是帮人家写的毕业项目,算是顺便练练手吧。

这里只说明登录是怎么实现的,感兴趣的朋友可以加q:446558196

废话不多说,先看效果图:

好了,一些主要的界面效果就是这样了,不要喷界面、细节和icon。。。我不是美工

第一步:配置环境及开发工具

这里就不解释怎么配了,说明一下需要什么(自行百度):mysql数据库(我用的navicat),tomcat,eclipse(javaEE版),android sdk(这里我用的android studio来开发)。

第二步:搭建数据库

这里只建了3张表(职位表、用户表、报名表),每张表有一些字段。既然只说登录,那么只需要用户表并且有id、username、password这3个字段就OK。

第三步:创建服务器

这是本文主要的部分之一。

首先,得创建一个web项目,步骤如下:

第一次创建的话图中标1处会是空的,那么需要创建一个,选择下载好的tomcat根目录就好,接下来一直点next就好,最后一步有个勾选generate web.xml 什么的,记得选上。

OK,接下来就是创建servlet了。

//这种注册方式可能需要tomcat7.0以上,其中前一个名称随意,后一个是访问路径
@WebServlet({ "/JzddLoginServlet", "/login" })public class JzddLoginServlet extends HttpServlet {private static final long serialVersionUID = 1L;/** * @see HttpServlet#HttpServlet() */public JzddLoginServlet() {super();}/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse *      response) */protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {super.doGet(request, response);// 获得url中参数String userName = request.getParameter("username");String password = request.getParameter("password");System.out.println("userName:" + userName);System.out.println("password:" + password);User user = new User();user.setUserName(userName);user.setPassword(password);LoginDao dao = new LoginDao();// 登录ResponceLogin object = dao.excuteLogin(user);// 返回结果response.getWriter().print(new Gson().toJson(object));response.getWriter().close();}/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse *      response) */protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}
接下来是连接数据库的dao

public class LoginDao extends BaseDao {/** * 登入 账号密码错误返回-1,登入成功返回0 *  * @param user * @return */public ResponceLogin excuteLogin(User user) {ResponceLogin object = new ResponceLogin();ResponceUserInfo userInfo = new ResponceUserInfo();String sql = "select username,password from user where username = ? and password = ?";//准备执行sql语句PreparedStatement statement = getPreparedStatement(sql);ResultSet resultSet = null;try {//完善sql语句的值statement.setString(1, user.getUserName());statement.setString(2, user.getPassword());//执行sql语句resultSet = statement.executeQuery();//解析结果if (resultSet.next()) {// 登入成功object.setLoginState(0);sql = "select * from user where username = ?";statement = getPreparedStatement(sql);statement.setString(1, user.getUserName());close(resultSet, null, null);resultSet = statement.executeQuery();if (resultSet.next()) {userInfo.setUserid(resultSet.getString("userid"));userInfo.setName(resultSet.getString("name"));userInfo.setSex(resultSet.getString("sex"));userInfo.setPhone(resultSet.getString("phone"));userInfo.setCity(resultSet.getString("city"));userInfo.setPicture(resultSet.getString("picture"));userInfo.setCredit(resultSet.getString("credit"));userInfo.setZhifubao(resultSet.getString("zhifubao"));userInfo.setMoney(resultSet.getString("money"));userInfo.setHeight(resultSet.getString("height"));userInfo.setSchool(resultSet.getString("school"));userInfo.setEducation(resultSet.getString("education"));userInfo.setIntroduce(resultSet.getString("introduce"));}} else {object.setLoginState(-1);}} catch (SQLException e) {e.printStackTrace();} finally {close(resultSet, statement, conn);}object.setUserInfo(userInfo);return object;}}
具体连接数据库在basedao里

public class BaseDao {//连接数据库需要public static final String DRIVER = "com.mysql.jdbc.Driver";public static final String URL = "jdbc:mysql://localhost:3306/jzdd";public static final String USER_NAME = "root"; public static final String PASSWORD = "root"; static{try {Class.forName(DRIVER);} catch (ClassNotFoundException e) {e.printStackTrace();}}//连接protected Connection conn;public BaseDao() {conn = getConn();}/** * 建立连接 * @return */public  Connection getConn(){Connection conn = null;try {conn = (Connection) DriverManager.getConnection(URL, USER_NAME, PASSWORD);} catch (SQLException e) {e.printStackTrace();}return conn;}/** * 准备执行sql语句 * @param sql * @return */public  PreparedStatement getPreparedStatement(String sql){PreparedStatement prepareStatement = null;try {prepareStatement = conn.prepareStatement(sql);} catch (SQLException e) {e.printStackTrace();}return prepareStatement;}/** * 关闭连接 * @param resultSet * @param statement * @param conn */public  void close(ResultSet resultSet,PreparedStatement statement,Connection conn){if(resultSet != null){try {resultSet.close();resultSet = null;} catch (SQLException e) {e.printStackTrace();}}if(statement != null){try {statement.close();statement = null;} catch (SQLException e) {e.printStackTrace();}}if(conn != null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}}

OK,到这里登录功能服务器端就完成了,接下来可以跑一下服务器,不过要记得打开mysql,选择run on server。在弹出来的窗口里按如下输入(你的数据库中得有这个用户),若返回则表示成功。



   第四步:创建app

待续。



0 1
原创粉丝点击