---- 一、JSP 文件编译流程原理 JSP 页面在请求的时候会先被 Tomcat 编译为 Servlet(Servlet 是用 Java 语言编写的服务器端程序),然后再由 Java 编译器编译为以..._2020 的输出文件夹,如下图所示: 我们顺着项目文件夹逐级往下查看,就可以看到我们刚才运行 Demo01.jsp 页面的编译输出文件,一个是 JSP 初次编译生成的 .java 文件,一个是...这也就是当初为什么出现 JSP 的原因,使用 JSP 比 Java 节省了大量的代码。 同时论证了 JSP 文件编译后首先生成的是 Servlet。...是否是第一次访问 JSP 文件的流程如下图所示: 但是请注意:如果你的 JSP 文件进行了修改,再次点击保存发布会重新编译,又会重新走编译的流程。...MVC 模式更进一步了解,加深对于 JSP 在架构中所处层次的掌握。
在图中红框处选择Update classes and resources(建议两处都选)----更新java,jsp以及静态资源等....需要注意的是在deployment中要选择wai包,否则没有以上选项。...红框中其他选项的意思: update resources---更新静态资源,如html,js,css等 redeployed----重新部署,重新发布到tomcat(这里是tomcat )服务器上 restart...网上有其他朋友的比较复杂的操作方式,感觉这个比较实用!!!
第一个阶段—-传统版 和MVC的发展一样,一开始所有的业务逻辑处理,数据处理等都放到了JSP中,Jsp是独立的,自主完成所有的任务。 ?...这样的话所有的操作都放到了JSP中,JSP的耦合性太高,这样就带来一系列的问题: HTML代码和Java程序强耦合在一起 内嵌的流程控制逻辑 调试困难 可维护性差,当页面很大的时候,修改里面的内容的时候需要查找整个页面...第二个阶段—-Model1 Model1在传统版的基础上做了一定的分离,JSP页面接受处理客户端请求,对请求处理后直接作出响应,用少量的JavaBean来处理数据库连接、数据库访问等操作,基本的流程如下...Model1模式的实现比较简单,适用于快速开发小规模项目,有优点就有缺点,JSP Model1相当于把View和Controller放到了JSP中,如果开发大型的JAVA WEB项目的话,你想想这一个JSP...resp.sendRedirect(req.getContextPath()+"/login_error.jsp"); } } } 配置文件web.xml <?
viewResolver.setViewClass(JstlView.class); return viewResolver; } /** * /**的意思是所有文件...,包括文件夹中的子文件 * /*是所有文件,不包含子文件 * /是web项目的根目录 * @param registry */ @Override...:" + msg); } 当我访问/user这个地址的时候,直接抛一个异常,这个异常会被使用了@ExceptionHandler注解并且满足过滤条件的方法接收并处理,我们这里当然是来到了exception...这个方法中,在这个方法中我们又定位到了error.jsp页面。...Model中绑定键值对,绑定完成之后,在任何Controller中我们都可以通过给方法的参数设定@ModelAttribute注解来访问这里存入的值,相当于这里的值是一个全局变量。
https://blog.csdn.net/xuzhina/article/details/42686129 1.用gdb打开core文件来确定。
创建演示页面 由于这一系列文章,我主要是想介绍Spring Boot的使用,所以这里我把jsp文件创建在src/main/resources/views/目录下。如下图: ?...在resources目录下还有一个logback.xml文件,这个文件是用来打印日志的,这个文件小伙伴们一会可以直接下载。...另外,由于项目编译之后运行的时候,index.jsp 文件是处于/WEB-INF/classes/views/目录下的,所以前缀为/WEB-INF/classes/views/。...的实例并加载我们的SpringMVC的配置文件,这一步其实也可以通过加载xml文件来完成,当然,这是另外一个话题了。...return "不同路径定位到同一方法"; } } 关于这里的方法我说以下几点: 1.方法中的参数是任意的,可以有可以无,也可以有HttpServletRequest和HttpServletResponse
declaration %> 声明块,在该块内声明的java变量可以在声明处到本jsp页面结尾处的范围内使用。 jsp页面中类和方法的声明必须放在声明块内。...declaration - 要声明的变量、类或方法 2. 脚本块,可以包含有效的java程序片段。...:userBean id="id" spoce="spoce" beanName="beanName" type="typeName" /> jsp:userBean id="id" spoce...标签是或者。...jsp:element>动作标签中定义XML元素的属性;二是设定标准或自定义标签的属性。
user = new UserBean("jack","1997-7-1","女"); // model中添加属性user,值是user对象 model.addAttribute...("user",user); //返回Edit.jsp页面 return "edit"; } @RequestMapping(value="/edit"...model.addAttribute("favorite", user.getFavorite()); System.out.println("user="+user); //返回userPage.jsp...页面 return "userPage"; } /** * 可以用@ModelAttribute注解的方法做一些初始化操作。...* 当同一个controller中有多个方法被@ModelAttribute注解标记, * 所有被@ModelAttribute标记的方法均会被执行,按先后顺序执行,然后再进入请求的方法
图3 我们可以看到之前创建的介质Maven项目还存在src目录,这个我们删掉就可以了,对于我们本章项目来说没有存在的意义。...可以看到我们创建的模块的pom.xml配置文件内对应添加了parent节点项目是我们的介质项目,这也是Maven模块项目的好处,我们可以把共同引入的内容在介质项目的pom.xml配置文件内都引入,那么子项目也就会有相对应的依赖...图7 上图7内我们添加了一个index方法,当我们在浏览器访问/user/index地址时并且将传入的UserBean内的name属性值传入到user_index.jsp页面内,既然UserBean可以在...创建JSP文件 在创建user_index.jsp之前我们需要在application.properties配置文件内添加对应的路径配置,如下图11所示: ?...图11 根据上面的配置所示我们创建的user_index.jsp的所处位置为:/webapp/WEB-INF/jsp/user_index.jsp,创建user_index.jsp文件内容如下图12所示
读完本文,你将会学到: 1、类中定义的method方法是如何在class文件中组织的 2、method方法的表示-方法表集合在class文件的什么位置 3、类中的method方法的实现代码---即机器码指令存放到哪了...对于在类中定义的若干个,经过JVM编译成class文件后,会将相应的method方法信息组织到一个叫做方法表集合的结构中,字段表集合是一个类数组结构,如下图所示: ?...----method_info结构体的定义 对于一个方法的表示,我们根据我们可以概括的信息如下所示: ? 实际上JVM还会对method方法的描述添加其他信息,我们将在后面详细讨论。...举例:对于如下定义的的greeting()方法,我们来看一下对应的method_info结构体中的名称索引和描述符索引信息是怎样组织的。...class文件中的机器指令部分是class文件中最重要的部分,并且非常复杂,本文的重点不止介绍它,我将专门在一片博文中讨论它,敬请期待。
该部分将逻辑判断在UserBean中进行处理,而且不采用配置的方式去实现,为了区分开两种实现方法的不同,在这里将之前设置的内容只是备注掉,并不会删除,也方便之后将两种方式进行对比。...第一部分 LoginController 1 //LoginController这部分使用的注解的方法 2 //因为使用了注解的方法,所以在web.xml中login的acion需要设置为LoginController... 11 12 13 login.jsp 注意在该部分,指定的是LoginController对login.jsp...进行处理,所以action的设置和之前是不一样的。...和login_fail.jsp的内容保持不变 具体的执行效果 ?
考核内容: JQUERY对属性的操作 题发散度: ★★ 试题难度: ★★ 看看大家的选择 解题: 如果会排除法的话一定会从AB中选择一个 如题所示 我们建立一个 如下代码的 DIV ,分别输出各个属性...输出结果 可以看出只有A是对的,其它都是错误的 B 不包括内边距、边框或外边距 C 包括内边距 D 包含外边距 在线测试: 答案: A. width()方法设置或返回元素的宽度(不包括内边距、
jsp页面之间的变量调用有多种方法: 1、通过jsp的内置对象—request对象获取参数: (1)通过超链接传参: 例:把a.jsp...: package com; public class UserBean{ ...中的核心代码为: jsp:useBean id="user" class="com.UserBean" > jsp:setProperty...name="user" property="*">中的星号是表示对所有同名的属性赋值,当然还可以对属性选择性地赋值: jsp:setProperty name="user" property="username...当然肯定还有更好更多的方法,期待高手赐教。
name="error">login.jsp 配置文件与Action建立了一种映射关系,当View层发出请求时,请求会被StrutsPrepareAndExecuteFilter...,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。...要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象....熟悉一下加载的时候:Class对象的由来是将class文件读入内存,并为之创建一个Class对象。 ? Java为什么需要反射?反射要解决什么问题?...反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。
:useBean id="user" class="com.cy.bean.UserBean" scope="request">jsp:useBean> jsp:getProperty property...jsp:forward> 上述有 UserBean 和 CheckUserBean 两个 JavaBean,其中 UserBean 用于展示数据及接收用户输入...同时它摈弃了单例模式,每次都会实例化新的 Controller 处理请求(其中可包含任意多的方法用以执行不同业务),不用担心线程安全问题,缺点是并发量高的时候对象实例激增内存吃紧。...)加上反射机制生成一个代理接口的匿名类,在调用具体方法前调用 InvokeHandler 来处理;CGLIB 利用ASM框架,将目标类生成的 class 文件加载进来,通过修改其字节码生成子类来处理。...JDK 动态代理的目标类必须实现某个接口,只有接口中的方法才能够被代理;CGLIB 无此限制,但是因为采用的是继承模式,所以目标类或方法不能为 final。
而反之将说ava类就是一个JavaBean,这种说法是错误的,因为一个java类中不一定有对属性的设置和获得的方法(也就是不一定有set和get方法)。...:page|request|session|application 需要说明的是:一般情况下,我们保留jsp:useBean/>的body部分为空,如果不为空,则只有初始化此Bean时执行,如: jsp...:useBean id=“person” class=“cn.Person”> 这是body部分,只会在初始化时执行一次 jsp:userBean> 2、访问JavaBean的属性:...所以get方法是肯定不行的,综合,还是上面那个方法好。...-- 以下演示属性名与setter-getter方法比较特殊时的jsp:userBean用法 --> jsp:useBean id="person" class="cn.hncu.bean.Person
最近在做ES全文搜索,需要做个类似于百度搜索下面分页的组件。 找了很多,最后发现jquery.pagination实现分页很方便。...1、JSP页面 从http://www.zhangxinxu.com/jq/pagination_zh/下载对应的JS、CSS文件。...index=__id__" //分页的js中会自动把"__id__"替换为当前的数 }); //这个事件是在翻页时候用的 function pageselectCallback...pageNum=Integer.parseInt(index); } System.out.println("确认页码:"+pageNum); //每一页的页数...() {} public UserBean(String username, String password,int age) { this.username = username
很多框架(比如Spring)都是配置化的(比如通过XML文件配置JavaBean,Action之类的),为了保证框架的通用性,它们可能需要根据配置文件加载不同的对象或类,调用不同的方法,这个时候就必须用到反射...name="error">login.jsp 配置文件与Action建立了一种映射关系,当View层发出请求时,请求会被StrutsPrepareAndExecuteFilter...3、对于每个类而言,JRE 都为其保留一个不变的 Class 类型的对象。一个Class对象包含了特定某个类的有关信息。...> forName(String className) ``` 在JDBC开发中常用此方法加载数据库驱动: 要使用全类名来加载这个类,一般数据库驱动的配置信息会写在配置文件中。...对于很多初次接触的开发者来说应该都有这个疑问?Annontation是Java5开始引入的新特征,中文名称叫注解。
对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念!...JSTL是什么 JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。...format标记库定义了用来格式化数据(尤其是数字和日期)的操作。它还支持使用本地化资源束进行JSP页面的国际化。...但这样做会带来如下问题: jsp维护难度增加; 出错提示不明确,不容易调试; 分工不明确;(即jsp开发者是美工,也是程序员); 最终增加程序的开发成本; 解决上面的问题可以使用定制标记库,JSTL使JSP...符号获取相关数据 例: ${userBean.suser} 或 ${userBean[“suser”]} //获取输出bean中的suser属性值; ${mcType[“id”]} //获取map中key
将项目跑起来,有一些个人建议,仅供作者与使用者参考~ iBase4J从技术选型来看,是没问题的,流程都一样。 我将源码debug,通读了一下,发现一些问题。...1.作者可能还没从单体应用转换为SOA服务化的思维。 文件:iBase4J-Biz-Web/src/main/resources/Spring-config.xml 中 是怎么实现的呢?...对应的service实现类,再找到方法,根据Parameter对象传入的Map或Bean,并去执行此方法。...如SysUserService类中,对于字典的文本读取转换: ``` public Page query(Map params) {
领取专属 10元无门槛券
手把手带您无忧上云