![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javaweb
你的瓦刀
这个作者很懒,什么都没留下…
展开
-
QQ第三方登陆的那些坑(不同应用的用户openid不一致),存量用户OpenID转UnionID的方法
在准备发布NiterApp的时候发现QQ互联平台下不同应用的openid是不一致的,由于qq互联web版和app版的应用不同,所以同一用户授权登录后获取到的openid是不同的。换句话说,因为之前数据库存储的是用户的openid,所以同一用户在web端和app端授权后将会创建、登录一个不同的账号。这样是肯定不符合需求的。为了不同应用之间进行用户信息互通,NiterForum最新版本将保存用...原创 2020-04-02 18:32:17 · 2248 阅读 · 6 评论 -
【NiterForum2.0】基于Springboot2.X的论坛/社区/BBS系统(Thymeleaf+layui+mybatis),有配套APP,适合初学者学习,交流以及毕业设计参考(附源码)
尼特社区-NiterForum-一个论坛程序,几乎具有一个论坛/社区所应该有的全部功能-后端Springboot-前端Thymeleaf-可供初学者,学习、交流使用,也可用于大学毕业生的毕业设计参考(仅供参考!),暂不建议用于正式用途。喜欢的话,恳请在Github与Gitee上给个star(*❦ω❦)在线体验https://niter.cn/技术栈SpringBoot框架。 Th...原创 2020-02-25 22:39:47 · 1254 阅读 · 2 评论 -
解决安装SSL后,通过https访问出现“您与此网站建立的链接并非完全安全”提示的问题
之前安装SSL并配置https访问之后,通过谷歌等浏览器访问出现这个提示:原因是我们的页面存在一些不安全的http请求,比如图片、js等静态文件。我们只需要将其升级为https请求即可。页面的head中加入:<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">...原创 2020-02-25 22:24:13 · 5228 阅读 · 0 评论 -
【JAVA笔记】SpringBoot 2安装SSL配置HTTPS,并实现HTTP自动跳转HTTPS访问,或同时启用http与https访问
本次用于测试的尼特社区使用的是Spring boot 2.1.6版本,理论上2.X都能成功。一、申请、下载SSL证书。(已申请的忽视此步骤)腾讯云、阿里云、UCLOUD都提供免费的证书,可以去申请下载。各平台大同小异,下面以腾讯为例。腾讯云地址:https://cloud.tencent.com/product/ssl①登陆后进入腾讯云控制台:https://console.clo...原创 2020-02-01 21:49:14 · 978 阅读 · 0 评论 -
【JAVA笔记】记一次HandlerInterceptor处理器拦截优化,解决preHandle()执行多次的问题
1.简介preHandle方法是进行处理器拦截用的,顾名思义,该方法将在Controller处理之前进行调用。SpringMVC中的Interceptor拦截器是链式的,可以同时存在多个Interceptor,然后SpringMVC会根据声明的前后顺序一个接一个的执行,而且所有的Interceptor中的preHandle方法都会在Controller方法调用之前调用。(SpringMVC...原创 2020-02-01 20:30:21 · 4391 阅读 · 0 评论 -
【SpringMVC笔记】3、处理模型数据及ModelAttribute等注解的使用
1.处理模型数据如果跳转时需要带数据:V、M,则可以使用以下方式:ModelAndView、ModelMap 、Map、Model -数据放在了request作用域@RequestMapping(value="testModelAndView") public ModelAndView testModelAndView() {//ModelAndView:既有数据,又有...转载 2019-04-30 13:14:52 · 225 阅读 · 0 评论 -
【Spring笔记】06、AOP,execution表达式,基于接口形式的aop通知实现
2.AOP:面向方面编程一个普通的类 -> 有特定功能的类 a.继承类 b.实现接口 c.注解 d.配置public class MyFilter exntends/implements Xx{}类 -> “通知” :实现接口前置通知实现步骤:a.jar aopaliance.jar aspectjweav...转载 2019-04-24 20:05:37 · 881 阅读 · 0 评论 -
【Spring笔记】07、AOP名词解释及通俗理解
1.我所知道的aop 初看aop,上来就是一大堆术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等。一下子让你不知所措,心想着:怪不得很多人都和我说aop多难多难。当我看进去以后,我才发现:它就是一些java基础上的朴实无华的应用,包括ioc,包括许许多多这样的名词,都是万变不离其宗而已。2.为什么用aop 1就是为了方便,看一个国外很有名的大师说,编程的人都...转载 2019-04-24 15:47:54 · 233 阅读 · 0 评论 -
【SpringMVC笔记】9、SSM整合
SSM整合:Spring - SpringMVC - MyBatis1.Spring - MyBatis : 需要整合:将MyBatis的SqlSessionFactory 交给Spring2Spring - SpringMVC : 就是将Spring - SpringMVC 各自配置一遍思路: SqlSessionFactory -> Sql...转载 2019-05-03 21:46:17 · 192 阅读 · 0 评论 -
【SpringMVC笔记】2、利用IDE快速配置,Result风格,doFilterInternal源码解读,使用原生态ServletAPI,多种注解使用
REST风格 :软件编程风格Springmvc: GET :查POST :增DELETE :删PUT :改普通浏览器只支持get post方式 ;其他请求方式如 delelte|put请求是通过过滤器新加入的支持。springmvc实现 :put|post请求方式的步骤a.增加过滤器 <!-- 增加HiddenHttpMethodFilte过...转载 2019-04-28 19:24:49 · 3368 阅读 · 0 评论 -
【Spring笔记】13、Spring整合MyBatis思路,及SqlSessionDaoSupport、MapperFactoryBean、MapperScannerConfigurer整合方式
Spring - MyBatis思路: SqlSessionFactory -> SqlSession ->StudentMapper ->CRUD可以发现 ,MyBatis最终是通过SqlSessionFactory来操作数据库,Spring整合MyBatis 其实就是 将MyBatis的SqlSessionFactory 交给SpringSM整合步骤:...转载 2019-05-03 20:26:18 · 348 阅读 · 0 评论 -
【MyBatis笔记】5、两种取值符号以及ParameterType(输入参数)为简单、对象类型
输入参数:parameterType1.类型为简单类型(8个基本类型+String)#{}、${}的区别①#{任意值}${value} ,其中的标识符只能是value②#{}自动给String类型加上'' "(自动类型转换) ${} 原样输出,但是适合于动态排序(动态字段)select stuno,stuname,stuage from student wher...转载 2019-05-03 13:46:21 · 854 阅读 · 0 评论 -
【Spring笔记】05、@Transactional注解的属性
@Transactional注解的属性 属性 类型 说明 propagation 枚举型:Propagation (可选)事务传播行为。例如: propagation=Propagation.REQUIRES_NEW 详见后文 readOnly...转载 2019-04-20 15:01:54 · 1054 阅读 · 0 评论 -
【Spring笔记】04、使用注解实现声明式事务
1.使用注解实现事务(声明式事务)目标:通过事务 使以下方法 要么全成功、要么全失败public void addStudent(){ //增加班级 //增加学生 //crdu}a. jar包spring-tx-4.3.9.RELEASEojdbc.jarcommons-dbcp.jar 连接池使用到数据源commons-pool.jar 连接池...转载 2019-04-20 15:08:12 · 192 阅读 · 0 评论 -
【Spring笔记】08、基于注解形式的AOP实现
二、实现注解实现 通知 ,aopa.jar 与 实现接口 的方式相同b.配置 将业务类、通知 纳入springIOC容器 开启注解对AOP的支持<aop:aspectj-autoproxy></aop:aspectj-autoproxy> 业务类 addStudent - 通知c.编写 通知:@Aspect...转载 2019-04-25 11:55:59 · 203 阅读 · 0 评论 -
【Spring笔记】09、基于Schema形式的AOP实现
三、通过 配置将 类->通知基于Schema配置类似 与 实现接口的方式接口方式通知:public class LogAfter implements AfterReturningAdviceSchema方式通知: a.编写一个普通类 public class LogAfter {} b.将该类 通过配置,转为一个“通知” 如果要获取目标对象信息...转载 2019-04-25 14:51:33 · 426 阅读 · 0 评论 -
【Spring笔记】10、Spring开发Web项目
Web项目如何初始化SpringIOC容器 :思路:当服务启动时(tomcat),通过监听器将SpringIOC容器初始化一次(该监听器 spring-web.jar已经提供) 因此用spring开发web项目 至少需要7个jar: spring-java的6个jar + spring-web.jar,注意:web项目的jar包是存入到WEB-INF/lib中web项目启动时 ,会自动...转载 2019-04-25 16:46:23 · 101 阅读 · 0 评论 -
【SpringMVC笔记】5、View实现类简介
视图类型 简介 URL视图资源图 InternalResourceView 将JSP或其他资源封装成一个视图。被视图解析器InternalResourceViewResolver默认使用。 JstlView InternalResourceView的子类。 ...转载 2019-05-08 23:55:25 · 424 阅读 · 0 评论 -
【SpringMVC笔记】6、国际化常见的资源文件命名
资源文件名 简介 基名_en.properties 所有英文语言的资源 基名_en_US.properties 针对美国地区、英文语言的资源 基名_zh.properties 所有的中文语言的资源 基名_zh_CN.prop...转载 2019-05-09 00:08:34 · 725 阅读 · 0 评论 -
【SpringMVC笔记】4、视图、视图解析器、国际化(i18n)
2.视图、视图解析器视图的顶级接口:View视图解析器:ViewResolver常见的视图和解析器:InternalResourceView、InternalResourceViewResolverpublic class JstlView extends InternalResourceView:springMVC解析jsp时 会默认使用InternalResourceVie...转载 2019-05-09 00:50:23 · 209 阅读 · 0 评论 -
【SpringMVC笔记】7、视图解析器常见功能,处理静态资源,类型转换器,数据格式化
InternalResourceViewResolver其他功能:1.<mvc:view-controller ...>index.jsp -> Controller(@RequsetMapping("a")) ->succes.jsp要用SpringMVC实现:index.jsp -> succes.jsp :<mvc:view-control...转载 2019-05-09 21:10:35 · 250 阅读 · 0 评论 -
【MyBatis笔记】3、属性文件,全局参数,别名,类型转换器,resultMap
优化1.可以将配置信息 单独放入 db.properties文件中,然后再动态引入 db.properties: k=v<configuration><properties resource="db.properties"/>引入之后,使用${key}2.MyBatis全局参数在conf.xml中设置 <!--...转载 2019-05-03 12:59:03 · 357 阅读 · 0 评论 -
【MyBatis笔记】4、mybatis全局参数
(慎用) 参数 简介 有效值 cacheEnabled 在全局范围内,启用或禁用缓存 true(默认)、false lazyLoadingEnabled 在全局范围内启用或禁用延迟加载。当禁用时,所有相关联的对象都将立即加载(热加载)。 ...转载 2019-05-02 23:33:47 · 1649 阅读 · 0 评论 -
【MyBatis笔记】2、MyBatis约定及基于动态代理方式的增删改查(CRUD,MyBatis接口开发)
原则:约定优于配置,配置优于硬编码硬编码方式 abc.java Configuration conf = new Configuration(); con.setName("myProject") ;配置方式: abc.xml <name>myProject</name>约定:默认值就是m...转载 2019-05-02 23:28:36 · 221 阅读 · 0 评论 -
【javaweb笔记】9、文件上传、下载
1.上传文件a.引入2个jar apache: commons-fileupload.jar组件 commons-fileupload.jar依赖 commons-io.jarb.代码:前台jsp: <input type="file" name="spicture"/> 表单提交方式必须为post 在表单中必须增加一个属性 entype...转载 2019-03-24 19:54:55 · 101 阅读 · 0 评论 -
【javaweb笔记】10、EL表达式语法,点操作符,括号操作符,EL运算,隐式对象
EL :为了消除jsp中的Java代码语法:${EL表达式}a.EL不需要导包b.在el中调用属性,其实是调用的getXxx()方法${范围.对象.属性.属性的属性 }操作符:操作:属性,不是对象. : 使用方便[] : 如果是常量属性,需要使用双引号/单引号 引起来;比点操作符更加强大[]强大之处:a.可以容纳一些 特殊符号 (. ? -)b.[]可以容纳 ...转载 2019-03-24 19:55:01 · 556 阅读 · 0 评论 -
【javaweb笔记】8、三层优化,接口,DBUtil,WEB调试及BUG修复
三层优化1.加入接口 建议面向接口开发:先接口-再实现类 --service、dao加入接口 --接口与实现类的命名规范 接口:interface, 起名 I实体类Service IStudentService IStudentDao 实现类:implements 起名 实体类Servic...转载 2019-03-24 19:54:44 · 162 阅读 · 0 评论 -
【javaweb笔记】7、MVC及三层架构详解,乱码问题,三层代码流程解析
三层架构:MVC与三层架构:三层代码流程解析:实例流程:代码实例:Student.javapackage org.student.entity;public class Student { private int sno ; private String sname ; private int sage ; private S...转载 2019-03-24 19:54:38 · 354 阅读 · 0 评论 -
【javaweb笔记】6、MVC,servlet25,servlet30,servletapi,空实现模板
0.MVC设计模式:M:Model ,模型 :一个功能。用JavaBean实现。V:View,视图: 用于展示、以及与用户交互。使用html js css jsp jquery等前端技术实现C:Controller,控制器 :接受请求,将请求跳转到模型进行处理;模型处理完毕后,再将处理的结果 返回给 请求处 。 可以用jsp实现, 但是一般建议使用 ...转载 2019-03-24 19:54:31 · 221 阅读 · 0 评论 -
【javaweb笔记】5、JDBC调用存储过程与存储函数,处理大文本CLOB(TEXT)与二进制BLOB类型数据,JSP访问数据库,JavaBean
1.jdbc总结(模板、八股文):try{a.导入驱动包、加载具体驱动类Class.forName("具体驱动类");b.与数据库建立连接connection = DriverManager.getConnection(...);c.通过connection,获取操作数据库的对象(Statement\preparedStatement\callablestatement)stmt = ...转载 2019-03-24 19:54:26 · 507 阅读 · 0 评论 -
【javaweb笔记】4、JDBC原理,Statement与PreparedStatement的区别
1.JDBC:Java DataBase Connectivity 可以为多种关系型数据库DBMS 提供统一的访问方式,用Java来操作数据库2.JDBC API 主要功能:三件事,具体是通过以下类/接口实现:DriverManager : 管理jdbc驱动Connection: 连接(通过DriverManager产生)Statement(PreparedStatement...转载 2019-03-24 19:54:21 · 201 阅读 · 0 评论 -
【javaweb笔记】3、response、请求转发与重定向、cookie应用案例、session执行机制与共享问题、四种范围对象
1response :响应对象提供的方法:void addCookie( Cookie cookie ); 服务端向客户端增加cookie对象void sendRedirect(String location ) throws IOException; :页面跳转的一种方式(重定向)void setContetType(String type):设置服务端响应的编码(设置服务端的co...转载 2019-03-24 19:54:14 · 884 阅读 · 0 评论 -
【javaweb笔记】2、编码问题、jsp页面元素、request对象、编码及注册实例
1.使用Eclipse开发Web项目(JSP项目) tomcat2. 在Eclipse中创建的Web项目:浏览器可以直接访问 WebContent中的文件,例如http://localhost:8888/MyJspProject/index1.jsp其中的index1.jsp就在WebContent目录中;但是WEB-INF中的文件 无法通过客户端(浏览器)直接访问,只能通过请求...转载 2019-03-24 19:53:34 · 149 阅读 · 0 评论 -
【javaweb笔记】11、JSTL基础(set、out、remove、if、choose、forEach)
JSTL:比EL更加强大需要引入2个jar :jstl.jar standard.jar引入tablib :<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 其中prefix="c" :前缀核心标签库: 通用标签库、条件标签库 迭代标签库a.通用标签库<c:set&g...转载 2019-03-24 19:55:06 · 190 阅读 · 0 评论 -
【javaweb笔记】12、过滤器,过滤器通配符,过滤器链
过滤器:实现一个Filter接口init()、destroy() 原理、执行时机 同Servlet配置过滤器,类似servlet通过doFilter()处理拦截,并且通过chain.doFilter(request, response);放行filter映射只拦截 访问MyServlet的请求 <url-pattern>/MyServlet</url-p...转载 2019-03-24 19:55:12 · 821 阅读 · 2 评论 -
【MyBatis笔记】1、MyBatis配置及入门示例,MyBatis-Statement方式的增删改查(CRUD)
mybatis: ibatis:apache 2010 ibatis-> google colde ,MybatisMyBatis可以简化JDBC操作,实现数据的持久化 。 ORM:Object Relational Mapping person对象 person表 ORM:概念 , Mybatis是ORM的一个实现/...转载 2019-05-02 21:26:21 · 178 阅读 · 0 评论 -
【SpringMVC笔记】1、SpringMVC环境搭建及第一个程序
1.jarspring-aop.jarspring-bean.jarspring-context.jarspring-core.jarspring-web.jarspring-webmvc.jarcommons-logging.jar报错NoClassDefFoundError:缺少jar2.第一个SpringMVC程序①Servet - Springmvcjsp ...转载 2019-04-28 17:06:22 · 214 阅读 · 0 评论 -
【Spring笔记】12、Servlet容器与SpringIoC容器,及二者之间的桥梁
public void init() throws ServletException{ WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext()); studentService = (IStudentService)conte...转载 2019-04-27 19:35:33 · 815 阅读 · 0 评论 -
【Spring笔记】11、拆分Spring配置文件
java项目: applicationContext1.xml applicationContext2.xml applicationContext3.xmlApplicationContext conext = new ClassPathXmlApplicationContext("applicationContext3.xml") ...转载 2019-04-27 17:17:56 · 330 阅读 · 0 评论 -
【Spring笔记】03、value与<value>注入方式的区别,特殊值的注入问题,各种类型的自动装配
1.value与<value>注入方式的区别: 使用子元素<value>注入 而使用value属性注入 参数值位置 写在首尾标签(<value></value>)的中间(不加双引号) 写在value的属性值中(必须加双引号) ...转载 2019-04-17 15:49:32 · 389 阅读 · 0 评论