javaWEB项目感受
1.WEB-INF下的内容是受保护的,不能直接访问,可以通过转发的方式访问。
2.OGNL技术:
对象图像导航语言,是一种功能强大的表达式语言。可以让我们用非常简单的表达式访问对象层。
OGNL引擎访问对象的格式:Ognl.getValue("OGNL表达式",对象本身);
OGNL表达式:可以包含任何,包括各类表达式,计算公式,对象属相。某些方法等
步骤一:创建对象类,通过OGNL来取对应的数
package org.tedu.action; import java.util.List;
import java.util.Map; public class Foo { private Integer id;
private String name;
private String[] array;
private List<String> list;
private Map<String,String> map; public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String[] getArray() {
return array;
}
public void setArray(String[] array) {
this.array = array;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
} }
步骤二:具体去的方式
package org.tedu.action; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import ognl.Ognl;
import ognl.OgnlException; public class TestOGNL { public static void main(String[] args) throws OgnlException {
Foo f=new Foo();
f.setId(1);
f.setName("Bosh");
f.setArray(new String[]{"one","two","three"});
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
f.setList(list); Map<String,String> map=new HashMap<String,String>();
map.put("1", "java");
map.put("2", "hadoop");
map.put("3", "python");
f.setMap(map); System.out.println(Ognl.getValue("id", f));
System.out.println(Ognl.getValue("id+78", f));
System.out.println(Ognl.getValue("name", f));
System.out.println(Ognl.getValue("\"what is\" + name", f));
System.out.println(Ognl.getValue("array", f));
System.out.println(Ognl.getValue("list", f));
System.out.println(Ognl.getValue("map", f));
System.out.println(Ognl.getValue("name.toUpperCase()", f));
}
}
结果:
1
79
Bosh
what isBosh
[Ljava.lang.String;@12b82368
[a, b, c]
{3=python, 2=hadoop, 1=java}
BOSH
javaWEB项目感受的更多相关文章
- log4j在javaWeb项目中的使用
在前边的文章中对log4j的配置文件进行了说明,今天介绍如何在普通的javaWeb项目中使用log4j. 在日常的开发过程中,日志使用的很频繁,我们可以利用日志来跟踪程序的错误,程序运行时的输出参数等 ...
- Druid使用起步—在javaWeb项目中配置监控 连接池
当我们在javaWEB项目中使用到druid来作为我们的连接池的时候,一定不会忘了添加监控功能.下面我们就来看一下,在一个简单的web项目中(尚未使用任何框架)我们是如果来配置我们的web.xml来完 ...
- (转)一个JavaWeb项目开发总结
原文地址:http://www.cnblogs.com/lzb1096101803/p/4907775.html 一.学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml-&g ...
- JavaWeb项目前端规范(采用命名空间使js深度解耦合)
没有规矩不成方圆,一个优秀的代码架构不仅易于开发和维护,而且是一门管理与执行的艺术. 这几年来经历了很多项目,对代码之间的强耦合及书写不规范,维护性差等问题深恶痛绝.在这里,通过仔细分析后,结合自己的 ...
- 关于服务器响应,浏览器请求的理解以及javaWeb项目的编码问题
1.服务器(Server)响应,浏览器(Brower)请求: 对于B/S的软件,数据的传递体现在,用户利用浏览器请求,以获得服务器响应.在JavaWeb项目中,大致包含.java文件的数据处理模块,和 ...
- 四、使用Maven和使用Eclipse构建javaWeb项目
环境前边已经搭建过了,我们就再弄了. 1.使用Maven构建javaWeb项目 (1).键入以下命令: $ mvn archetype:generate -DgroupId=com.holytax.w ...
- Eclipse导入JavaWeb项目报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
JavaWeb项目中写的JSP页面需要Web容器解析处理成HTML才能展示到前端浏览器,解析JSP需要Web容器.JSP页面顶端出现“红色”的报错信息:The superclass "jav ...
- JavaWeb 项目中的绝对路径和相对路径以及问题的解决方式
近期在做JavaWeb项目,总是出现各种的路径错误,并且发现不同情况下 / 所代表的含义不同,导致在调试路径上浪费了大量时间. 在JavaWeb项目中尽量使用绝对路径 由于使用绝对路径是绝对不会出 ...
- 一个JavaWeb项目开发总结
一.学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml->mvc->db->spring ioc->log->代码 先了解项目数据库的表结构,这 ...
随机推荐
- 获取datagrid选择行
var rows = $('#dg').datagrid('getChecked'); var ids = ''; for (var i = 0; i < rows.length; i ...
- ssh框架整合---- spring 4.0 + struts 2.3.16 + maven ss整合超简单实例
一 . 需求 学了这么久的ssh,一直都是别人整合好的框架去写代码,自己实际动手时才发现框架配置真是很坑爹,一不小心就踏错,真是纸上得来终觉浅! 本文将记录整合struts + spring的过程 , ...
- MVC4下配置log4net 五部曲
第一步:把log4net.dll 编译成Framework 4.0 第二步:找到项目的Properties下的AssemblyInfo.在最下面添加:[assembly: log4net.Config ...
- 第三章 深入 ZAB 协议
上一节介绍了ZAB协议的内容,本节将从系统模型.问题描述.算法描述和运行分析四方面来深入了解 ZAB 协议. 系统模型 在一个由一组进程 n ={P1,P2,...Pn}组成的分布式系统中,每一个进程 ...
- Java 测试URL地址是否能正常连接
public static int testWsdlConnection(String address) throws Exception { int status = 404; try { URL ...
- Redis在CentOS6.4中的安装
首先,介绍一下Redis数据库.Redis是一种面向“键/值”对数据类型的内存数据库,可以满足我们对海量数据的读写需求. 1)redis的键只能是字符串: 2)redis的值支持多种数据类型: a:字 ...
- IOS学习笔记之关键词@dynamic
IOS学习笔记之关键词@dynamic @dynamic这个关键词,通常是用不到的. 它与@synthesize的区别在于: 使用@synthesize编译器会确实的产生getter和setter方法 ...
- I Hate It(hdu1754)(线段树区间最大值)
I Hate It hdu1754 Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- Hibernate映射问题之OneToOne【自己整理】
首先贴上一个MkYong的例子 stock.java package com.mkyong.stock; import javax.persistence.CascadeType; import ja ...
- 第12周&第13周
12&13:STL Standard Template Library sort, binary_search/lower_bound/upper_bound, multiset, set, ...