Java
文章平均质量分 92
喂-不吃素的熊宝宝
汪汪汪!
展开
-
SpringBoot开发和部署路径冲突的妥协
1、使用SpringBoot2.x版本,在开发的时候不做多余配置,启动后直接ip:port/就是根路径了。但在tomcat中部署的时候如果存在多个项目,每个项目都用自己的名称,那么实际访问路径就是ip:port/项目名称/了。2、如果没有其他引用,controller里的requestMapping也不需要添加任何项目前缀,开发和部署都能正常运行,完美。可是如果在html页面引用了静态文件,这...原创 2018-12-01 17:44:13 · 585 阅读 · 0 评论 -
Oracle以及SQLServer的表和记录查询
(1)Oracle表和记录查询select t.table_name,t.num_rows from user_tables t ORDER BY t.table_name;(2)SQLServer表和记录查询SELECT a.name,b.rows FROM sysobjects a INNER JOIN sysindexes b ON a.id=b.id WHERE b.indid I原创 2017-05-04 00:33:29 · 667 阅读 · 0 评论 -
JavaEE开发环境准备
(1)安装JDK,也就是oracle官网的Java SE的那个。安装好之后配置Java的环境变量,参考Java配置—-JDK开发环境搭建及环境变量配置,配置好之后在命令提示符窗口测试一下。(2)下载eclipse,解压就可以直接使用。原创 2017-04-06 15:24:27 · 581 阅读 · 0 评论 -
Mac安装Tomcat8并使用idea写web程序
(1)之前应该安装好JDK,这里不讲。然后去Apache官网下载Tomcat,这里我下载的是Tomcat8,下载zip或者tar.gz格式的文件都行。下载之后解压缩出来一个文件夹,名字一般叫做类似于apache-tomcat-8.5.13这样子。(2)把这个文件夹整个地放在某一个地方,本质上随便放,只要注意你放置的路径里面最好不要有中文即可。我放在/usr/local/下面。(3)这个时候,我们cd原创 2017-04-08 22:06:16 · 3217 阅读 · 0 评论 -
【JavaWeb-1】安装mysql勾选了环境变量设置仍提示“不是内部或外部命令”
1、我们在window上安装mysql的时候,在配置中设置了环境变量,并且在系统的环境变量中也看到了我们mysql的bin目录在里面,但在cmd中写命令的时候总是提示“不是内部或外部命令”。解决方案就是:安装完后重启一下电脑,然后就可以在cmd中自由地敲击mysql了。2、我们在安装mysql时大部分都采用默认设置,只有在选择字符集的时候需要改变一下默认值。3、我们需要关闭或者启动mysql服务的时原创 2016-09-08 17:15:31 · 5871 阅读 · 2 评论 -
【JavaWeb-18】ActionContext存取数据、ValueStack存取值、EL新查找顺序、iterator、OGNL投影、其他标签、UI主题、防重复提交
1、我们之前说过,OGNL上下文包含ActionContext和ValueStack。我们先来说说ActionContext,它是一个大Map,里面装有4个小Map,分别是application、session、request和attr。我们做个测试时往里面存数据然后再取数据。——我们部署好struts2之后,在index.jsp中使用struts标签库。在正文中写<s:debug></s:debu原创 2016-10-07 17:07:47 · 754 阅读 · 0 评论 -
【JavaWeb-17】国际化、自定义拦截器、struts2文件上传与下载、OGNL、contextMap
1、国际化。先写几个properties文件,格式是文件名(随便写)+语言名+国家名。——我们创建3个配置文件,用的是同一个key(UserField),但是值不一样。其中有一个没有语言和国家名的文件是默认文件,如果其他找不到的话就会用这个默认文件。 ——然后,我们用ResourceBundle获取文件资源,它有一个getBundle方法可以添加2个参数,第二个参数就是locale参数,用于指定国原创 2016-10-07 00:43:04 · 1383 阅读 · 2 评论 -
【JavaWeb-25】事务管理相关知识、手动/半自动/自动管理事务案例、整合Junit、整合Web、spring和hibernate整合、struts2和spring整合
1、事务的新知识点,保存点SavePoint。需求:AB(必须),CD(可选) Connection conn = null;Savepoint savepoint = null; //保存点,记录操作的当前位置,之后可以回滚到指定的位置。(可以回滚一部分)try{ //1 获得连接 conn = ...; //2 开启事务 conn.setAut原创 2016-10-18 11:56:30 · 1326 阅读 · 0 评论 -
【JavaWeb-16】静态参数封装、3种动态参数封装、数据类型转换、struts标签、验证器
1、Struts静态参数封装。什么叫封装呢?其实就是把用户输入的数据获取到,然后输出或者封装到类里面去。——静态参数,也就是我们写死的数据,不能算是用户动态提交的数据。我们测试一遍。——新建一个web project,把jar包导入到lib里面,然后在src下面新建一个struts.xml文件,再在web.xml里面配置名字叫struts2的过滤器。我们在struts.xml里面增加如下代码。<st原创 2016-10-04 10:11:44 · 1175 阅读 · 0 评论 -
【JavaWeb-24】AOP介绍和术语、手动/半自动/自动实现AOP、基于XML和注解的AspectJ使用、JdbcTemplate的使用
1、什么是AOP?面向切面编程。它和面向对象编程(OOP)都是一种编程思想。AOP也是为了实现代码重用,只是它的代码重用是通过代理来实现的,而OOP的代码重用是通过集成来实现的。比如我有一个B类,B类里面有几个方法,现在的需求是不破坏B类的前提下,给B类里的几个方法都添加事务。——如果采用OOP的思想,就是我们继承B类,在新的类里面重写这几个方法,有几个方法,就如下德重写几遍。class C ext原创 2016-10-17 10:27:04 · 1226 阅读 · 0 评论 -
【JavaWeb-27】MyBatis进阶的一些概念以及与spring开发框架整合
1、之前我们使用MyBatis时使用用输入参数和输入参数,但是输入参数还有一种我们没用过,就是对POJO的包装类。本质上就是新写一个类,然后把POJO作为它的属性。——先写一个包装类QueryVo:package com.itheima.mybatis.pojo;import java.io.Serializable;public class QueryVo implements Serializa原创 2017-05-25 16:17:29 · 818 阅读 · 0 评论 -
jsp页面报错javax.servlet.jsp.JspException cannot be resolved to a type
1、原因 主要原因就是缺少jar包,缺少servlet下的2个jar包,一个是jsp-api.jar,一个是servlet-api.jar。2、解决方案 ——第一种解决方案就是直接在maven中添加依赖就行。添加的时候,需要注意的是需要把这2个jar包的scope设置为provided,这样只是在编译和测试的时候用我们的jar包,打包的时候不需要用,而是直接用tomcat自带的。这样就不会在打包原创 2017-05-26 09:36:22 · 6061 阅读 · 2 评论 -
【JavaWeb-28】Maven仓库、目录结构、命令和生命周期、添加jar包和插件
1、如果是一个maven项目的话,进入到该项目下,可以直接用下面的命令运行项目:mvn tomcat:run——甚至都不要求安装eclipse或者tomcat,因为maven会利用自己的tomcat插件来运行。启动的时候还打印出项目访问url。比较方便。——其实,以上命令执行时,maven帮我们进行了编译,生成了一个target文件,里面有classes文件夹,存放了编译后的文件。2、Maven仓库原创 2017-05-26 09:13:05 · 755 阅读 · 0 评论 -
JVM类加载器、代码初始化执行顺序
(1)下面第一种和第二种会初始化A执行它的static里面的代码块,但是第三种不会,主要原因就在于第三种情况访问的A的静态变量是静态常量,所以虽然是主动调用了A,但是不会去初始化A,这算是静态常量的特殊性。JVM01是入口类,所以它的静态代码块是肯定要执行的。public class JVM01 { static { System.out.println("static...原创 2018-09-16 17:07:36 · 280 阅读 · 0 评论 -
celerio-angular-quickstart框架初始化踩坑记
【0】本机环境:mac、MySQL。【1】官网有两段命令,Youtube上有个教学视频,基本是直接复制这两段命令,然后就完成了,看的特别简单。实际上,不要直接复制这两段仍然终端,扔进终端意味着你就开启地狱模式了。【2】如果你安装测试有报错,甭管什么报错,先检查一下是否满足官网说的运行环境。下面就是官网要求的,以及本机查看版本和我本机最终安装的版本。Java Development Ki...原创 2018-06-04 16:06:46 · 417 阅读 · 0 评论 -
JAVA、iOS、Android项目代码行数统计
都是只能大概统计一下,不能细问注释行空白行,其他文件等等。(1)iOS项目代码行数统计cd到项目根目录下,然后执行下面的命令,文件后缀自己可以随便更改。Xcode的插件以前是有的,现在貌似没什么插件可用了。find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs wc -l(2)Java代...原创 2018-03-20 16:14:30 · 746 阅读 · 0 评论 -
idea+Spring Boot的第一个应用,以及热部署的配置
(1)创建一个项目,用spring boot,而且配置了maven。 下面是选择一些依赖JAR包,如果开发web项目的话,web包是肯定要导入的,其他的比如数据库或者模板之类的看个人情况。这里面如果你只是想做个demo玩玩不涉及数据库开发的话,那么就不要导入Mybatis之类的依赖, 否则运行的时候他要提示你把数据库的信息配置全了才能运行。 下面就是我们项目的简单代码,就是弄了一个原创 2017-12-01 12:36:06 · 692 阅读 · 0 评论 -
Ubuntu服务器部署Java Web项目
可以用用户名和密码在MAC本地远程登录,如果在终端出现警告提示,那么就在下面命令前面加sudo来操作。ssh [email protected]之后输入密码即可登录。然后做下面的操作。1、安装JREUbuntu服务器,部署JAVA项目。建议先更新一下apt,使用apt update即可。因为不更新的情况下安装下列包时有可能提示unable to locate package ...原创 2018-01-03 19:02:19 · 4733 阅读 · 0 评论 -
【JAVA】Properties文件以及XML文件的读取操作
Properties文件以及XML文件的读取操作原创 2017-10-23 16:17:50 · 892 阅读 · 0 评论 -
【JavaWeb-26】MyBatis快速入门程序+一些扩展
1、一个简单的MyBatis案例。(1)新建一个java项目。导入jar包。jar包从官网下载MyBatis的源码,源码里面有主jar包以及lib里面的依赖jar包,都拷贝过来。其次,我们还用到数据库,这里用的是mysql的,所以再把数据库驱动的jar包也导进来。(2)下面是结构目录。 文件打包下载地址:MyBatis简单入门程序(3)说说思路。——首先是主配置文件,这个名字好像约定俗成了,大家都原创 2017-05-19 13:15:43 · 385 阅读 · 0 评论 -
【JavaWeb-30】SpringMVC原理、入门程序、参数传递
1、springmvc类似于struts,核心就是进行请求响应的处理,但是这里和struts不同的是,springmvc的前端控制器就是一个servlet类,只不过继承了之后做了些改变,所以效率上比struts高,因为struts是封装成了过滤器filter。 2、我们创建一个web项目。——第一步,就是导入springmvc的jar包。——第二步,就是在web.xml中进行前端控制器的配置,其实原创 2017-05-27 21:03:53 · 450 阅读 · 0 评论 -
【JavaWeb-29】Maven依赖冲突、配置ssh框架、搭建maven私服、发包到私服
1、添加jar包依赖的时候。我们之前说可以rebuild index,这样我们就可以搜索本地仓库中的jar包了。但还有一种方式,是当本地没有的时候,我们怎么填写里面的信息。这个时候网络搜索比较靠谱,当然是去指定的网站:mvnrepository。 2、我们在添加jar包的时候,容易引起冲突,但是在引起冲突的时候,maven会帮我们自动解决冲突,除非有时候我们需要自己手动更改。maven帮我们解决冲原创 2017-05-26 14:29:26 · 950 阅读 · 0 评论 -
【JavaWeb-23】spring、IoC控制反转和DI依赖注入入门、基于XML的Bean装配、基于注解的Bean装配
1、spring是一个轻量级的容器(工厂),主要管理对象的(bean)。spring它比较重要,是因为它涉及的范围比较多,甚至可取代struts2来管理web层(springMVC),也甚至可以取代Hibernate管理DAO层(jdbcTemplate),但是我们这里说的spring还是主要集中在service层的管理上。——spring目前已经不仅仅是一个JavaEE管理框架了,它有很多proj原创 2016-10-15 23:23:27 · 1220 阅读 · 0 评论 -
【JavaWeb-15】Struts2环境配置、入门案例、执行流程、package、action、result详解
1、Struts2的历史在此不多说,它是Apache和别人共同开发的,下载的话,可以去Apache的官网。它是用来管理MVC的,也就是项目的表现层。它怎么来管理呢,核心控制器是一个过滤器,所以我们需要在web.xml中配置这个过滤器。2、配置环境。——我们先拷贝jar。我们打开Struts2文件夹,里面的lib包含了很多jar包,但是我们并不需要所有的jar包。所以我们就找到它里面有一个struts原创 2016-09-29 16:31:47 · 1377 阅读 · 0 评论 -
Nginx管理tomcat集群、session共享
1、windows系统下。我们下载tomcat,解压到硬盘里,并且复制一份,文件夹一个叫做tomcat-1,一个叫做tomcat-2。再下载nginx,放在硬盘里。2、这3个其实都是服务器程序。我们直接点击nginx里面的exe文件可以打开nginx,win10下因为80端口冲突我们修改了nginx的端口号为8088。打开后我们在浏览器里localhost:8088可以打开欢迎页面。——我们可以打开原创 2016-09-28 23:36:15 · 870 阅读 · 0 评论 -
【JavaWeb-9】MVC设计模式、处理业务逻辑代码的分层思想、目录结构参照、实践案例
1、B/S也成为瘦客户端,C/S叫胖客户端。JavaWeb设计模式,第一种叫model1(JSP+useBean),基本已经废弃,教学的时候可以用用。第二种叫model2(JSP+servlet+javaBean),其实本质上是模仿MVC的模式,其中servlet是C(控制器),接收到请求后,转到M叫javaBean(模型,主要用3个域对象进行数据的操作)进行一些数据的获取和封装,然后给JSP使用(原创 2016-09-16 22:48:35 · 5199 阅读 · 1 评论 -
【JavaWeb-8】JSP原理、3大命令、6大动作、9大对象、4大域对象、EL表达式、JSTL的几个标签
1、什么是JSP(Java Server Pages)?它和servlet一样都是SUN推出的用于开发动态web资源的一种技术。JSP本质上也是一个servlet。我们暂时可以理解为JSP就是HTML+一些java代码。2、JSP的原理。.jsp文件(比如index.jsp)会被先翻译(转译)成java文件(对应的名字叫做index_jsp.java),然后再被编译成.class文件(index_j原创 2016-09-16 11:06:17 · 4307 阅读 · 3 评论 -
【Java】入门知识点整理-2
1、第二部分的入门主要集中在类。类的变量分为两种,一种是类拥有的叫成员变量,类的方法可以使用;一种是局部变量,也就是在方法中定义的变量,一般不能跨方法使用。两者之间有一个值得关注的区别是:定义成员变量时如果没有赋值的话,类会给它初始化一个值,比如0;而局部变量定义的时候如果不赋值,不会初始化而是会报错。2、需要适应记忆的是构造方法的使用,创建对象关键字是new。 ——构造方法是与类名相同但没有返回原创 2016-09-02 17:15:17 · 397 阅读 · 0 评论 -
【JavaWeb-7】Cookie记住用户名、历史浏览记录与Session的自动系列化、购物车案例、验证码使用
1、Cookie是什么,这里不再详述。只介绍如何使用。——我们知道请求如果满足条件是会带着Cookie的,所以我们获取Cookie是用request。我们设置Cookie是用response。 public void doGet(HttpServletRequest request, HttpServletResponse response) throws Servle原创 2016-09-14 10:58:29 · 2580 阅读 · 0 评论 -
【Java】入门知识点整理-1
1、JDK(java 开发工具包)包含JRE(java运行时环境),JRE包含JVM(java虚拟机)。2、我们编写的是.java文件,由编译器编译成.class文件(可跨平台的关键在于此),最终由解释器执行.class文件。3、java体系中,基础的部分是javaSE(标准版本),还有javaEE(企业版本),还有javaME(用于Android开发)。原创 2016-09-02 13:47:46 · 726 阅读 · 0 评论 -
【JavaWeb-6】HttpServletResponse的字符字节输出流、编码、文件下载、Captcha图片与HttpServletRequest获取request数据表单非表单数据、重定向与转发
1、HttpServletResponse。——我们要输出东西,也就是设置响应的response,在下面我们利用字符输出流来向浏览器输出东西。这里利用了response的getWriter方法,这个getWriter的返回值是一个PrintWriter对象。 public void doGet(HttpServletRequest request, HttpServletResponse re原创 2016-09-13 01:22:21 · 4658 阅读 · 0 评论 -
【JavaWeb-5】Servlet的原理、周期、创建方法、转发、ServletConfig以及重要的ServletContext
1、HTTP。我们在控制台查看浏览器发送的请求和接受的响应时,有时候会发现响应的状态码是304,这个是表示浏览器使用了缓存。2、servlet是一个Java类,是用来专门处理请求和响应的,是部署在服务器上工作的小程序,之所以叫小程序,是因为它只要部署上去就自动运行工作了可以处理事情了。3、操作步骤:先创建一个实现servlet接口的Java类,实现接口所定义的方法,然后在web.xml中配置serv原创 2016-09-11 22:18:19 · 1322 阅读 · 1 评论 -
【JavaWeb-4】Tomcat以及手动、自动部署项目
1、JavaEE规范一共有13种技术,JBoss、WebSphereAS、WebLogic都是支持规范比较好的服务器应用,但是它们太完善,应用占资源较多。Tomcat是小型的服务器应用,它支持servlet/jsp规范,也就是说服务器应用并不需要全部支持13种JavaEE规范。所以如果我们开发的时候用的是servlet/jsp/jdbc等知识的话,Tomcat就足够了也是最好的选择。2、Tomcat原创 2016-09-10 19:59:24 · 1781 阅读 · 0 评论 -
【JavaWeb-3】XML的解析与XPath的使用
1、XML有两种约束方式,一种是dtd(内部dtd和外部dtd,一般外部dtd用的较多),文件后缀是.dtd。另一种是schema,schema的约束更为详细,可以详细到规定只能允许哪些元素、哪些值,文件后缀是.xsd。2、解析XML的核心思想有SAX和DOM,工具包有很多个,比较流行的是dom4j,可以查看官方文档的quick start了解使用方法。实际开发中很少用到,在此只是了解解析原理和过程原创 2016-09-10 07:49:25 · 546 阅读 · 0 评论 -
【JavaWeb-10】事务、事务特征、隔离级别、连接池、DBCP、C3P0、利用tomcat管理数据源
1、事务就是mysql里说的那个事务。——比如我们在一组操作中故意设置个异常,导致第一个执行了第二个没执行。 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try {原创 2016-09-18 15:58:27 · 1652 阅读 · 0 评论 -
【Java】入门知识点整理-3
1、异常。 ——Throwable是鼻祖,下分Error和Exception两类。An Error is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch. 包含的子类有:AnnotationFormatError, Asser原创 2016-09-06 11:13:04 · 330 阅读 · 0 评论 -
【JavaWeb-19】Struts2总结案例中的一些实战知识小点和注意事项
1、我们在CMD中操作数据库的时候,需要插入中文或者显示中文时,默认是会出错的,因为字符集的问题,所以我们需要修改默认的编码,一个是告诉数据库我们客户端采用的是gbk的编码,所以我们输入中文就能被识别,第二个是告诉数据库返回的结果集编码是gbk,这样返回的数据显示出来就是中文了。但是这种设置只是暂时的,我们关闭这个窗口就又会恢复到默认的utf8了。 2、在对应的方法上面输入/**+回车键就会原创 2016-10-09 01:06:05 · 708 阅读 · 0 评论 -
Win10系统Nginx无法启动的问题解决方案
一、答案是因为Win10默认的80端口被占用了,被谁占用了?——先查看这个端口对应的进程pid,是4。 ——然后在任务管理器的详细里面找这个4对应的,确实被占用了,是系统默认的。 二、解决办法——第一个办法是更改系统的默认配置。打开注册表regedit,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP,在右边找到Start这一项,原创 2016-09-28 16:54:21 · 14637 阅读 · 1 评论 -
【JavaWeb-14】代理Proxy、动态代理、AOP编程思想、注解、元注解、类加载器
1、代理的实现。写一个接口,让目标类和代理类都实现这个接口,并且在代理类中引用目标类,我们在实例化目标类的时候,把目标类的实例当做参数传递给代理类,在代理类里面代替目标类进行操作。——我们在使用的时候如下,就是实例化代理类的时候,把目标类(被代理类)的实例给代理类的构造器去构造,这背后,其实就是在代理类里面获得被代理对象,然后我们操作代理的时候本质上是代理在自己的类里面调用了被代理类。 pub原创 2016-09-27 23:46:11 · 837 阅读 · 0 评论 -
【JavaWeb-22】slf4j和log4j的转化、一对一关系的配置、二级缓存的四种类别、阶段案例注意事项
1、补充强化知识点。使用Hibernate时我们需要自己创建数据库,表可以不创建,我们在配置文件中配置了类对应的表之后,程序运行后会帮我们自动创建表(尽管没有涉及到表的插入等操作,只要运行,配置文件就生效就创建表),但是这个自动创建的功能是否能发挥作用,全看是否有下面这个配置:<property name="hbm2ddl.auto">update</property>2、Hibernate默认的是原创 2016-10-13 12:42:13 · 1094 阅读 · 0 评论