最近因为项目需要写一个数据库的展示系统,之前没有接触过java web 的开发也是bijaio头疼。经过一周的辗转终于勉强完成了一个简单的原型系统,话不多说,上干货。(Eclipse!)
一:没有使用过java web的,第一步要在你的eclipse里面下载web插件。
(1)在eclipse导航栏找到Help——>Install new software
(2)查看你的eclipse版本:找到eclipse安装路径下reademe文件夹下的HTML文件打开, 查看版本号
这里我用的是oxygen版本,大家根据自己的版本号到网上搜查自己对应要下载的版本
(3)在地址栏如下输入
稍等一会会自动跳出(拉到最下面选择web、XML、java EE、and OSGI Enterprise Development)
可以全选或者根据需要选择其中几个(我当时是选择所有下载但是出现问题,最后只选择了几个需要的,大家可以去 查找正常web开发需要的那几个)可能还会有人没有这个选项卡,Emmm自行百度吧,我没遇到。
(4)然后就是等待下载了,但是我在这个地方卡住了很久,希望读者不要像我一样,如果遇到,站内大佬们也给出了很多解答。下载成功的就可以根据向导的默认来安装。
二:配置Tomcat
这里我选择的是Tomcat9。配置方法站内大佬们也都有很多文章来帮助大家,读者可以自行查找配置。
三:新建Dynamic Web Project
File——> new——>other——>Web——>Dynamic Web Project
输入项目名称,注意Target runtime 在下拉框选择刚刚安装好的Tomcat9。一路next下去,如果有需要的可以根据提示更改。
注意:这个Generate web.xml选项一定要勾上!!
大家可以先展开项目,看看里面的结构。 正常会使用到的就是在java resources下的某个包中新建class、Servlet等后台文件。
其次就是在WebContent下新建前端jsp、js等文件。
四:配置JDBC,连接数据库(SQL server)
因为项目用的是SQL server,因此我使用的是连接SQL server的jdbc,大家根据需要自行下载并配置jdbc。
前提是先将自己的SQL server数据库配置好啊!!
可以用SSMS来管理自己的SQL。
记得要在SQL 中新建一个t_user表来存储注册的用户信息啊!!
五:下面就是大家最想要的代码啦!!
(1)DbUtil.java:获取数据库连接
import java.sql.Connection;
import java.sql.DriverManager;
public class DbUtil{
//这里更换成自己的数据库和用户密码
private String dbUrl="jdbc:sqlserver://localhost:1433;DatabaseName=aaa";
private String dbUserName="zxc";
private String dbPassword="zxc123456";
private String jdbcName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
//获取数据库
public Connection getCon() throws Exception{
Class.forName(jdbcName);
Connection con=DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
return con;
}
//关闭数据库
public void closeCon(Connection con) throws Exception{
if(con!=null) {
con.close();
}
}
public static void main (String[] args) {
DbUtil dbUtil=new DbUtil();
try {
dbUtil.getCon();
System.out.println("数据库连接成功");
}catch(Exception e) {
e.printStackTrace();
}
}
}
(2)Operation.java:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
* 对数据库进行操作的后台程序
*/
public class Operation{
public user login(Connection con,user user) throws Exception{
user resultUser=null;
String sql="select *from dbo.t_user where userName=? and password=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, user.getUserName());
pstmt.setString(2, user.getPassword());
ResultSet rs=pstmt.executeQuery();
if(rs.next()) {
resultUser=new user();
resultUser.setUserName(rs.getString("userName"));
resultUser.setPassword(rs.getString("password"));
rs.close();
}
return resultUser;
}
public boolean register(Connection con,user user) throws Exception{
boolean flag=false;
PreparedStatement pstmt=null;
String sql="INSERT INTO dbo.t_user(userName,password)VALUES(?,?)";
pstmt=con.prepareStatement(sql);
pstmt.setString(1, user.getUserName());
pstmt.setString(2, user.getPassword());
if(pstmt.executeUpdate()>0) {
flag=true;
}
return flag;
}
}
(3)LoginServlet.java:
import java.io.IOException;
import java.sql.Connection;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req,HttpServletResponse resp) throws
ServletException,IOException{
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req,HttpServletResponse resp) throws
ServletException,IOException{
/**
* 接受前台的值 账号和密码
*/
String userName=req.getParameter("userName");
String password=req.getParameter("password");
DbUtil db=new DbUtil();
user user1=new user(userName,password);
Operation dao=new Operation();
try {
//数据连接
Connection con=db.getCon();
if(dao.login(con,user1)!=null) {
resp.sendRedirect("Home.jsp");
}
else {
resp.sendRedirect("register.jsp");
}
}catch (Exception e) {
e.printStackTrace();
}
}
}
(4)RegisterServlet.java:
import java.io.IOException;
import java.sql.Connection;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/RegisterServlet")
public class RegisterServlet extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req,HttpServletResponse resp)throws
ServletException,IOException{
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req,HttpServletResponse resp) throws
ServletException,IOException{
//接受前台传来的值 账号和密码
String userName=req.getParameter("username");
String password=req.getParameter("password1");
DbUtil db=new DbUtil();
user user=new user(userName,password);
Operation dao=new Operation();
try {
Connection con=db.getCon();
if(dao.register(con, user)) {
resp.sendRedirect("login.jsp");
}
else {
resp.sendRedirect("register.jsp");
}
}catch (Exception e) {
e.printStackTrace();
}
}
}
(5)user.java:读取用户
public class user {
public String userName;
public String passWord;
public user() {}
public user(String userName,String password) {
this.userName=userName;
this.passWord=password;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName=userName;
}
public String getPassword() {
return passWord;
}
public void setPassword(String password) {
this.passWord=password;
}
}
(6)login.jsp:
<%@ page language="java" contentType="text/html; charset=utf-8"
%>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>装备保障原型系统</title>
<link href="static/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="./">装备保障原型系统</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li><a href="login.jsp">登录</a></li>
</ul>
</div>
</div>
</nav>
<div class="container">
<div class="row">
<div class="col-md-4">
</div>
<div class="col-md-4">
<form class="form-signin" method="post" action="LoginServlet">
<div style="width:100%;text-align:center">
<h2 class="form-signin-heading" >欢迎登录! </h2>
</div>
<label for="">用户名</label>
<input type="text" name="userName" id="userName" class="form-control" placeholder="请输入用户名" required autofocus><br>
<label for="">密码</label>
<input type="password" name="password" id="password" class="form-control" placeholder="请输入密码" required>
<div class="checkbox">
<label>
<input type="checkbox" value="remember-me" checked="checked"> 记住密码
</label>
</div>
<button type="submit" class="btn btn-primary" id="btn-login">登录</button>
<a href="register.jsp" class="btn btn-default">注册</a>
</form>
</div>
<div class="col-md-4">
</div>
</div>
</div>
</body>
</html>
(7)register.jsp:
<%@ page contentType="text/html; charset=utf-8" language="java"%>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>注册</title>
<link href="static/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="./">装备保障原型系统</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li><a href="login.jsp">登录</a></li>
</ul>
</div>
</div>
</nav>
<div class="container">
<div class="row">
<div class="col-md-4">
</div>
<div class="col-md-4">
<form class="form-signin" action="RegisterServlet" method="post">
<div style="width:100%;text-align:center">
<h2 class="form-signin-heading">欢迎注册!</h2>
</div>
<div id="info">
</div>
<label for="">用户名</label>
<input type="text" name="username" id="username" class="form-control" placeholder="请输入用户名" required autofocus><br>
<label for="">密码</label>
<input type="password" name="password1" id="password1" class="form-control" placeholder="请输入密码" required><br>
<label for="">重复密码</label>
<input type="password" name="password2" id="password2" class="form-control" placeholder="请再次输入密码" required maxLength="16"><br>
<button type="submit" class="btn btn-primary" id="btn-reg" onclick=submit()>注册</button>
<a href="login.jsp" class="btn btn-default" id="btn-reg">返回登录</a>
</form>
</div>
<div class="col-md-4">
</div>
</div>
</div>
</body>
</html>
(8)home.jsp:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>装备保障原型系统</title>
</head>
<body>
<form class="form-signin" method="post" action="LoginServlet">
<div style="width:100%;text-align:center">
<h2 class="form-signin-heading" >装备保障原型系统</h2>
</div>
</form>
</body>
</html>
(9)jsp代码中使用了一些bootstrap来修饰页面,使用前需要先将bootstrap下载并导入项目,同时需要将JQuery包一并导入进去。
下面给大家看一下项目结构:(static文件夹自己新建,大家可以根据这两个文件名去网上下载,然后把这两个包导入)
六:执行结果图
(1)
(2)
新手上车,互进互勉!