侧边栏壁纸
  • 累计撰写 793 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论
标签搜索

目 录CONTENT

文章目录

历史搜索

Dettan
2021-04-10 / 0 评论 / 0 点赞 / 192 阅读 / 2,911 字
温馨提示:
本文最后更新于 2022-07-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
cookie sessionId 的过期时间, 网页取不出来

mybatis rise the error : Invalid bound statement ,because the resultType and resultMap
mybatis insert之后返回值.

display: block | inline-block | inline
form disable 和 readonly 的 区别
a标签垂直居中
<span class="radio-button"><a href="reduceOrders.do?foodId=<%=food.getFoodId()%>">-</a></span>
<span class="order-count"><%=food.getFoodCount()%></span>
<span class="radio-button"><a href="addOrders.do?foodId=<%=food.getFoodId()%>">+</a></span>

.radio-button {
    width: 22px;
    height: 22px;
    display: inline-block;
    border: 1px solid;
    border-radius: 11px;
}

.radio-button > a {
    width: 20px;
    height: 20px;
    display: block;
    text-align: center;
    /*vertical-align: middle;*/
    line-height: 20px;
}

让<select> 必选
<select class="form-control form-control-line" name="foodType"
        value="${food.foodType}">
    <option value="鲁菜" <% if (foodType.equals("鲁菜")) out.print(" selected");%> >鲁菜 </option>
    <option value="川菜"<% if (foodType.equals("川菜")) out.print(" selected");%>>川菜</option>
    <option value="东北菜"<% if (foodType.equals("东北菜")) out.print(" selected");%>>东北菜</option>
    <option value="湘菜"<% if (foodType.equals("湘菜")) out.print(" selected");%>>湘菜</option>
    <option value="其他菜系"<% if (foodType.equals("其他菜系")) out.print(" selected");%>>其他菜系</option>
</select>

图片操作

文件上传

配置SpringMVC输出调试信息

艺术字体

onBlur onChange
自定义错误提示信息
<input type="text" id ="phone" name="userTele" placeholder="手机号" required="" pattern="^.{6,}$" required />
document.getElementById("phone").oninvalid = function () {
	document.getElementById("phone").setCustomValidity("请输入正确的手机号!");
};
document.getElementById("phone").oninput = function () {
	document.getElementById("phone").setCustomValidity("");
};

自定义验证
<input type="password" id="password" name="userPwd" placeholder="密码" pattern="^.{6,}$" required="" title="至少六位"/>
<input type="password" id="rePassword" name="userPwd" placeholder="确认密码" required=""/>
document.getElementById("rePassword").oninput = function () {
	if (document.getElementById("password").value !== document.getElementById("rePassword").value)
		document.getElementById("rePassword").setCustomValidity("两次输入的密码不一致!");
	else
		document.getElementById("rePassword").setCustomValidity("");
};


<Context docBase="food" path="/food" reloadable="true" source="org.eclipse.jst.jee.server:food"/></Host>
eclipse 里 配置虚拟目录要在 server里先配置,再在tomcat里配置.
5月11号


a:after {content: " (" attr(href) ")";} 会在a后面跟上这个a的网址

上传文件的from改content-type

浏览器默认编码是iso-8859-1 , 要转码之后再存

blob byte

文件关不了, 只能gc()

读取配置文件Properties的一种方案Thread.currentThread().getContextClassLoader() .getResourceAsStream()_java_C.-CSDN博客
Java路径   Java中使用的路径,分为两种:绝对路径和相对路径。具体而言,又分为四种:   一、URI形式的绝对资源路径   如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b   URL是URI的特例。URL的前缀/协议,必须是Java熟悉的。URL可以打开资源,而URI则不行。   URL和URI对象可以互相转换,使用各自的toURI(),toURL()方法即可!   二、本地系统的绝对路径   D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b   Java.io包中的类,需要使用这种形式的参数。   但是,它们一般也提供了URI类型的参数,而URI类型的参数,接受的是URI样式的String。因此,通过URI转换,还是可以把URI样式的绝对路径用在java.io包中的类中。   三、相对于classpath的相对路径   如:相对于   file:/D:/java/eclipse32/workspace/jbpmtest3/bin/这个路径的相对路径。其中,bin是本项目的classpath。所有的Java源文件编译后的.class文件复制到这个目录中。   四、相对于当前用户目录的相对路径   就是相对于System.getProperty("user.dir")返回的路径。   对于一般项目,这是项目的根路径。对于JavaEE服务器,这可能是服务器的某个路径。这个并没有统一的规范!   所以,绝对不要使用"相对于当前用户目录的相对路径"。然而:   默认情况下,java.io 包中的类总是根据当前用户目录来分析相对路径名。此目录由系统属性 user.dir 指定,通常是 Java 虚拟机的调用目录。   这就是说,在使用java.io包中的类时,最好不要使用相对路径。否则,虽然在J2SE应用程序中可能还算正常,但是到了J2EE程序中,一定会出问题!而且这个路径,在不同的服务器中都是不同的! 下面是我在学习过程中比较好的一种读取classpath文件的一个好方法 private static Properties props = new Properties(); public static String getUrl(String fileName, String key) { try { /** * 下面三个都可以获得类加载器 * System.out.println(Thread.currentThread().getContextClassLoader()); // 当前线程的类加载器 System.out.println(Test.class.getClassLoader()); // 当前类的类加载器 System.out.println(ClassLoader.getSystemClassLoader()); // 系统初始的类加载器 在代码中动态加载jar、资源文件的时候,首先应该是使用Thread.currentThread().getContextClassLoader()。 ClassHelper.class.getClassLoader(),可能会导致和当前线程所运行的类加载器不一致(因为Java天生的多线程)。 ClassHelper.class.getClassLoader()一般用在getResource,因为你想要获取某个资源文件的时候,这个资源文件的位置是相对固定的。 * */ InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName); props.load(stream); return props.getProperty(key); } catch (IOException e) { e.printStackTrace(); return ""; } }
https://blog.csdn.net/cckevincyh/article/details/80975854?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3

Flex 布局教程:语法篇
网页布局(layout)是 CSS 的一个重点应用。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 Flex 布局将成为未来布局的首选方案。本文介绍它的语法, 下一篇文章给出常见布局的 Flex 写法。网友 JailBreak 为本文的所有示例制作了 Demo ,也可以参考。 以下内容主要参考了下面两篇文章: A Complete Guide to Flexbox 和 A Visual Guide to CSS3 Flexbox Properties 。 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为 Flex 布局。 行内元素也可以使用 Flex 布局。 .box{ display: inline-flex; } Webkit 内核的浏览器,必须加上-webkit 前缀。 .box{ display:
http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
当面试官问我Mybatis初始化原理时,我笑了
对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外。本章将通过以下几点详细介绍MyBatis的初始化过程。 MyBatis的初始化做了什么 MyBatis基于XML配置文件创建Configuration对象的过程 手动加载XML配置文件创建Configuration对象完成初始化,创建并使用SqlSessionFactory对象 涉及到的设计模式 任何框架的初始化,无非是加载自己运行时所需要的配置信息。MyBatis的配置信息,大概包含以下信息,其高层级结构如下: × configuration 配置 × properties 属性 × settings 设置 × typeAliases 类型命名 × typeHandlers 类型处理器 × objectFactory 对象工厂 × plugins 插件 × environments 环境 × environment 环境变量 × transactionManager 事务管理器 × dataSource 数据源 ×映射器 MyBatis的上述配置信息会配置在XML配置文件中,那么,这些信息被加载进入MyBatis内部,MyBatis是怎样维护的呢? MyBatis采用了一个非常直白和简单的方式---使用 org.apache.ibatis.session.Configuration 对象作为一个所有配置信息的容器,Configuration对象的组织结构和XML配置文件的组织结构几乎完全一样(当然,Configuration对象的功能并不限于此,它还负责创建一些MyBatis内部使用的对象,如Executor等,这将在后续的文章中讨论)。如下图所示: MyBatis根据初始化好Configuration信息,这时候用户就可以使用MyBatis进行数据库操作了。 可以这么说,MyBatis初始化的过程,就是创建 Configuration对象的过程。 MyBatis的初始化可以有两种方式: 基于XML配置文件:基于XML配置文件的方式是将MyBatis的所有配置信息放在XML文件中,MyBatis通过加载并XML配置文件,将配置文信息组装成内部的Configuration对象 基于Java API:这种方式不使用XML配置文件,需要MyBatis使用者在Java代码中,手动创建Configuration对象,然后将配置参数set 进入Configuration对象中 (PS: MyBatis具体配置信息有哪些,又分别表示什么意思,不在本文的叙述范围,读者可以参考我的《Java Persistence withMyBatis 3 (中文版)》 的第二章 引导MyBatis中有详细的描述) 接下来我们将通过 基于XML配置文件方式的MyBatis初始化,深入探讨MyBatis是如何通过配置文件构建Configuration对象,并使用它的。 现在就从使用MyBatis的简单例子入手,深入分析一下MyBatis是怎样完成初始化的,都初始化了什么。看以下代码: 有过MyBatis使用经验的读者会知道,上述语句的作用是执行com.foo.bean.BlogMapper.queryAllBlogInfo 定义的SQL语句,返回一个List结果集。总的来说,上述代码经历了mybatis初始化 -->创建SqlSession -->执行SQL语句 返回结果三个过程。 上述代码的功能是根据配置文件mybatis-config.xml 配置文件,创建SqlSessionFactory对象,然后产生SqlSession,执行SQL语句。而mybatis的初始化就发生在第三句:SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 现在就让我们看看第三句到底发生了什么。 SqlSessionFactoryBuilder根据传入的数据流生成Configuration对象,然后根据Configuration对象创建默认的SqlSessionFactory实例。 初始化的基本过程如下序列图所示: 由上图所示,mybatis初始化要经过简单的以下几步: 1.
https://zhuanlan.zhihu.com/p/55975390


0

评论区