Java小项目-简单Web登录注册界面
为了完成一个作业弄的。
Java+servlet+Mysql
本次项目的原型作者是“WANGZIC”
原代码有一些问题,本项目作出了一些改动,值得一提的是漏洞很多,仅供新手学习和娱乐哟!
环境准备
eclipse2019,Tomcat9,Mysql(为了方便直接用的phpstudy),java1.8
参考配置
phpstudy安装配置 懂的朋友可以直接安装mysql,这里为了小白方便操作,选择的phpstudy
eclipse下载安装 ps:有些eclipse可能没有安装web插件,在帮助->安装新软件里面搜索web然后安装即可。
eclipse开发web配置
这个只需要做到第二步就可以了
注意
这里有个小问题,需要做预处理
如果第二个箭头那里有东西的,右键,点击除去,没有的直接做第二步
左键双击,点击第一个箭头指向的地方 Use Tomcat installation…然后ctrl+s报存
下面开始正式部署项目,加油!离使用已经很近了!
部署项目
数据库创建
创建前要点击启动按钮启动哦!
1.单击MySql管理工具,再点击MySql-Front
弹出这个界面,点击打开
下面可能有点复杂,不懂的请务必按照指示做,注意标记的几个东西
2.首先点击SQL编辑器,输入create database users
这个代码,然后再点击工具栏上标记的那个蓝色方块按钮,执行成功后左边目录会多出一个users,如果没有就点击一下目录上面的刷新按钮。
然后,在SQL编辑器界面下,继续输入代码,就像图中一样,代码如下,可以粘贴
use users
CREATE TABLE `user` (
`USERID` int(11) NOT NULL AUTO_INCREMENT,
`USERNAME` varchar(255) NOT NULL,
`PASSWORD` varchar(255) DEFAULT NULL,
`NICKNAME` varchar(255) DEFAULT NULL,
`GENDER` varchar(255) DEFAULT NULL,
`PHONE` varchar(255) DEFAULT NULL,
`EMAIL` varchar(255) DEFAULT NULL,
`ADDRESS` varchar(255) DEFAULT NULL,
PRIMARY KEY (`USERID`,`USERNAME`)
) ENGINE=InnoDB AUTO_INCREMENT=100000 DEFAULT CHARSET=utf8;
最后鼠标左键按住不动选中这块代码,再点击工具栏的那个按键,这时左边users下方会出现user,
如果没出现,点击刷新
至此,数据库建立完成,以后注册的用户的一些信息都在这里
eclipse部署
1.项目导入到Eclipse
下载完项目后解压,然后打开eclipse,
>右键eclipse右侧项目目录空白处,点击import
>选择 General>Existing projects into Workspace
>点击Next>点击Browse..选择刚下载的项目
>勾选下面Options中的Copy projects into workspace 然后点击Finish(项目导入后会有小红叉,先不用管)
>右键导入的项目选择Build path>configure build path
>选择Libraries
>选中JRE System Library 然后点击右边的 Remove
>然后点击Add Library…>选择JRE System Library >点击Next >点击 Finish
>选中Apache Tomcat 然后点击右边的 Remove
>然后点击Add Library…>选择Server Runtime >点击Next >选中你自己的tomcat >点击 Finish
我这是中文版,大家英文版的也没错哈。
2.更改UserDao.java文件中JDBC连接信息
将数据库驱动名更改位自己所用的数据库的驱动名,本项目只提供Mysql的驱动包。
(若连接其他数据库请自行下载数据库驱动jar包)
更改数据库连接的用户和密码为自己数据库的用户和密码
如果是按照本文的配置,基本不需要改
3.新建用户表 (数据库操作)
建表语句:
CREATE TABLE `user` (
`USERID` int(11) NOT NULL AUTO_INCREMENT,
`USERNAME` varchar(255) NOT NULL,
`PASSWORD` varchar(255) DEFAULT NULL,
`NICKNAME` varchar(255) DEFAULT NULL,
`GENDER` varchar(255) DEFAULT NULL,
`PHONE` varchar(255) DEFAULT NULL,
`EMAIL` varchar(255) DEFAULT NULL,
`ADDRESS` varchar(255) DEFAULT NULL,
PRIMARY KEY (`USERID`,`USERNAME`)
) ENGINE=InnoDB AUTO_INCREMENT=100000 DEFAULT CHARSET=utf8;
到此,项目已可以尝试运行了!
注意
这里注意到项目上面还是有个小红叉,下面介绍解决办法
到项目的目录setting下,修改这个文件,如图将7.0改为自己Tomcat的版本,同时还要把下面的“1.7”改成自己的java版本哦!
一些知识补充
Servlet
简介
servlet是运行在服务器上的一个小程序,用来处理服务器请求的 ,B/S模型(浏览器-服务器模型).而servlet就是对请求作出处理的组件,运行于支持Java的应用服务器中 , 起到对数据进行操作的作用
开发流程
- 编写一个java类,继承HttpServlet类
- 重写HttpServlet类的doGet方法和doPost方法
- 配置web.xml文件,或者使用注解对servlet进行配置
- web.xml(一般在webapp目录下)
<webapp>
<!-- 配置一个servlet -->
<!-- servlet的配置 -->
<servlet>
<!-- servlet的内部名称,自定义。尽量有意义 -->
<servlet-name>MyServlet</servlet-name>
<!-- servlet的类全名: 包名+简单类名 -->
<servlet-class>cn.roobtyan.servlet.FirstServlet</servlet-class>
</servlet>
<!-- servlet的映射配置 -->
<servlet-mapping>
<!-- servlet的内部名称,一定要和上面的内部名称保持一致!! -->
<servlet-name>MyServlet</servlet-name>
<!-- servlet的映射路径(访问servlet的名称) -->
<url-pattern>/first</url-pattern>
</servlet-mapping>
</webapp>
- 注解(servlet3.0以上)
方法是在对应的Servlet类上使用@WebServlet注解进行标记 @WebServlet中有两个属性可以用来表示Servlet的访问路径,分别是value和urlPatterns。value和urlPatterns都是数组形式,表示我们可以把一个Servlet映射到多个访问路径,但是value和urlPatterns不能同时使用。举个例子(这是下面的一部分代码)
package com.wzc.login.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class LogoutServlet
* @author WANGZIC
*/
@WebServlet("/LogoutServlet")
public class LogoutServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LogoutServlet() {
super();
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getSession().removeAttribute("user");
response.sendRedirect(request.getContextPath()+"login.jsp");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
JDBC
简介
Java Database Connecive, Java 数据库连接,是一组专门负责连接并操作数据库的标准,在整个JDBC 中实际上大量的提供的是接口
使用
在进行JDBC 操作的时候可以按照以下的步骤完成:
1、加载数据库驱动程序,加载的时候需要将驱动程序配置到classpath之中
2、连接数据库,通过Connection 接口和 DriverManager 类完成
3、操作数据库,通过Statement、PreparedStatement、ResultSet 三个接口完成
4、关闭数据库,在实际开发中数据库资源非常有限,操作完之后必须关闭
具体使用参考上面链接哦!