栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java-Web项目的创建和一些说明

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java-Web项目的创建和一些说明

开发工具: IntelliJ IDEA 2021.1.1

开发环境:JDK 1.8

技术选型:servlet+jsp+mysql

帮助开发过程的技术:jstl JSP标签库 maven jar包管理 lombok简化代码

数据库创建
CREATE DATABASE shop CHARACTER SET utf8mb4;

CREATE TABLE client_TB(
clientId INT,clientName VARCHAr(20),birthday DATE,sex VARCHAr(2),
PRIMARY KEY (clientId) ,
CHECK (sex IN('男','女')));

CREATE TABLE product(
productId INT ,productName VARCHAr(20),price FLOAT,stock INT ,
PRIMARY KEY(productId)
);

CREATE TABLE order_TB(
orderId INT ,clientId INT,orderDate DATE,papyment FLOAT, stats VARCHAr(5),
PRIMARY KEY (orderId)
);

CREATE TABLE orderProduct(
orderId INT , productId INT,quantity INT,
PRIMARY KEY (orderId,productId)
);
物理外键:

是指在数据上使用FOREIGN KE 来约束数据

逻辑外键:

在Service层使用逻辑来到到外键的约束效果

本次项目使用的逻辑外键:因为物理外键在实际工作中分布式数据库或者分库分表时候十分不方便,会很麻烦,所以使用逻辑外键,易于维护数据库中的数据

1:创建Maven项目 File→ New Project → 选择Maven项目 →勾选javawebapp骨架

2:导入向pom.xml文件导入这次项目需要的技术的坐标


        
            javax.servlet
            servlet-api
            2.5
            provided
        

        
            mysql
            mysql-connector-java
            8.0.16
        

        
            org.projectlombok
            lombok
            1.18.20
        

        
            javax.servlet
            jstl
            1.2
        



    

3: 使用IDEA自带的Tomcat进行测试刚刚创建的项目

TIPS:在每一次的开发过程,时刻记得进行回头测试一下

IDEA右上角Add Configuration→弹窗左上角+→选择Tomcat Service→Local

打包好的项目是需要进行在服务器上运行的,所以之后的工程运行都会被自动打包到本地下载的Tomcat服务器上运行

进行关键的配置与说明:

Server

Configure…:选择本地下载的Tomcat路径

  • 最好是下载/选择8版本的

    1. 由于技术的更新 Tomcat在9版本以后不是javax.servlet-api而是jakarta.servlet-api之后的使用会带来路径的很大麻烦,有些需要用到servlet技术但是没有更新到最新jakarta.servlet,然后你的工程就会很多爆红!

    2. 8.0.x版本多人用而且稳定:不求最新只求最稳

URL:启动工程时候在浏览器上输入的对应URL就会看到你的工程

http://localhost:80/此处可以修改成你喜欢的名字/

JRE: 使用对应的环境变量下的JRE因为Tomcat的本地文件会调用你电脑上的JRE环境变量

HTTP port:服务器运行时占用的端口

  • 关于端口有时候被占用的情况

  • 1:通过windows命令行netstat -ano|findstr 端口号

  • 2: 返回第一行找到PID

  • 3:通过命令或者任务管理器结束PID进程

配置完成→运行→在浏览器输入URL→默认弹出的是webapp目录下的index.jsp

4:逻辑架构的包的创建

Deployment

+号:添加新打包的工程

+号→Artifact… :打包工程名字选择

-号:移除已经添加的打包工程

1: cn.edu.bnuz.oreder_system这是一个域名反过来写,放置启动时与真正的url进行冲突

2: controller层:页面跳转的控制层本次项目存放servlet文件的包

3: dao层:DAO(Date Access Object) JDBC与数据库交互

4: service层:数据的逻辑处理

5: utils包: 一些工具类的实现:例如JdbcUtil.class : 简化jdbc的连接与释放

6: entity包: 存放本次项目的Client、Product、Order对象

7: resources包:配置文件的存放:例如本次数据库连接的配置文件

8: webapp:前端页面的存放

9: WEB-INF:web.xml存放(不可改)

10: target : 项目打包后的存放

数据data在java-web项目的过程:

data→view→controller→service→dao→ DataBase→file

jsp1→servlet: 此处有jsp1.jsp 而且在web.xml上设置某个xxxServlet映射路径为/servlet

demo_web/jsp1.jsp → demo_web/servlet

jsp页面跳转:

不传值:

<%--使用了el表达式--%>
${pageContext.request.contextPath}/servlet


传值(?之后的所有值之间不能有空格):

<%--使用了el表达式--%>
${pageContext.request.contextPath}/servlet?key1=value1[&key2=value2.....]

jsp1→servlet从jsp1获取值→jsp2:

servlet获取值

request.getParameter("参数名");  根据参数名获取参数值(注意,只能获取一个值的参数)

request.getxxxx还有很多需要进一步学习!!!

servlet传递值

type value=xxx;
type2 value2=xxx;
request.setAttribure("key",value)
request.setAttribure("key2",value2)

servlet 页面跳转

//转发
request.getRequestDispatcher("xx.jsp").forward(request,response)
//重定向
respond.sendRedirect(req.getContextPath()+"/servlet");

request.getRequestDispatcher()和response.sendRedirect()区别
google!!!

github源码
https://github.com/zslkdjaw/study_notes/tree/servlet-jsp-mysql-orderSystem

基于数据库的订单系统设计模式应用开发

代码实现

总结

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/884805.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号