首页
留言
友链
壁纸
更多
直播
追番
统计
关于
Search
1
欢迎使用 Typecho
189 阅读
2
为Joe主题增加表情包
163 阅读
3
Java的一些基础知识总结
140 阅读
4
『转载』Linux文件自动备份百度网盘
139 阅读
5
Js 音频律动
125 阅读
默认分类
Java
Java基础知识
Java面向对象
JavaWeb服务
前端三剑客
HTML
JS
Typecho
前端小结
Vue
登录
/
注册
Search
标签搜索
Java
Servlet
HTML
面向对象
Web
Vue
JS
Typecho
Typora
Markdown
乐抖系统
Typecho主题
技术教程
类与对象
基础知识
Tomcat
Maven
Linux
MySQL
Mybatis
白衣少年
累计撰写
48
篇文章
累计收到
42
条评论
首页
栏目
默认分类
Java
Java基础知识
Java面向对象
JavaWeb服务
前端三剑客
HTML
JS
Typecho
前端小结
Vue
页面
留言
友链
壁纸
直播
追番
统计
关于
用户登录
登录
注册
搜索到
48
篇
白衣少年
发布的文章
2022-11-17
Java-Mvc
什么是MVCModel:模型层View:视图层Controller:控制层MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。Mvc的三层架构三层架构是指: 视图层 View 、 服务层 Service ,与 持久层 Dao 。它们分别完成不同的功能。 View层 :用于接收用户提交请求的代码在这里编写。 Service层 :系统的业务逻辑主要在这里完成。 Dao层 :直接操作数据库的代码在这里编写。为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程。即上层对下层的调用,是通过接口实现的。而下层对上层的真正服务提供者,是下层接口的实现类。服务标准(接口)是相同的,服务提供者(实现类)可以更换。这就实现了层间解耦合。
2022年11月17日
35 阅读
0 评论
2 点赞
2022-11-14
停更两天
这几天比较忙,所以暂时停更两天...
2022年11月14日
39 阅读
0 评论
4 点赞
2022-11-11
Java-JavaBean
实体类javaBean有特定的写法:必须要有无参构造 属性必须为 private 必须get,set方法一般用来和数据库的字段做映射ORM(Object Relation Mapping) 对象关系映射表--->类 字段--->属性 行记录--->对象peopleb表:idnameageaddress1张三22河南2李四18上海3王五24深圳class People{ private int id; private String name; private int age; private String address; public void people(){} public void people(int id, String name,int age,String address){ this.id=id; this.name=name; this.age=age; this.address=address; } } class Main{ public static void main(String args[]){ new People(1,"张三",22,"河南"); } }作业-- 创建数据库 create database smbms; use smbms; -- 创建地址表格 drop table if exists smbms_address; create table smbms_address( id bigint(20) not null auto_increment comment '主键id', contact varchar(15) collate utf8_unicode_ci default null comment '联系人姓名', addressDesc varchar(50) collate utf8_unicode_ci default null comment '收货地址明细', postCode varchar(15) collate utf8_unicode_ci default null comment '邮编', tel varchar(20) collate utf8_unicode_ci default null comment '联系人电话', createdBy bigint default null comment '创建者', creationDate datetime default null comment '创建时间', modifyBy bigint default null comment '修改者', modifyDate datetime default null comment '修改时间', userId bigint default null comment '用户ID', primary key (id) ) engine=InnoDB auto_increment=7 default charset=utf8 collate=utf8_unicode_ci; -- 创建订单表 drop table if exists smbms_bill; create table smbms_bill( id bigint not null auto_increment comment '主键id', billCode varchar(20) collate utf8_unicode_ci default null comment '账单编码', productName varchar(20) collate utf8_unicode_ci default null comment '商品名称', prodectDesc varchar(50) collate utf8_unicode_ci default null comment '商品描述', productUnit varchar(10) collate utf8_unicode_ci default null comment '商品单位', productCount decimal(20,2) default null comment '商品数量', totalPrice decimal(20,2) default null comment '总金额', isPayment tinyint default null comment '支付状态(0:未支付;1;已支付)', createdBy bigint default null comment '创建者(userId)', creationDate datetime default null comment '创建时间', modifyBy bigint default null comment '更新者(userId)', modifyDate datetime default null comment '更新时间', providerId bigint default null comment '供应商ID', primary key (id) ) engine=InnoDB auto_increment=19 default charset=utf8 collate=utf8_unicode_ci; -- 创建供应商表 drop table if exists smbms_provider; create table smbms_provider( id bigint not null auto_increment comment '主键id', proCode varchar(20) collate utf8_unicode_ci default null comment '供应商编码', proName varchar(20) collate utf8_unicode_ci default null comment '供应商名称', proDesc varchar(50) collate utf8_unicode_ci default null comment '供应商详细描述', proContact varchar(20) collate utf8_unicode_ci default null comment '供应商联系人', proPhone varchar(20) collate utf8_unicode_ci default null comment '供应商电话', proAddress varchar(50) collate utf8_unicode_ci default null comment '供应商地址', proFax varchar(20) collate utf8_unicode_ci default null comment '供应商传真', createdBy bigint default null comment '创建者(userId)', creationDate datetime default null comment '创建时间', modifyBy bigint default null comment '更新者(userId)', modifyDate datetime default null comment '更新时间', primary key (id) ) engine=InnoDB auto_increment=16 default charset=utf8 collate=utf8_unicode_ci; -- 创建角色表 drop table if exists smbms_role; create table smbms_role( id bigint not null auto_increment comment '主键id', roleCode varchar(20) collate utf8_unicode_ci default null comment '角色编码', roleName varchar(20) collate utf8_unicode_ci default null comment '角色名称', createdBy bigint default null comment '创建者(userId)', creationDate datetime default null comment '创建时间', modifyBy bigint default null comment '更新者(userId)', modifyDate datetime default null comment '更新时间', primary key (id) ) engine=InnoDB auto_increment=4 default charset=utf8 collate=utf8_unicode_ci; -- 创建用户表 drop table if exists smbms_user; create table smbms_user( id bigint not null auto_increment comment '主键id', userCode varchar(15) collate utf8_unicode_ci default null comment '用户编码', userName varchar(15) collate utf8_unicode_ci default null comment '用户名称', userPassword varchar(15) collate utf8_unicode_ci default null comment '用户密码', gender tinyint default null comment '0:女,1:男', phone varchar(15) collate utf8_unicode_ci default null comment '手机', address varchar(50) collate utf8_unicode_ci default null comment '地址', userrole bigint default null comment '用户角色(取自角色表,角色ID)', createdBy bigint default null comment '创建者(userId)', creationDate datetime default null comment '创建时间', modifyBy bigint default null comment '更新者(userId)', modifyDate datetime default null comment '更新时间', primary key (id) ) engine=InnoDB auto_increment=16 default charset=utf8 collate=utf8_unicode_ci;
2022年11月11日
113 阅读
0 评论
4 点赞
2022-11-10
Java-Jsp的一些语法与指令
Jsp基础语法Jsp表达式<%-- jsp表达式 作用:用来将程雪输出,写到客户端 <%= 变量名/表达式%> --%> <%= new java.util.Date()%>Jsp脚本片段<%-- jsp脚本片段 --%> <% int sum=0; for (int i = 0; i < 10; i++) { sum+=i; } out.println("<h1>Sum="+sum+"</h1>"); %> <%-- 嵌入正常的标签 --%> <% int x=10; out.print(x); %> <p>这是一个jsp文档</p> <% int y=20; out.print(20); %> <%-- ------------------------------------ --%> <%-- 在代码中嵌入html元素 --%> <% for (int i = 0; i < 5; i++) { %> <h1>HelloWorld,<%= new java.util.Date()%></h1> <% } %>脚本片段的再实现<%-- 在代码中嵌入html元素 --%> <% for (int i = 0; i < 5; i++) { %> <h1>HelloWorld,<%= new java.util.Date()%></h1> <% } %>Jsp声明<%! static { System.out.println("Loading Servlet..."); } private int globalVar=0; public void jspInit(){ System.out.println("进入了初始化方法"); } %>Jsp声明 :这些代码会被便衣到jsp生成的类d当中,其他的会被编译到_jspService方法内部Jsp的注释,不会再客户端显示,html的注释会显示Jsp指令<!-- 配置错误页面 --> <error-page> <error-code>404</error-code> <location>/error/404.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/error/500.jsp</location> </error-page> <!-- 导入jar包 --> <%@ page import="java.util.Date" %> <!-- 指定错误页面 --> <%@ page errorPage="error/500.jsp" %> <!-- 显示的声明这是一个错误页面 --> <%@page isErrorPage="true" %> <!-- 页面编码格式 --> <%@page pageEncoding="utf-8" %><%-- @include会将页面整合在一起 --%> <!-- 定义的变量会相互影响 --> <%@include file="common/header.jsp"%> <h1>网页主体</h1> <%@include file="common/footer.jsp"%> <hr> <%-- jsp标签jsp:include 是将页面拼接在一起,本质还是分开的页面 --%> <!-- 定义的变量互不影响 --> <jsp:include page="/common/header.jsp"/> <h1>网页主体</h1> <jsp:include page="/common/footer.jsp"/>Jsp标签使用之前需要导入jar包支持 <!-- jstl表达式的依赖 --> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl-api --> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId> <version>1.2</version> </dependency> <!-- standard标签库 --> <!-- https://mvnrepository.com/artifact/taglibs/standard --> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency>el表达式表达式格式:${}1.获取数据 2.执行运算 3.获取web开发常用对象取出值:<h3> ${param.get("name1")} ${param.get("name2")} </h3>jstl标签jstl标签库的使用就为未来弥补html标签的不足,有自定的标签,标签的功能和java代码一样核心标签(要求掌握部分<c:out> 用于在JSP中显示数据,就像<%= ... > <c:set> 用于保存数据 <c:remove> 用于删除数据 <c:if> 与我们在一般程序中用的if一样 <c:choose> 本身只当做<c:when>和<c:otherwise>的父标签 <c:when> <c:choose>的子标签,用来判断条件是否成立 <c:otherwise> <c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行 <c:forEach> 基础迭代标签,接受多种集合类型 <c:url> 使用可选的查询参数来创造一个URL引入标签<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!-- c:core fmt:format sql:sql x:xml tomcat的仓库中也需要引入standard和jstl的jar包,不然服务器无法运行 -->调用方法 c:if<%@ page contenttype="text/html;charset=utf-8" language="java" %> <%--引入jstl核心标签库,我们才能使用核心标签--%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>title</title> </head> <body> <h4>if测试</h4> <hr> <form action="jstlcore1.jsp" method="get"> <%-- el表达式获取表单中的数据: ${param.参数名} --%> <input type="text" name="username" value="${param.username}"> <input type="submit" value="登录"> </form> <%--判断如果是管理员就登陆成功--%> <c:if test="${param.username=='admin'}" scope="page" var="isadmin"> <c:out value="<h3>登录成功<h3>"/> </c:if> <c:out value="${isadmin}"/> </body> </html>c:choose<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <c:set var="score" value="50"/> <c:choose> <c:when test="${score>=60}"> <c:out value="成绩合格"/> </c:when> <c:otherwise> <c:out value="需要补考"/> </c:otherwise> </c:choose> </body> </html>c:forEach<%@ page import="java.util.ArrayList" %> <%@ page import="java.util.Arrays" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>Title</title> </head> <body> <% ArrayList<String> array=new ArrayList<>(); array.add("h1"); array.add("h2"); array.add("h3"); array.add("h4"); request.setAttribute("list",array); %> <%-- hs 储存便遍历的数据 items 被遍历的的对象 --%> <c:forEach var="hs" items="${list}"> <c:out value="${hs}"/><br> </c:forEach> <hr> <c:forEach var="hs" items="${list}" varStatus=""> </c:forEach> </body> </html>
2022年11月10日
97 阅读
0 评论
3 点赞
2022-11-10
Java-Jsp是什么原理又是什么
什么是JspJava Server Page : Java服务器端页面,和Servlet一样,用于 动态Web 技术最大的特点语法和HTML类似区别HTML只给用户提供静态的数据JSP页面可以嵌入Java代码,为用户提供动态数据Jsp原理Jsp是怎么执行的?代码层面 :<html> <body> <h2>Hello World!</h2> </body> </html>服务器内部 :tomcat中有一个work目录;idea使用tomcat的会在idea的tomcat中产生一个work目录发现D:\Environment\apache-tomcat-9.0.0.M6\work\Catalina\localhost\ROOT\org\apache\jsp目录下的文件是java程序,jsp最终被转化成了java类结论 :浏览器向服务器发送请求,不管访问什么资源,都是在访问serveltpublic final class index_jsp extends org.apache.jasper.runtime.HttpJspBase //-------------------- public abstract class HttpJspBase extends HttpServlet implements HttpJspPage //-------------------- //初始化 public void _jspInit() //销毁 public void _jspDestroy() //JSPService public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException判断请求内置一些对象final javax.servlet.jsp.PageContext pageContext;//页面上下文 final javax.servlet.ServletContext application;//application final javax.servlet.ServletConfig config;//配置 javax.servlet.jsp.JspWriter out = null;//页面输出流 final java.lang.Object page = this;//页面本身 final javax.servlet.http.HttpServletRequest request final javax.servlet.http.HttpServletResponse response输出页面前增加的代码response.setContentType("text/html; charset=UTF-8");//设置响应页面类型 pageContext = _jspxFactory.getPageContext(this, request, response,null, false, 8192, true); _jspx_page_context = pageContext; application = pageContext.getServletContext(); config = pageContext.getServletConfig(); out = pageContext.getOut(); _jspx_out = out;以上对象我们可以在JSP页面中直接使用在jsp中:只要是java代码,就会原封不动的输出html代码会被out.weite()方法写出
2022年11月10日
50 阅读
0 评论
3 点赞
1
...
4
5
6
...
10