java自定义MVC框架

				自定MVC义框架
                                        
                                            
                                         刚刚学习 自定义mvc框架的,纯粹是为了巩固用的,要是有什么不对的地方,请告诉我,后期会经常修改这篇毕竟这是开始。

学习后的总结:
自定义mvc框架首先需要到的文件有:
1: 一个Action接口 接口中的方法是 public String execute(HttpSevleRequest request,HttpServletResponse response);
2:还有要有根据需求的 类 来实现 这个Actio接口 比如说 LoginAction 它要实现 Action 中的 public String execute(HttpSevleRequest request,HttpServletResponse response); 它的返回值是 将要配置的 struts.conf.xml 中的 节点下的 节点中 的 name 属性的值;
3:然后就是要配置我们在第二条中提到的要配置的 struts.conf.xml 文件,这个第一步 就是写一个xml文件格式如下(放在WEB-INF文件夹下):



/success.jsp
/login.jsp



格式就是上面的格式 上面的节点都是必须的所以最好就是背下来,首先和不用知道他们是什么意思,因为我也不知道,我只知道下包含这,下包含这。 然后我们来说一下节点中的属性的意思:⑴:name: 意思是你是从那个地址提交到ActionServlet的,这个这样讲有点模糊这样说吧 就是 到时候你要解析这个 strust.conf.xml,会以对象的形式放到一个map集合里,存放的规则是 <ActionMapping.getName(),ActionMapping> ,到时候你取值的时候是通过ActionMapping的name属性来取到ActionMapping,ActionMapping 这个类是用来封装 节点的,就是说中的元素都和的子节点都会放到ActionMapping中, 所以ActionMapping中的name就是节点的name.到时候你从页面输入一个地址比如说 login.do(这个是相对路径建议用绝对路径),然会通过截取字符串的方式拿到"login",然后就可以后拿到一个ActionMapping的对象。 ⑵:.class:意思是类的全限定名,到时候要反射生成一个实现Action接口的类,而生成这个类需要用到这个类的全限定名。上面提到的Map集合 通过提交地址 生成 不同的类,但是这些类都有一个共同点那就是都继承了Action接口。⑶: :我们会建一个result类来封装它的属性。首先 他有两个属性和一个地址 这些东西都要封装到 result 类里面 ①:name 就是 实现了Action 接口中方法的类,该方法的返回值。根据不同的返回值获得不同的result; ②:redirect :是转发还是重定向,就是request 还是 response 转到下个页面; true为重定向 ,false 是 转发。 ③:节点中间的值,就是你要转到的地址。4:上面说了xml现在就是说一下 用来封装 和 节点的类,这两个类分别是 ActionMapping 和 Result 其实也没有什么好说的 就是说一下里面有哪些属性 首先说一下 ActinMapping 类中的属性 :它里面有 name clssName Map<Strng,Result> resultmap=new HashMap<String,Result>();其中String 是 Result类中的name属性,这三个属性 都要封装起来,这些属性是和节点中的属性相对应的其中 map集合是用来存储 Result 类的对象的。因为节点会被封装到Result类中,并且节点下有多个节点,还有就是要通过result.getName(),来拿取Result,所以用Map来存储他。 然后是Result类中的属性:它的属性有 name ,redirect,value 其中name和redirect 对应这中的属性,value:对应的是节点中间的地址。5.还有一个ActionMappingManager类 是用来解析xml的,课本上有,网上也有解析xml的案例可以去找来看看就知道怎么解析xml了,推建用jdom来解析xml,我们老师说用jdom来解析xml的,建议在这个类中定义一个 public static Map<String,ActionMapping> ActionMappingmap=new HashMap<String,ActionMapping>(); 用来存储ActionMapping的。6.ActionManager 用来反射生成Action类的 这个类:有两方法:我给大家写出来:public class ActionManager{ 注:形参classname是类的全限定名; //生成Action public static Action createAction(String classname)
throws InstantiationException, IllegalAccessException { return (Action) getClass(classname).newInstance(); } public static Class getClass(String classname) { Class clazz = null;
try {
clazz = Thread.currentThread().getContextClassLoader()
.loadClass(classname);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
clazz = Class.forName(classname);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return clazz; } } 7. 接下来 就是写一个 ActionServlet 他继承了 HttpServlet,这个就不多介绍了,在写这类的时候一定要看是怎么配置web.xml的。OK。
(https://avatar.csdn.net/7/7/B/1_ralf_hx163com.jpg =30x30)

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。1

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t &ThinSpace; . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. 注脚的解释 ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值