Java小项目-简单Web登录注册界面

为了完成一个作业弄的。

Java+servlet+Mysql

本次项目的原型作者是“WANGZIC”

这是它原项目的下载链接

原代码有一些问题,本项目作出了一些改动,值得一提的是漏洞很多,仅供新手学习和娱乐哟!

环境准备

eclipse2019,Tomcat9,Mysql(为了方便直接用的phpstudy),java1.8

参考配置

phpstudy安装配置 懂的朋友可以直接安装mysql,这里为了小白方便操作,选择的phpstudy
eclipse下载安装 ps:有些eclipse可能没有安装web插件,在帮助->安装新软件里面搜索web然后安装即可。
eclipse开发web配置

这个只需要做到第二步就可以了

注意

这里有个小问题,需要做预处理

java 小项目包 javaweb经典小项目_java 小项目包

如果第二个箭头那里有东西的,右键,点击除去,没有的直接做第二步
左键双击,点击第一个箭头指向的地方 Use Tomcat installation…然后ctrl+s报存
下面开始正式部署项目,加油!离使用已经很近了!

部署项目

数据库创建

创建前要点击启动按钮启动哦!

1.单击MySql管理工具,再点击MySql-Front

java 小项目包 javaweb经典小项目_java_02

弹出这个界面,点击打开

java 小项目包 javaweb经典小项目_数据库_03

下面可能有点复杂,不懂的请务必按照指示做,注意标记的几个东西

java 小项目包 javaweb经典小项目_eclipse_04

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

java 小项目包 javaweb经典小项目_java 小项目包_05

>点击Next>点击Browse..选择刚下载的项目
 >勾选下面Options中的Copy projects into workspace 然后点击Finish(项目导入后会有小红叉,先不用管)

java 小项目包 javaweb经典小项目_数据库_06

>右键导入的项目选择Build path>configure build path
>选择Libraries

java 小项目包 javaweb经典小项目_数据库_07


>选中JRE System Library 然后点击右边的 Remove

>然后点击Add Library…>选择JRE System Library >点击Next >点击 Finish

>选中Apache Tomcat 然后点击右边的 Remove

>然后点击Add Library…>选择Server Runtime >点击Next >选中你自己的tomcat >点击 Finish

java 小项目包 javaweb经典小项目_eclipse_08

我这是中文版,大家英文版的也没错哈。

2.更改UserDao.java文件中JDBC连接信息

将数据库驱动名更改位自己所用的数据库的驱动名,本项目只提供Mysql的驱动包。

(若连接其他数据库请自行下载数据库驱动jar包)

更改数据库连接的用户和密码为自己数据库的用户和密码

java 小项目包 javaweb经典小项目_eclipse_09

如果是按照本文的配置,基本不需要改

java 小项目包 javaweb经典小项目_eclipse_10

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版本哦!

java 小项目包 javaweb经典小项目_eclipse_11

一些知识补充

Servlet

参考理解

简介

servlet是运行在服务器上的一个小程序,用来处理服务器请求的 ,B/S模型(浏览器-服务器模型).而servlet就是对请求作出处理的组件,运行于支持Java的应用服务器中 , 起到对数据进行操作的作用

开发流程
  • 编写一个java类,继承HttpServlet类
  • 重写HttpServlet类的doGet方法和doPost方法
  • 配置web.xml文件,或者使用注解对servlet进行配置
  1. 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>
  1. 注解(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、关闭数据库,在实际开发中数据库资源非常有限,操作完之后必须关闭

具体使用参考上面链接哦!