用Eclipse创建第一个JavaWeb工程
今天小掰学习了用eclipse创建了第一个JavaWeb工程并做了一个登录的小demo。
首先需要准备得数据库连接池的配置文件和Druid,Dbutil和mysql的jar包以及准备一个数据库表
jar包需要导入到工程的WebContent->WEB-INF->lib下
先看一下工程的目录
接下来开始创建JavaWeb工程,首先File->new->Dynamic Web Project
创建好工程后,我们需要在Java Resources->src->右键new->servlet 创建Servlet.java文件
package pig;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import com.alibaba.druid.pool.DruidDataSourceFactory;
@WebServlet("/TestServlet")
public class TestServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置请求的编码方式
request.setCharacterEncoding("utf-8");
//设置响应的编码方式
// response.setCharacterEncoding("utf-8");
response.setHeader("content-type", "text/html;charset=UTF-8");
//获取用户传过来的值
String name=request.getParameter("name");
String pwd=request.getParameter("pwd");
//查看服务器的webContent目录
String filePath=request.getServletContext().getRealPath("\\WEB-INF\\classes\\pig\\config.propertie");
System.out.println(filePath);
//创建属性类
Properties properties=new Properties();
//加载属性文件、
properties.load(new FileReader(filePath));
//获取数据库连接池对象
try {
DataSource ds=DruidDataSourceFactory.createDataSource(properties);
QueryRunner query=new QueryRunner(ds);
Long i = query.query("select count(1) from student where sname=? and spwd=?", new ScalarHandler<Long>(),name,pwd);
if (i>0) {
System.out.println("okkkkkkkkkk");
response.getWriter().write("登录");
}else {
System.out.println("nnnnnnnnno");
response.getWriter().write("nnnnnnnnno");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置请求的编码方式
request.setCharacterEncoding("utf-8");
//设置响应的编码方式
response.setCharacterEncoding("utf-8");
response.setHeader("content-type", "text/html;charset=UTF-8");
//获取用户传过来的值
String name=request.getParameter("name");
String pwd=request.getParameter("pwd");
//查看服务器的webContent目录
String filePath=request.getServletContext().getRealPath("\\WEB-INF\\classes\\pig\\config.propertie");
System.out.println(filePath);
//创建属性类
Properties properties=new Properties();
//加载属性文件、
properties.load(new FileReader(filePath));
//获取数据库连接池对象
try {
DataSource ds=DruidDataSourceFactory.createDataSource(properties);
QueryRunner query=new QueryRunner(ds);
Long i = query.query("select count(1) from student where name=? and pwd=?", new ScalarHandler<Long>(),name,pwd);
if (i>0) {
System.out.println("okkkkkkkkkk");
response.getWriter().write("okkkkkkkkkk!!!");
}else {
System.out.println("nnnnnnnnno");
response.getWriter().write("nnnnnnnnno!!!!");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
然后新建html文件,WebContent右键->new->HTML File
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- action如果/开头 代表的是服务器的根目录 http://localhost:8080/ -->
<!-- action如果不是/开头 代表的是工程的根目录 http://localhost:8080/javaee3/ -->
<h1>hello,hello pig!!!</h1>
<form action="TestServlet" method="get">
<table>
<tr>
<td>用户名</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>密码</td>
<td><input type="password" name="pwd"></td>
</tr>
<tr>
<td></td>
<td><input type="submit"></td>
</tr>
</table>
</form>
</body>
</html>
数据库连接池所需的配置内容
driverClassName=com.mysql.jdbc.Driver
//jdbc:mysql://IP地址或localhost:3306/数据库?存入数据库数据的编码格式
url=jdbc:mysql://120.25.151.84:3306/Test?useSSL=false&useUnicode=true&characterEncoding=utf-8
username=root
password=123456
此时想要运行报错,我们需要把工程部署到Tomcat下,window->show view->Servers,打开一个Servers窗口,点击链接打开一个页面选择Tomcat v9.0 Server后点击Finish。
设置使用外部浏览器打开HTML页面,这里选择的是火狐
然后在index.html页面右键选择Run As->Run on Server运行,此时会在浏览器打开一个页面
此时工程完成了!!!
demo网址:http://120.25.151.84:8080/javaee3/index.html