JDK
JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
环境变量配置:百度或者谷歌吧。
IDE
推荐IDEA,当然使用Eclipse的还是挺多的。
IDEA下载地址:
https://www.jetbrains.com/idea/
Eclipse下载地址:
http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/keplersr2
TOMCAT
Tomcat下载地址:http://tomcat.apache.org/
MySQL
MySQL下载地址:https://www.mysql.com/downloads/
安装时设置的账户密码要好记,比如(root,123456)
注册IDEA。
获得IDEA注册码或者使用破解版可参考 http://idea.lanyus.com || http://idea.iteblog.com好了,开始创建项目吧。
File->New Project->Java->勾选Web Application->Next
Project name就叫做HelloServlet吧,然后Finish。
我们发现web目录下面有个index.jsp文件,这个就是我们web项目的主页面了,需要配置上Tomcat才可以在浏览器上看到哦.-
配置Tomcat
如何在IntelliJ IDEA中快速配置Tomcat
按照上面教程配置完后,我们在浏览器看一下,直接点击绿色的运行按钮就行了。(我把tomcat的conf目录下的server.xml中的8080端口改成80了,所以不显示端口号了)
下面我们开始写代码了,创建一个数据库,新建一个User表,来做一个简单的登录功能。
首先要配置MySQL
IntelliJ IDEA手动配置连接MySQL数据库-
连接上MySQL后,我们来创建一个数据库并创建users表。
写完后直接点击左侧绿箭头执行,语句多了可以选中要执行的SQL然后再点。
插入一条数据:
INSERT users(name, pwd) VALUES ("xiaoming","123456");
- 在src下新建包,zzm.demo。
然后新建Java文件AccountBean
public class AccountBean {
private String username = "";
private String password = "";
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
新建Java文件DBHelper
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DBHelper {
public static final String url = "jdbc:mysql://127.0.0.1/TestDemo";
public static final String name = "com.mysql.jdbc.Driver";
public static final String user = "root";
public static final String password = "123456";
public Connection conn = null;
public Statement sql;
public DBHelper() {
try {
Class.forName(name);//指定连接类型
conn = DriverManager.getConnection(url, user, password);//获取连接
sql = conn.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
}
public void close() {
try {
this.conn.close();
this.sql.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
再新建Java文件HelloServlet
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
public class HelloServlet extends HttpServlet {
private String sql ;
private DBHelper db;
@Override
public void init() throws ServletException {
db = new DBHelper();
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session = req.getSession();
AccountBean account = new AccountBean();
String username = req.getParameter("username");
String userpwd = req.getParameter("userpwd");
if(username==null||userpwd==null){
return;
}
try {
//这里简写了,应该先查是否有该用户,再查该用户密码是否正确
sql = "SELECT *FROM users WHERE name=\""+username+"\" AND pwd=\""+userpwd+"\"";
ResultSet ret = db.sql.executeQuery(sql);
if(ret.next()){
account.setUsername(username);
account.setPassword(userpwd);
session.setAttribute("account", account);
String login_suc = "Success.jsp";
resp.sendRedirect(login_suc);
}
ret.close();
db.close();//关闭连接
return;
} catch (SQLException e) {
e.printStackTrace();
}
String login_fail = "Fail.jsp";
resp.sendRedirect(login_fail);
return;
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {
doGet(req,response);
}
}
修改index.jsp,添加登录输入框:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>HelloWeb</title>
</head>
<body>
<h1>登录</h1>
<form action="login">
username:<input type="text" name="username"><br>
password:<input type="password" name="userpwd"><br>
<input type="submit">
</form>
</body>
</html>
在web目录下新建Success.jsp和Fail.jsp
<%@ page import="zzm.demo.AccountBean" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<br>
登录成功</br>
<%
AccountBean account = (AccountBean) session.getAttribute("account");
%>
欢迎你:<%= account.getUsername()%>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
Login Failed! <br>
</body>
</html>
最重要的,不要忘了配置Servlet地址
在web目录下的WEB-INF目录下的web.xml文件中配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>zzm.demo.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
</web-app>
准备工作完成,我们来运行一下,选择Restart server重启服务。
输入我们插入的小明的账户和密码然后点击提交:
当然,如果不是小明的话或者小明忘了密码就会进入到失败页面哦,快来试试吧
运行的时候会报一个空指针的错误,是因为找不到com.mysql.jdbc.Driver这个驱动
解决办法,去http://www.mysql.com/downloads/connector/j
下载mysql-connector-java-5.1.41-bin.jar包,然后放在tomcat安装目录的lib文件夹下就行了。如何把我们开发的这个login接口提供给移动端来使用呢?
当你运行了项目,服务处在运行中,那么你的接口就可以在内网提供给别人使用了。
在终端输入ipconfig,获取自己的内网ip,比如我的是:
那么我提供的接口地址就是
http://10.200.1.109/login?username=xiaoming&userpwd=123456
(点了没反应,因为外网访问不了哦,如果想让外网访问,去买台服务器吧。
注:别人用的是这个地址,自己的电脑用localhost或者127.0.0.1)
这是个get请求,关于post的也差不多,移动端调用这个接口就可以进行登录啦。
关于Tomcat的服务器地址配置大家可自行百度谷歌。
结束语,这只是个小例子,大家参考一下就行啦。
参考链接:
http://blog.csdn.net/qq_27093465/article/details/51644825
http://www.cnblogs.com/shijiaoyun/p/5882281.html
http://www.cnblogs.com/GarfieldEr007/p/5746137.html
http://blog.csdn.net/huluedeai/article/details/50414494