首先这个仿自兼职地带,只写了部分功能并且不作任何商业用途。
转载请注明出处:http://blog.csdn.net/qq_31288799/article/details/51382804
本文适合有一定开发经验的读者。
东西虽然很简单,但是毕竟算是前后端一起做,工作量还是不算小。这也是帮人家写的毕业项目,算是顺便练练手吧。
这里只说明登录是怎么实现的,感兴趣的朋友可以加q:446558196
废话不多说,先看效果图:
好了,一些主要的界面效果就是这样了,不要喷界面、细节和icon。。。我不是美工
第一步:配置环境及开发工具
这里就不解释怎么配了,说明一下需要什么(自行百度):mysql数据库(我用的navicat),tomcat,eclipse(javaEE版),android ide(这里我用的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
待续。