- 博客(60)
- 收藏
- 关注
原创 vue axios 请求后端无法传参问题
axios如果直接传对象,不指定是表单数据的话,会自动帮你转成json字符串给后端(后端可以使用@RequestBody接收参数,我试过使用Map可以接收到前端两个参数)指定了表单数据头部的话,才会传表单数据(后端可以使用@RequestParam来解析表单数据)
2024-02-15 23:10:35
957
2
原创 状态模式
状态模式在编程中,可能会遇到需要进行状态转变的代码,通常我们是定义一堆常量来定义各个状态,通过一个变量来记住当前的状态,但是这样做的话每次操作都得进行一堆的if-else判断,状态一多,代码就很复杂,维护起来也不好维护。这个时候就可以用到状态模式,它把各个状态都用类来表示,状态的动作以及转换交由各个状态自己来维护,这样就不必在主对象中写一堆if-else语句,各个状态分工也很明确。下面是结构图...
2018-12-17 23:43:26
285
原创 迭代器模式
迭代器模式说起迭代器,我们会比较熟悉,Iterator,出现在聚合里,提供了访问聚合中包含的对象的功能,迭代器提供了一系列相同的方法,比如hasnext()、next()等等,我们利用迭代器对聚合进行访问时,不需要知道聚合中如何存储存储一系列对象,我们只需要操作迭代器来进行访问。迭代器模式把访问聚合对象的功能抽取出来,如何访问对象由迭代器自己实现,使聚合对其包含对象的访问中解耦出来。下面是结...
2018-12-16 23:07:40
251
原创 组合模式
组合模式当一个对象具有整体与部分的联系时,可以使用组合模式什么是整体与部分的联系?例如文件跟文件夹,文件夹本身也可以看做是一个文件,其也具有文件名等文件所具有的属性,整体操作跟文件差不多,所以可以把文件夹跟文件看做是同一种东西,但是文件夹下又包含文件,这个文件夹是整体,文件则是部分。下面是结构图:可以看到File类跟Folder的方法都是一样的,但是file类是不支持addFile()这...
2018-12-15 23:25:24
251
原创 装饰者模式 跟 适配器模式
装饰者模式装饰者模式,为原对象增加功能时使用,装饰者模式是针对接口实现的,下面是装饰者模式的结构图。针对Compoment这个接口进行实现,ClassA跟Decorator都实现Compoment这个接口,确保覆写func()方法,装饰者本身是不提供功能的,它只是对原有功能的追加,所以装饰者必须要持有原有的对象,也就是持有Compoment的具体实现,这里ClassA就是具体实现。上图看到...
2018-12-10 22:11:16
261
原创 springBoot-SpringSecurity练习1
最近在学SpringSecurity,来拦截没有登录的用户,以及验证用户是否具有权限访问某个页面,照着网上做了个简单的练习。这里用的是Thymeleaf作为模板引擎,因为SpringBoot建议不要使用JSP,下面是SpringBoot的配置:server: port: 8080 servlet: context-path: /secureTestspring: dat...
2018-12-01 22:01:09
216
原创 利用cglib以及反射实现简单的Autowire
最近在学java代理类的使用方法,结合了之前看过的注解,想自己实现一个简单的类似于Spring的AutoWire的注解。通过注解的方式给对象的字段生成一个代理类对象。首先需要一个注解类,这个注解是RunTime时可以读取到的,作用在字段上,通过value来获取该字段指向的实现类@Retention(value = RetentionPolicy.RUNTIME)@Target(Ele...
2018-09-11 23:32:54
1032
原创 SpringBoot Autowire配置遇到的问题
最近学习使用SpringBoot,在使用自动装配Autowire的时候出现点问题,记录下来。这里使用到了SpringBootTest来测试dao层,在使用Autowire注解让dao自动装配时,遇到了这个问题,dao层一直报错,网上查了之后,说是Idea在使用Autowire这个注解时,有时会出现报错,但是不影响程序运行。 事实上运行它确实报了错,说这个dao层的bean不存在,一开...
2018-05-04 19:29:53
3112
原创 ubuntu apache2的安装 通过http访问svn
上一次在ubuntu上搭建了svn,搭建步骤:svn搭建这一次想通过浏览器http访问svn,首先除了需要svn外,还需要两个工具 apache2、libapache2-svn安装apache2 sudo apt install apache2 sudo apt install libapache2-svn 测试是否安装成功: sudo /etc/init.d/apache2 ...
2018-04-06 23:47:43
1443
原创 ubuntu svn搭建
看了网上很多svn搭建的流程,但是在最后访问svn的路劲都不成功,最后发现了原因,访问的路劲不对。流程下载subversion sudo apt-get install subversion 创建svn仓库 仓库路径创建:mkdir /home/svn/project 仓库创建:sudo svnadmin create /home/svn/repository 仓库创建后,会...
2018-04-05 15:17:56
580
原创 前端展示信息,类似Android的Toast
<div id="toastDiv" class="toast"> <span id="tipMsg"></span> </div>前端页面html,随便找个地方放进去,后面利用css移动到屏幕中间.toast{position: fixed;height: 100px;width: 2
2018-03-01 10:54:30
464
转载 js获取主机名加工程名
最近做东西时需要运用js来向服务器发起请求,使用ajax时需要填写请求的url,在网上找了js获取当前工程路径的方法,记下来以便日后查阅:function getRootPath(){//当前页面var curTotalPath=window.document.location.href;//当前页面路径var pathName=window.document.location
2018-01-13 18:34:36
567
原创 IDEA Spring-Boot没有JSP
在使用IDEA创建Spring-Boot后,发现点击文件夹NEW的时候找不到JSP的选项,在上网查找一番后,找到了解决方法。 Spring-Boot不支持JSP,首先需要支持JSP,在pom.xml中加入支持 <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</
2017-11-18 19:29:06
2117
原创 Idea部署tomcat的根目录
最近想用Idea创建web项目,需要部署tomcat,照着网上的教程部署后,不知道项目的根目录是那个,导致项目的index.jsp无法访问到。 如图,我在WEB-INF下创建了views文件夹·,在views文件夹下创建了index.jsp,这样web.xml文件的welcome-file配置路径不知道怎么写。 最后在工程目录下的.idea/artifacts下找到了部署文件exploded.x
2017-10-28 19:27:56
4285
原创 angular实现input输入监听
最近做用户注册登录时,需要监控用户的输入以此来给用户提示,用到了angular的$watch功能,以下是例子: jsp:<form class="register ng-scope" ng-app="regist_app" onsubmit="registSumbitValid()" ng-controller="regist_control"> <div class="item">
2017-08-10 23:25:46
14726
1
原创 input radio value为中文时js获取radio
做用户信息管理时,有个性别属性,我用的是mysql的enum,所以sex是字符串,input的value直接设置为“女”,“男”,之后在js中想获取radio,在网上查了一些方法,别人的sex属性value为0或者1,获取方法是:$("input:radio[name='userDetail.sex']).eq(0).attr("checked",true);但当我用这种方法获取radio的val
2017-08-01 18:55:27
1170
1
原创 springMVC jsp传送两个不同对象给Controller
最近学习springmvc,想从jsp传送两个java对象的数据给Controller自动装配,在网上查了好久都是List对象的传送,最后终于查到了多个java对象的传送。 这里以用户(User)与用户详细信息(UserDetail)的更新为例,更新用户信息时,同时传送User以及UserDetail。 UserDetail以User的id为主键以及外键: User.java@Componen
2017-08-01 18:11:00
5282
3
原创 Mybatis 多对多注解 查询
学习mybatis多对多注解,记录下来以便日后查询。 这里多对多关系用到了学生(student)和课程(course),一个学生可以选多门课,一门课可以被多名学生选择,中间表stu_cou. Student.javapublic class Student { private int id; private String name; private Classes cla
2017-07-27 15:23:17
1663
3
原创 Mybatis 一对多关联注解
最近学习mybatis,记录下一对多关联注解。 这里用班级(Classes)和学生(Student)一对多关联,配置如下: Classes.javapublic class Classes { public int id; public String name; public List<Student> studentList; //getter/setter
2017-07-26 21:10:43
10511
2
转载 mybatis 一对多/多对多 查询为空
在学mybatis的一对多,多对多关联查询时,由于还没添加关联关系,外键为空,导致查询后返回结果为空。 这里模仿学生(student)与班级(classes)与选课(stu_cou)的关系,在查询一个学生时,把学生表(student)与班级表(classes)与选课表(stu_cou)三个表利用id连接起来,当选课表与当前学生没有联系时,查询为空 原本的select配置是: <select
2017-07-25 18:36:14
3586
转载 mybatis 不同Mapper文件引用resultMap
ClassesMapper.xml: <resultMap type="Classes" id="classesMap"> <id property="id" column="c_id" javaType="int"/> <result property="name" column="c_name" javaType="String"/><!--
2017-07-25 12:35:18
13571
3
转载 mybatis 关联查询 resultMap 同名冲突
在学mybatis写mapper映射文件时,在写到一对一关联时,由于两个javabean的属性相同,导致在select时外部属性覆盖了内部属性: SELECT c.id,c.name,teacher_id,t.id,t.name ,t.age FROM classes c,teacher t 这样子由于Class
2017-07-23 20:42:16
2987
原创 sturts2: jsp 与action之间的list传送
action->list: s:text可以直接在name中使用list对象中所对应的对象的属性,也可以直接在name中调用iterator的value值:marketCarList来获取对象,结合status的index值来获取对象 s:textfield 取值跟是s:text没多大区别,显示是通过value属性来显示的,但是在根据iterator的value值:marketCarList对象
2017-07-18 22:19:46
432
原创 后台开发遇到的问题:struts2 s:text无法传值
在后台开发过程中,想通过s:text来显示id数据,不想通过s:textfield来显示,因为s:textfield显示会可以修改,需要通过设置readonly属性来设置不可修改,并且还得设置长度,但是通过s:text不能向action传值,解决办法: <s:hidden value="%{id}" name="marketCar.id" ></s:hidden>
2017-07-18 15:05:27
709
原创 spring aop action中验证用户登录状态
最近在学习ssh框架时,照着网上做了一个商城系统,之前在一些需要用户存在的操作中,都是在每一个action中写重复的代码,这样做现在想起来并不好,想起了spring的aop,于是想通过aop来给每个需要用户操作的Action验证用户登录状态。想法是这样的: 1. 用户登录时把userId放入session中 2. 通过spring 写一个advice来获取session中的userId,判
2017-07-16 15:23:26
1221
原创 spring+hibernate junit测试
首先导入包:spring-test.jar和junit.jar,建议直接maven下载这些包其次建立一个测试类,写上测试方法: @Before public void before() { } @Test public void test() { flower=new Flower(); flower.setName("测试花"); flower.setPri
2017-07-08 13:58:01
382
原创 struts2 action跳转指向action
今天学习过程用到了action根据参数不同跳转到不同页面,由于不同页面参数不同,所以action的跳转需要指向其他action来配置参数,写下博客记下来先。网上查了一下action跳转action,在struts.xml文件中配置action: getFlowerInfoAction /flower_add.jsp /flower_update.jsp 在中
2017-07-01 22:43:21
529
转载 子Iframe提交action后父Iframe实现跳转
刚在做一个页面,其中有子Iframe,包含登录跟注册,希望在登录后,父页面进行刷新,网上找了下location.href当前页面跳转parent.location.href当前页面的父页面跳转top.location.href最外层页面跳转登录提交验证后,回到成功页面,页面里利用jsp输出js语句进行跳转out.write("window.paren
2017-06-28 22:41:09
1378
1
原创 我遇到的问题:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
在创建jsp页面时,页面发出了这个错误,解决方法:右键点击项目-->properties-->java Build Path-->Libraies-->Add Libraies选择Server Runtime-->Apache TomcatFinish,完成.如果没有添加Tomcat到eclipse需要添加tomcat:右键点击项目-->
2017-06-21 13:25:54
508
原创 我遇到的问题:ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
在使用spring中启动项目出现这个问题,解决方法:我使用的是maven,要确保mavenLibrary也部署到tomcat中右键点击项目-->properties-->Deployment Assembly,图如下如果没有Maven Dependencies,点击Add添加Maven Dependencies
2017-06-21 13:02:04
365
原创 我遇到的问题: There is no Action mapped for namespace [/] and action name
今天在使用struts2后遇到了这个问题,在网上查了好久的答案,解决问题的办法一般是这两个:struts.xml文件编辑有错,包括文件名和内容struts.xml文件没有放到src路径下面之前使用struts2的时候没有遇到这个问题,所以我怀疑可能是文件编辑出了错误,每个字母每个字母的查,涉及到的class路径也查了几遍,还是出现这个错误- -|||,应该不是第一个错误. 第二个错误是没把s
2017-06-14 21:17:21
390
原创 Jsp:useBean jsp:setProperty
<jsp:useBean id="user" scope="page" class="com.lsj.jspaction.bean.Person">使用useBean可以创建一个javaBean对象,其中:id:相当于bean的名字,之后要用到bean就用这个属性scpoe:是这个bean存在的范围,共有四个范围: -page:仅在当前页面有效 - request:一次请求间有效
2017-06-09 18:07:52
549
原创 css white-space 属性介绍
css white-space 属性介绍white-space属性:normal、pre、nowrap、pre-wrap、pre-line我的总结是,文本在这里有3个特性,是否忽略空格、是否忽略换行、是否自动换行。忽略空格:遇到空格,不管多少个都认为是一个。忽略换行:遇到换行认为是一个空格而不执行换行操作(这里的换行是指回车ENTER,不是指br换行符,五个属性用br标签都可以换行,按回车就不一
2017-04-30 20:22:42
911
1
原创 Scanner 方便地截取String中各种数据类型
public class Main { public static void main(String[] args) { // write your code here String string="Shaojia Lin\n23"; Scanner scanner=new Scanner(new StringReader(string));
2017-02-13 21:28:21
887
翻译 创建以及响应菜单、上下文菜单
创建菜单:@OverrideonCreateOptionMenu(Menu menu, MenuInflater inflater){inflater.inflate(R.menu.xxx,menu);}用参数inflater的inflate方法,把menu文件的资源传入menu中,该菜单指的是位于工具栏的菜单。响应菜单:@Overrideo
2016-09-29 21:45:51
604
原创 listView长安出现选项菜单
最近自己做了个东西,里面需要长按listview出现选项菜单来进行对这个list的操作,在网上查了许多方法,最后选择了一个可以跟list中某个指定的item交互的方法 public class myOnItemLongClickListener implements AdapterView.OnItemLongClickListener{ @Override
2016-09-11 14:45:34
705
翻译 android程序切换屏幕或者f返回到桌面,用什么方法还原
今天看了Android权威编程指南,看到了关于切换屏幕(横屏竖屏的切换)还有在运行程序时返回桌面时,应该怎么保存状态,可以使程序继续运行时能够返回到当时的状态,而不是新建对象导致页面返回初始化。在Activity中,横竖屏的切换,返回桌面,要是程序继续返回上次的状态运行,我们可以用OnsaveInstanceState()方法,但是随着我们fragment的出现,在横竖屏切换时,我们可
2016-09-07 19:26:38
1937
翻译 刚刚装了ubuntu,遇到error:file /boot/grub/i386-pc /normal.mod not found
首先在grub rescue>输入ls 看看你的分区之后得看你的在装系统进行分区的时候有没有把/boot独立分出来:情景一:分区时/boot没分出来输入:(*------这是注释,msdosX中的X表示分区标号,可以由ls看出,X依次尝试更换--------*)set root=(hd0,msdosX)set prefix=(hd0,msdosX)/boot/grub
2016-08-24 23:23:13
10711
原创 SQLite android.database.CursorIndexOutOfBoundsException
今天用到了数据库SQLite,在遍历的时候出现了数组溢出报错,一开始遍历时用的是cursoe.move(i)的方法,逻辑也没有错,上网查了一下,别人也遇到这种状况,也是用了cursor.move()这个方法,别人用了其他移cursor的方式来解决,我把循环方式换了一下,确实不再报错了。 Cursor c = sqLiteDatabase.query("表名", null, nul
2016-08-14 20:47:51
434
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人