从本课开始,我们跟着项目一起来敲代码。通过项目来学习Java和Java web

1 开始

java电商上架_java电商上架

首先了解要做什么项目,这里选择B2C电商。

需求分析很重要,所以要了解甲方业务流程。

之后配置开发环境,选择开发工具。

然后就是搭建开发环境,安装软件,这一步我们已经完成,除了数据库没安装。

最后,学习SQL数据库相关知识。

说白了,就是做一个在线版的数据库管理软件。

最后,了解一下测试,有功能测试和压力测试。

下面是需求分析图

java电商上架_java电商上架_02

2 E-R图

E-R图就是实体-关系图,可以不会画,但得能看懂,计算机专业的都会。

  • 长方形---实体
  • 椭圆形--属性
  • 菱形---关系

定义:

  • 实体:数据模型中的数据对象
  • 属性:实体所具有的属性。
  • 关系:用来表示数据对象与数据对象之间的关系。

下面是一个实例:

java电商上架_java_03

有三种关系

  • 1对1
  • 1对多
  • 多对多

3 涉及的技术

(1)survlet就是java在服务器端的小程序。动态的生成web内容。

(2)jsp是java server page是一种动态网页技术,类似于asp技术。

(3)jsp和servlet一样在服务器端执行。jsp本质是servlet。

(4)el表达式express lenguiage,让开发更方便。

(5)jstl,jsp的标准标签库 standard tag library,通过jstl和el取代在页面嵌入java程序,可提高可读性,维护性,更方便。

(6)html是超文本标记语言,jquery,js都是前端脚本,bootstrap,my97date插件

4 开发环境

用eclipse,jdk,mysql,navicat就用前几节课配置的。

5 Tomcat服务器

java电商上架_java电商上架_04

5 安装MySQL

我安装的是5.5.47版

java电商上架_eclipse_05

安装在C:\Programs\MySQL目录下,选择next继续即可,安装完后开始配置,选择develop模式

java电商上架_java_06

之后选择多功能数据库

java电商上架_mysql_07

之后选择innoDb安装路径,默认就行

java电商上架_java_08

之后选择并发链接数,我们随便给个10个就行

java电商上架_java_09

之后选择tcpip的端口号,并勾选严格遵循,且不需要防火墙,这是默认的。

java电商上架_java_10

之后选择字符集,选择第3个,并改为utf-8

java电商上架_java电商上架_11

之后注册为windows服务,然后在将环境变量path设置上。

java电商上架_xml_12

之后设置root用户,就是管理员,在设置个密码,不勾选可远程登录。

java电商上架_eclipse_13

之后就是等待 直接点击execute

java电商上架_mysql_14

然后就成功了,按finish

java电商上架_java电商上架_15

之后验证一下,win+r打开services.msc,有这个服务且是打开的就行。

java电商上架_xml_16

如果要停止服务,在cmd下输入

net stop mysql

就可以。

登录,显示所有数据库,退出mysql

mysql -uroot -p****
show databases;
exit;

就可以。真是去年学的都忘得差不多了。

在wamp里,mysql可以通过phpadmin打开网页来操作。实际只需要用navicat就可以。

navicat是个绿色软件 ,不需要安装。

6 需求分析

java电商上架_xml_17

java电商上架_java_18

java电商上架_java_19

java电商上架_eclipse_20

java电商上架_mysql_21

根据需求来做数据库建模,也就是数据库设计

java电商上架_java电商上架_22

java电商上架_mysql_23

java电商上架_xml_24

java电商上架_java电商上架_25

java电商上架_xml_26

java电商上架_xml_27

java电商上架_eclipse_28

java电商上架_eclipse_29

java电商上架_mysql_30

java电商上架_mysql_31

java电商上架_mysql_32

7 数据库建模

第1步,启动mysql服务。

第2步,打开navicat,新建root连接。

第3部,新建数据库

java电商上架_java电商上架_33

第4步 用图形界面 新建表结构

先创建t_user

java电商上架_xml_34

再创建t_order设置外键

java电商上架_xml_35

后面各个表格一一创建即可。

建好表以后,可以逆向看数据模型

java电商上架_java电商上架_36

数据表全部设计完,可以保存导出为sql文件,方便以后使用。

8 创建项目

打开eclipse,创建dynamic web project

命名,next

java电商上架_mysql_37

next,勾选gener...next

java电商上架_java电商上架_38

弹出询问this kind of project assoiciated with the java ee perspective... 选择no

java电商上架_eclipse_39

默认没有server runtim 需要在项目biuld path添加,之后是这样子

java电商上架_mysql_40

里面已经自动生成了xml文件

java电商上架_eclipse_41

里面含有配置信息,很重要。删除红框里的内容

java电商上架_java_42

改为:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>ebuys_stu</display-name>
<servlet>
	<servlet-name>index</servlet-name>
	<servlet-class>com.xxx.controller.InitController</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>index</servlet-name>
	<url-pattern>/index</url-pattern>
</servlet-mapping>
</web-app>

之后添加类库

java电商上架_mysql_43

java电商上架_mysql_44

导入jar包,这些jar包从哪里搞的?

据说是maven central拉取的,反正我搞不了,网上找半天,找齐了。

java电商上架_java电商上架_45

9 创建java包

java电商上架_eclipse_46

再里面创建实体类

java电商上架_mysql_47

编辑类的内容

package com.xxx.vo;
/**
 * 创建标签实体类
 * @author Joe
 *
 */
public class Tag {
	private int id;
	private String name;
	private String url;
	
	public Tag() {
		
	}
	
	public Tag(int id, String name, String url) {
		super();
		this.id = id;
		this.name = name;
		this.url = url;
	}
	
}

 在写类的时候,快捷键很有用:

写注释: ctrl+/

空构造器---用来new对象:alt+/

有参构造器    alt+shift+s ----- o

get set 方法 alt+shift+s --- r

toString 方法 alt+shift+s --- s

package com.xxx.vo;
/**
 * 创建标签实体类
 * @author Joe
 *
 */
public class Tag {
	private int id;
	private String name;
	private String url;

	public Tag() {
		// TODO Auto-generated constructor stub
	}


	public Tag(int id, String name, String url) {
		super();
		this.id = id;
		this.name = name;
		this.url = url;
	}


	public int getId() {
		return id;
	}


	public void setId(int id) {
		this.id = id;
	}


	public String getName() {
		return name;
	}


	public void setName(String name) {
		this.name = name;
	}


	public String getUrl() {
		return url;
	}


	public void setUrl(String url) {
		this.url = url;
	}


	@Override
	public String toString() {
		return "Tag [id=" + id + ", name=" + name + ", url=" + url + "]";
	}
	

	
}

在新建大分类 小分类

package com.xxx.vo;

import java.util.ArrayList;
import java.util.List;

/**
 * 大类
 * @author Joe
 *
 */
public class ProductBigType {
	private Integer id;
	private String name;
	private String remarks;
	private List<ProductSmallType> smallTypeList = new ArrayList<ProductSmallType>();
	public ProductBigType() {
		// TODO Auto-generated constructor stub
	}
	
}

其中,引入List和ArrayList时会有红色波浪线,按照提示,引入java.util即可。

这里比较重要的就是按照业务逻辑增加了大类中的小类列表,这个在数据模型图是没有的,但根据业务关系而添加的。

再次熟悉下快捷键:

空构造器---用来new对象:alt+/

有参构造器    alt+shift+s ----- o

get set 方法 alt+shift+s --- r

toString 方法 alt+shift+s --- s