Java EE

java web 之客户关系管理系统

我与影子孤独终老i 提交于 2020-08-08 17:03:05
这个周末真的是觉得自己学会了一个比较高大上的本领,为什么这么觉得呢?那是因为星期六的时候觉得自己可以看看源码能做出来,可是让我头疼的是花费了一上午的时间还是没有弄出来,还好上天给了我机会,要是没有老师上课的录屏,我想想破脑袋也没有办法完成这次的练习吧。所以今天花费了一天的时间从这个项目的初期开始看起,总算是弄出来了。下面我来展示一下我的成果。 客户管理系统笔记 1)有一张表:Customer(cid,cname,gender,birthday,cellphone,email,description) 2)功能:实现对客户信息的增删改查管理 3)技术:java web三层架构(web层、service层、dao层) 使用C3P0数据库连接池技术 使用DBUtils技术编写操作数据库代码 使用beanUtils技术获取来自客户端的请求数据 JSTL标签库和EL表达式 开发过程: 1、创建web项目 2、需要导入静态页面(项目原型) 3、导入相关jar包 4、创建项目开发需要的各种类包(bean、dao、service、servlet、utils) 5、创建数据库表 6、写代码(写工具类--》bean类--》dao类--》service类--》servlet类--》更改静态页面) 分页显示 第n页/共m页 首页 上一页 下一页 尾页 分页需要的数据 1、当前页码:pageCode----

Java Web(5)-Servlet详解(上)

心不动则不痛 提交于 2020-08-08 15:50:45
一、Servlet 1. 什么是Servlet Servlet 是 JavaEE 规范之一,规范就是接口 Servlet 就 JavaWeb 三大组件之一,三大组件分别是: Servlet 程序、Filter 过滤器、Listener 监听器 Servlet 是运行在服务器上的一个 java 小程序, 它可以接收客户端发送过来的请求,并响应数据给客户端 2. 手动实现Servlet程序 首先还是在IDEA中创建一个对应的模块,具体看上一个,结果如下 编写一个类去实现 Servlet 接口 实现 service 方法,处理请求,并响应数据 到 web.xml 中去配置 servlet 程序的访问地址 1. 首先在src下建立一个java文件,实现Servlet接口,重写方法 现在先看Servlet(),其他的省略 package com.md.servlet; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; /** * @author MD * @create 2020-07-24 14:44 */ public class HelloServlet implements Servlet { /** *

软件测试IT人必读:写给浮躁的软件测试IT同仁(请不要做浮躁的人)

被刻印的时光 ゝ 提交于 2020-08-08 15:49:43
IT人必读:写给浮躁的软件测试IT同仁(请不要做浮躁的人) 1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。 2. 初学者 请不要看太多太多的书那会误人子弟的,先找本测试基础的书学,很多人用了很久都是只对部分功能熟悉而已,往往这些还是不够的。 3.看帮助,不要因为很难很长而自己是初学者所以就不看;帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,总觉得不够直观。 4.不要被对象、属性、方法等词汇所迷惑;最根本的是先了解最基础知识。 5.不要放过任何一个看上去很简单的小问题--他们往往并不那么简单,或者可以引伸出很多知识点;不会举一反三你就永远学不会。 6.知道一点东西,并不能说明你会写脚本,脚本是需要经验积累的。 7.学脚本并不难,JSP、ASP、PHP等等也不过如此--难的是长期坚持实践和不遗余力的博览群书。 8.看再多的书是学不全脚本的,要多实践。 9.把时髦的技术挂在嘴边,还不如把过时的技术记在心里。 10.学习脚本最好的方法之一就是多练习。 11.在任何时刻都不要认为自己手中的书已经足够了。 12.看得懂的书,请仔细看;看不懂的书,请硬着头皮看。 13.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍; 14.请把书上的例子亲手到电脑上实践,即使配套光盘中有源文件; 15

SpringMVC03_文件上传

老子叫甜甜 提交于 2020-08-08 15:46:05
本教程源码请访问: tutorial_demo 一、文件上传的前提 form表单的enctype取值必须是:multipart/form-data(默认值:application/x-www-form-urlencode); method取值必须是post; 提供一个文本选择域 <input type="file" /> 。 接下来的案例我们借助commons-fileupload组件实现文件上传,需要导入该组件相应的支撑jar包:commons-fileupload和commons-io,我们在pom.xml中添加如下的坐标 <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency> 二、文件上传回顾 2.1、编写上传文件的JSP页面 <%-- 文件上传 --%> <form action="${pageContext.request

mysql5.7.20最详细安装教程配置(图文版)

旧时模样 提交于 2020-08-08 15:17:04
最近在学习的过程中接触了javaEE技术,里面涉及到数据库的使用,自己在电脑上安装了MySQL的5.7.20版本,安装此版本主要是方便在遇到问题时可以查得到解决方法。废话不多说,开始咯. 首先是日常的在甲骨文的官网上下载相应版本的压缩包,解压至指定位置。 如图:先选择自己对应的电脑版本进入该地址进行下载 下载地址:https://dev.mysql.com/downloads/mysql/ 点开之后是这样的: 并点击标记位置进入版本的选择选择5.7.20版本 选择好版本之后下载 2.安装: 下载完毕之后解压到你想要的位置: 注意:这里并没有my.ini文件需要你自己重建,data文件夹如果没有也要建立! 建立好my.ini文件之后点击鼠标右键选择编辑,将以下的内容添加至my.ini文件中。 [ client ] port = 3306 default - character - set = utf8 [ mysqld ] port = 3306 character_set_server = utf8 //解压的目录: basedir = D : \MySQL\mysql - 5.7 .20 - winx64 //解压目录下data目录: datadir = D : \MySQL\mysql - 5.7 .20 - winx64\data sql_mode = NO_ENGINE

JavaWeb基础(day15)( http + tomcat + servlet + 响应)

可紊 提交于 2020-08-08 15:06:38
HTTP+Tomcat+Servlet+响应 HTTP   HTTP 超文本传输协议(Hyper Text Transfer Protocol ),一种网络协议。 协议的组成和过程 HTTP协议由http请求和http响应组成。在浏览器输入一个请求,浏览器将你的请求封装成一个http请求发送给服务器,服务器收到请求组响应数据封装成一个http响应,返回给客户端。 抓包分析      使用chrome自带的工具,可以看到数据相互传送的具体过程。 http请求       get请求         请求行:请求的方法为get请求        本地的地址:host:localhost:8080        connection:keep-alive 连接方式:长连接        浏览器通知服务器,当前请求来自何处。如果是直接访问,则不会有这个头。        常用于:防盗链        Referer: http://localhost:8080/BigData/a.html       post请求 Http响应     常用响应状态码        200    请求成功       302    重定向       304    读取本地缓存文件       404    请求的页面不存在       500    服务端程序错误 Tomcat 服务器

如何写出高质量Spring 组件?

坚强是说给别人听的谎言 提交于 2020-08-08 13:57:46
背景 Spring 框架提供了许多接口,可以使用这些接口来定制化 bean ,而非简单的 getter/setter 或者构造器注入。细翻 Spring Cloud Netflix、Spring Cloud Alibaba 等这些构建在 Spring Framework 的成熟框架源码,你会发现大量的扩展 bean 例如 Eureka 健康检查 package org.springframework.cloud.netflix.eureka; public class EurekaHealthCheckHandler implements InitializingBean {} Seata Feign 配置 package com.alibaba.cloud.seata.feign; public class SeataContextBeanPostProcessor implements BeanPostProcessor {} 代码示例 DemoBean @Slf4j public class DemoBean implements InitializingBean { public DemoBean() { log.info( "--> instantiate " ); } @PostConstruct public void postConstruct() { log

Java实现浏览器端大文件分片上传组件

纵然是瞬间 提交于 2020-08-08 13:55:44
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1. 通过form表单向后端发送请求 <form id="postForm" action="${pageContext.request.contextPath}/UploadServlet" method="post" enctype="multipart/form-data"> <div class="bbxx wrap"> <input type="text" id="side-profile-name" name="username" class="form-control"> <input type="file" id="example-file-input" name="avatar"> <button type="submit" class="btn btn-effect-ripple btn-primary">Save</button> </div> </form> 改进后的代码不需要form标签,直接由控件来实现。开发人员只需要关注业务逻辑即可。JS中已经帮我们封闭好了 通过监控工具可以看到控件提交的数据,非常的清晰,调试也非常的简单。 2. 通过ajax向后端发送请求 1. $.ajax({ url : "${pageContext

无责任书评:每个Java程序员都应该深入理解Java虚拟机

落爺英雄遲暮 提交于 2020-08-08 13:50:13
Java这门语言的发展是很有意思的,它不像Python, Ruby 等完全是开源社区驱动,也不像C#,VB.NET主要由微软操刀。它是一个以Oracle(之前是Sun)为主,各大巨头一起参与,一起制定标准的一门语言。 想对Java添加一点特性, 得走JCP流程,巨头们要审查,看看对自己是否有利,然后投票决定。 在Java的生态中, 官方曾经制定了很多技术和标准,什么Applet, JSP, EJB,JSF, JavaFX...... 但是大部分都被淘汰了,原因很简单,这些标准制定的周期很长, 难以跟上软件行业迅速的变化,等到各大厂商再把实现给搞定,黄花菜都凉了。 所以大家最常用的反而是开源的框架和工具如Spring。 但是Java 语言本身和Java虚拟机是个例外,因为他们不需要也不可能像应用层那样剧烈变化,所以作为后端程序员,对他们进行“投资”是最划算的。 所以我们今天就来聊聊Java虚拟机的书籍。写这方面的书很多, 比如我最早看的就是这一本。 我个人认为这是相当不错的一本书,它在讲ClassLoader 的时候举了一个例子,如果没有双亲委托模型,不怀好意的那些java class 很容易会破坏你的系统,这个例子让我印象如此深刻,以至于我在写《我是一个Java Class》的时候,也编了一个类似的例子。 这本书还花了大量的篇幅讲解Java Class的文件格式,整数运算

java 项目中集成 echarts 统计图,有什么方法实现打印导出?

家住魔仙堡 提交于 2020-08-08 12:24:02
Echarts 由百度研发的开源软件,是一个纯 JS 的图表库。Echarts 是 web 端的技术,前端展现,其在 J2EE 项目中经常被集成使用,图形类型多且直观、生动、可交互、可高度个性化定制。近几年内连续被开源中国评选为“年度最受欢迎的中国开源软件”,并且去年也成为了 Apache 孵化器项目,所以发展更加快速,用户群也越来越多。 Echarts 图形展现没有问题,单独的导出也是支持的,但是 Echarts 多数还是被集成到其他页面。比如我们把 Echarts 和报表结合,报表中既有表格内容,还有 Echarts 生成的图形。 这种情况下,能不能同时实现导出或打印呢? 分析得知,Echarts 图形支持导出打印,通常通过后端程序实现。在进行打印导出的时候,获取到前端图形是解决问题的关键。 结合上面提到的内容,总结 2 个难点: 1、 集成情况下,不仅需要导出 echarts 图,还得把其他内容一块导出来,比如表格和图。 2、 以报表为例,如果报表页数多,分页了,怎么获取到其他页面没有展现的 echarts 图? 针对上面的问题,比较适合的解决思路: 1、 获取每页的 Echarts 代码 2、 根据代码再分别重新生成图片 3、 把图片放到集成页面的对应位置上去 有了方案就是看用什么技术来实现,这里有一篇现成的文章可供参考: 如何实现 ECharts 打印导出 结论: