深入研究 蒋金楠(Artech)老师的 MiniMvc(迷你 MVC),看看 MVC 内部到底是如何运行的 2014-04-05 13:52 by 自由的生活, 645 阅读, 2 评论, 收藏, 编辑 前言 跟我一起顺藤摸瓜剖析 Artech 老师的 MiniMVC 是如何运行的,了解它,我们就大体了解 ASP.NET MVC 是如何运行的了.既然是“顺藤摸瓜”,那我们就按照 ASP.NET 的执行顺序来反推代码.准备好了吗?Let's go! 解决方案大体结构 PS:原本很多代码没有注释,我…
在我们的开发中,最常用的开发模式莫过于MVC模式,即M--MODEL.V--View.C--Controller,这样不仅可以方便开发人员分工协作,提高开发效率,增强程序的可维护性和拓展性,而且利用Controller将Model与View分离,降低他们之间的耦合度.下面的一张图将说明在servlet和jsp中mvc的应用. 看了这张图,我们大概可以看出mvc在servlet+jsp开发中各个模块的具体体现,可能上面画的还是无法具体的描述出mvc中他们所代表的具体含义和作用,下面我们来具体说明一…
基本上是<Head First Servlets and JSP>内容的整理.扩充.顺便推荐一个供参考的JSP教程:JSP Tutorial内容很全面,还有一些有趣的实例. 完整代码参考 EL隐式对象汇总 pageContext使用参考 EL表达式的基本规则 关于EL的一些细节 通过EL获得request参数 从request得到更多信息 获得Request Method? xxxxScope有意义吗? 通过EL调用函数 EL与数学运算 1.EL隐式对象汇总.如下所示: 更详细的内容可以参考 …
Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP.JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式.…
JavaWeb核心篇(3)--JSP,MVC,三层架构 在本篇文章中我们会学习到JSP,MVC,三层架构 虽然JSP已经快被时代所淘汰,但是在一些老旧的工作场所还是有在使用,所以了解一下也不为过 至于MVC和三层架构,应该是属于核心思想部分 JSP 首先我们先来简单介绍一下JSP: 概念:Java Server Pages ,Java服务端页面 一种动态的网页技术,其中既可以定义HTML,JS,CSS等静态内容,还可以定义Java代码的动态内容 JSP = HTML + Java JSP的作用:…
到目前为止,我们的MVC+EF Core 完整教程的理论部分就全部结束了,共20篇,覆盖了核心的主要知识点. 下一阶段是实战部分,我们将会把这些知识点串联起来,用10篇(天)来完成一个开源项目. 现向园友征集题材,你提需求我来实现. 我将会在选取一个相对适合的题材,通过敏捷开发,快速迭代,将详细开发过程记录下来,抛砖引玉,供大家参考. 前面已完成的20篇我们以技术为主导,后面的10篇我们将会以产品为主导. 请在评论中提出你的需求,并加以简明扼要的描述. 题材最好是有趣的.有一定应用价值的,例如像…
1.首先,写一个download.html放至D:\apache-tomcat-7.0.77\webapps\JarDownload-v1. <!DOCTYPE HTML> <html> <body> <form action="JarDownload.do" method="get"> <br /> 提取码:<input type="text" name="passwd…
1.采用MVC,不仅要求业务逻辑和表示分离.实际上,业务逻辑甚至根本不知道表示的存在.MVC的关键是,业务逻辑要与表示分离,而要求在中间放上别的东西,这样业务逻辑本身就可以作为一个可以重用的Java类存在,它根本不用对视图有所了解. 2.MVC迷你教程,创建和部署MVC Web应用. 第一步:分析用户视图,以及高层体系结构 第二步:创建用于开发这个项目的开发环境 第三步:创建用于部署这个项目的部署环境 第四步:对Web应用的各个组件完成迭代的开发和测试 第一步:分析用户视图,以及高层体系结构(方…
一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装dao层com.amos.dao.daoimpl 实现dao层接口com.amos.service 封装service层com.amos.service.serviceiml 实现service层接口com.amos.web.controller业务逻辑层com.amos.web.listener 监…
创建一个小的 web 应用, mvc, 麻雀虽小, 五脏俱全 补1: servlet没有main()方法, 他们受控与另外一个Java应用, 这个Java应用称为 容器, tomcat就是这么一个容器, web服务器(如apache)得到一个指向servlet的请求时, 服务器不是把这个请求给servlet本身, 而是交给部署该servlet的容器, 要由容器向servlet提供http请求和响应,而且由容器调用servlet的方法(doGet()和doPost()), 容器运行多个servle…
Controller的激活 ASP.NET MVC的URL路由系统通过注册的路由表对HTTO请求进行解析从而得到一个用户封装路由数据的RouteData对象,而这个过程是通过自定义的UrlRoutingModule对HttpApplication的PostResolveRequestCache事件进行注册实现的.RouteData中已经包含了目标Controller的名称,现在我们需要根据该名称激活对应的Controller对象. MvcRouteHandler 对于这个“迷你版”的MVC框架来…
ASP.NET 由于采用了管道式设计,具有很好的扩展性.整个ASP.NET MVC应用框架就是通过扩展ASP.NET实现的.通过ASP.NET的管道设计,我们知道,ASP.NET的扩展点主要是体现在HttpModule和HttpHandler这两个核心组件之上,实际上整个ASP.NET MVC的框架就是通过自定义的HttoModule和HttpHandler建立起来的. 当然,要从整体上把握ASP.NET MVC 的工作机制,我们可以通过查看其源码或自己实现一个“迷你版”的ASP.NET MVC…
典型的安全问题:假冒者.窃听者.非法升级者 认证方式: Base64 .摘要认证 .客户端证书.表单认证,重点熟悉摘要算法( HASH . MD5 等) 安全机制:授权.认证.数据完整性.机密性 80 端口. 443 端口 通过 HTTP . HTTPS 传输数据的区别, SSL 等概念 重放攻击. SQL 注入等 [参考] <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="ht…
物理目录结构与虚拟目录结构的差异 WAR 实际上就是 JAR 什么东西应该放在 WEB-INF 文件夹下? <mime-mapping> 相关 <env-entry> 相关 [传统 web.xml 参考] <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi=…
[HttpServletResponse resp] [由servlet处理响应] 1.一般可以用通过resp获得一个输出流(writer),然后通过输出流将HTML写入响应.例如: resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); out.println("Beer Selection Advice<br>"); 2.常用的一些方法. 3.有时还会用到.....…
1.JSP (1)JSP概念:Java Server Pages 即java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写!!! (2)原理JSP本质上就是一个Servlet (3)JSP的脚本:JSP定义Java代码的方式 1. <% 代码 %>:定义的java代码,在service方法中.service方法中可以定义什么,该脚本中就可以定义什么. 2. <%! 代码 %>:定义的java代码,在jsp转换后的java类…
前言 跟我一起顺藤摸瓜剖析 Artech 老师的 MiniMVC 是如何运行的,了解它,我们就大体了解 ASP.NET MVC 是如何运行的了.既然是“顺藤摸瓜”,那我们就按照 ASP.NET 的执行顺序来反推代码.准备好了吗?Let's go! 解决方案大体结构 PS:原本很多代码没有注释,我按照自己的理解,增加了一些注释,希望能帮助您,共同提高,谢谢! 1. Global.asax 探究 ASP.NET 中的 Application_Start 方法一般是最先执行的,我们有必要知道当应用程序…
原文地址:http://www.cnblogs.com/Music/p/mini-mvc.html (含代码) ASP.NET MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用 地址:http://www.cnblogs.com/artech/archive/2012/03/11/mvc-how-to-work-01.html(含代码) 前言 跟我一起顺藤摸瓜剖析 Artech 老师的 MiniMVC 是如何运行的,了解它,我们就大体了解 ASP.NET MVC 是如何运行的了.…
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="json" uri="http://www.atg.com/tagli…
include指令与include动作 1.样例代码 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import = "java.io.*,java.util.*" %> <html> <head> <title>Auto Refresh Header Example</titl…
直接从请求到JSP,不经过servlet <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> body { font-family:'comic sans ms',sans-serif; } </style> </head> &l…
可以建立多态的bean引用吗 使用type,但没有class scope属性默认为“page” 从有脚本到无脚本 1.快速搭建一个测试环境:输入用户名,返回“Hello, 用户名” index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style>…
1.EL的英文是Expression Language,译成中文就是“表达式语言”.这是一种给前端程序员使用的脚本语言,EL与Java表达式相比并没有什么“天壤之别”,在后端程序员看来多少有点“多此一举”. 2.然而,我们不能强求每一个前端程序员都去学习JAVA,EL相对于JAVA来说学习成本更低,更容易理解. 3.在以前写的代码上实践测试一下,首先把Scriptlet给禁了,(El也是可以禁的) <?xml version="1.0" encoding="UTF-8&…
1.把Java放到HTML中,JSP应运而生. 2.Servlet本身并没有main()方法,所以必须要有其他Java程序去调用它,这个Java程序就是Web容器(Container).Tomcat就是一个容器. 3.容器能提供什么? 通信支持 -不用再写ServerSocket了 生命周期管理 -容器控制着Servlet的生与死 多线程支持 -容器会自动地为它接收的每一个Servlet请求创建一个新的Java线程 声明方式实现安全 JSP支持 -容器负责把JSP代码翻译成Java 4.容器如何…
内容来自imooc. 1.什么是JSP动作元素 2.在JSP页面中如何使用Javabeans <jsp:......>表示这是一个JSP动作元素 3.使用JSP动作元素创建JavaBean的实例 <%@ page import="com.po.User" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html&g…
mark. jetbrain tomcat配置:https://www.jetbrains.com/help/idea/2017.1/creating-and-running-your-first-web-application.html PageContext 任何作用域的属性都可以从PageContext获得,甚至不知道属性处在哪个作用域都可以找到!(属性的查找遵循的顺序是:PageContext--> ServletContext--> ..... 不过,为什么这样的东西在servlet…
1.容器根据你所写的JSP生成一个类, /* * Generated by the Jasper component of Apache Tomcat * Version: Apache Tomcat/7.0.77 * Generated at: 2017-06-11 15:47:28 UTC * Note: The last modified time of this file was set to * the last modified time of the source file aft…
接笔记15. 1.不管是JSP中的<%%>还是<%\=%>最终都将处于servlet的方法体中,那么有没有一种元素可以声明成类的成员呢? ——答案是有,而且非常非常简单,这个元素就是<%!%>,我们用它来解决笔记15中的问题,只需要在原基础上加一个感叹号就可以了. <%@ page import="Sample.Counter" %> <%@ page contentType="text/html;charset=UTF-…
1.这是一个非常简单的程序,它看起来是这个样子的: 实际功能就是,每访问该页面一次count数加1,在服务器重启前(JVM重启前),这个次数将持续累加. 2.因为这个程序过于简单,所以我希望可以通过HTML内置Java来完成. 这样做的好处就是:可以把写servlet的事情交给web容器来做. 3.代码如下: package Sample; public class Counter { private static int count; public static int getCount()…
session的接口 杀死会话 cookie的性质 cookie的接口 再总结——cookie.session.JSESSIONID的前世今生 简单的定制cookie示例 1.session的接口,配合一些代码来理解. 2.杀死会话——杀死的含义是使session无效化(在JVM中清除??). 立刻杀死,已知方式有两种, 在DD中设定“默认期限” 在代码中对具体session设定“期限”(不过,如果你设置为-1的话,session将永远不会过期,因为这个时间永远到不了,,) 3.cookie的特…