Android+Servlet+MySQL实现仿兼职地带app
来源:互联网 发布:网络信息时代 编辑:程序博客网 时间:2024/05/16 01:43
首先这个仿自兼职地带,只写了部分功能并且不作任何商业用途。
OK,到这里登录功能服务器端就完成了,接下来可以跑一下服务器,不过要记得打开mysql,选择run on server。在弹出来的窗口里按如下输入(你的数据库中得有这个用户),若返回则表示成功。
本文适合有一定开发经验的读者。
东西虽然很简单,但是毕竟算是前后端一起做,工作量还是不算小。这也是帮人家写的毕业项目,算是顺便练练手吧。
这里只说明登录是怎么实现的,感兴趣的朋友可以加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
- Android+Servlet+MySQL实现仿兼职地带app
- 基于Android平台的大学生兼职系统(仿赶集网APP)
- [Android]仿即时通信App界面的实现
- 仿主流APP功能实现
- 【Android】最新主流新闻app功能实现。仿网易,搜狐等新闻客户端实现展示
- 正想做android的兼职
- Android数字动态显示,仿支付宝app效果简单的实现。字数从0-x!!!
- Android 使用Toolbar+DrawerLayout快速实现仿“知乎APP”侧滑导航效果
- Android数字动态显示,仿支付宝app效果简单的实现。字数从0-x!!!
- Mysql+servlet实现分页
- android 仿淘点点app客户端
- android开发之高仿中国建设银行App
- Android仿射密码加密app
- Android仿射密码破译app
- Android 仿支付宝设置app语言
- Android仿即刻APP点赞桃心的效果
- Android 高仿74款APP
- android开发之高仿中国建设银行App
- linux dup/dup2
- Swift设计模式之访问者模式
- vs 获取当前程序文件的路径方法
- hdu2188——悼念512汶川大地震遇难同胞——选拔志愿者(巴什博奕)
- error: could not create '/Library/Python/2.7/site-packages/jedi': Permission denied
- Android+Servlet+MySQL实现仿兼职地带app
- Struts2处理流程性需求的一种解决方案
- 摄像头采集QT5显示和分辨率适配
- Swift设计模式之迭代器模式
- Jetty实战之 嵌入式Jetty运行Servlet
- linux shell 提取变量 变量传参
- java多线程(一)线程状态与创建线程
- Swift设计模式之单例模式
- linux中Framebuffer的原理及实现机制