HTML简介
快速开发平台HTML称为超文本标记语言,是一种描述文档结构的标记语言,它是一种应用非常广泛的网页格式,它与操作系统无关,只要有浏览器就可以运行HTML文档,显示网页内容。
1.标题<Hn>
格式:<Hn>标题</Hn>,n可取1~6之间的值。
<h1>到<h6>字体依次变小。
2.字体变化<font>
(1)size用来设定文本大小 <fontsize=n>...</font>n为1~7,数字越大字体越大。
(2)face用来设定文本的字体 <fontface="字体名称">...</font>
(3)color设定文本的颜色 <fontcolor="颜色">...</font>
(4)显示小字体用small <small>...</small>之间的文本显示时变小
(5)显示大字体用big<big>...</big>之间的文本显示时变大
(6)粗体字<b>...</b>之间的文本产生加粗效果
(7)斜体字<i>...</i>之间的文本产生斜体效果
(8)下划线<u>...</u>之间的文本显示时加底线
(9)删除线<s>...</s>之间的文本显示时加删除线
3.强制换行<br>
<br>为换行标记,<br>属于单标记,没有结束标记4.段落标记<p>
<p>用于分段,<p>...</p>之间的文字在同一段落。结束标记</p>可以省略,下一个<p>开始意味着上一个<p>结束。文字的对齐方向<palign="n">
n可为
left:表示向左对齐
center:表示向中对齐
right:表示向右对齐
5.水平线标记<hr>
<hr>可以在页面中产生一条水平线,没有结束标记。(1)分隔线的粗细,值为整数,单位为像素<hrsize=s>
(2)分隔线对齐方向,<hralign=n>
n可为left:表向左对齐
center:表向中对齐
right:表向右对齐
(3)分隔线的颜色<hrcolor=颜色>
HTML特殊字符过滤器
/** * HTML标签过滤,防止用户恶意提交带HTML标签的数据 * * @author liulg */
public class HTMLCharacterRequest extends HttpServletRequestWrapper { public HTMLCharacterRequest(HttpServletRequest request) { super(request); } @Override public String getParameter(String name) { String value = super.getParameter(name); return filter(value); } @Override @SuppressWarnings("unchecked") public Map getParameterMap() { Map<String, String[]> map = super.getParameterMap(); Map<String, String[]> map_ = new HashMap<String, String[]>(); Set<Entry<String, String[]>> set = map.entrySet(); Iterator<Entry<String, String[]>> it = set.iterator(); while (it.hasNext()) { Entry<String, String[]> entry = it.next(); if (entry != null && entry.getValue() != null && entry.getValue().length > 0) { String[] array = new String[entry.getValue().length]; for (int i = 0; i < entry.getValue().length; i++) { array[i] = filter(entry.getValue()[i]); } map_.put(entry.getKey(), array); } } return map_; } @Override public String[] getParameterValues(String name) { String[] values = super.getParameterValues(name); if (values == null || values.length == 0) return values; for (int i = 0; i < values.length; i++) { String str = values[i]; values[i] = filter(str); } return values; } private String filter(String value) { if (StringUtil.isNotBlank(value)) { value = value.replaceAll("<", "[").replaceAll(">", "]"); } return value; } }
/** * 权限访问控制 * * @author luo */ public class PermitFilter implements Filter { private static Map<String, Object> sysMenusMap = new HashMap<String, Object>(); private static String[] params = null; private final static String LOGIN_VIEW = "/jsp/index/login.jsp"; public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) resp; String uri = request.getRequestURI(); String contextPath = request.getContextPath(); uri = uri.substring(contextPath.length()); Object obj = request.getSession().getAttribute(Constant.USER_SESSION); if(obj == null){ //未登录可放行的访问 for (String p : params) { if (uri.startsWith(p)) { chain.doFilter(req, resp); return; } } //aJax访问 (未登录不可放行) if (request.getHeader("x-requested-with") != null && request.getHeader("x-requested-with").equalsIgnoreCase( // ajax超时处理 "XMLHttpRequest")) { JspUtils.print(response, "timeout"); return; } //普通访问 (未登录不可放行) request.getRequestDispatcher(LOGIN_VIEW).forward(req, resp); }else{ //是否越权访问 Users user = (Users) obj; List<Menu> menus = new ArrayList<Menu>(user.getRose().getMenus()); boolean flag =false; if(sysMenusMap.get(uri) != null){ for (Menu menu : menus) { if(StringUtil.isNotBlank(menu.getMenuUrl())) if(uri.equals("/"+menu.getMenuUrl())){ flag=true; break; } } }else{ chain.doFilter(new HTMLCharacterRequest(request), resp); return; } if(flag){ // chain.doFilter(request, resp); chain.doFilter(new HTMLCharacterRequest(request), resp); return; }else{ JspUtils.print(response, "<script>alert('无权访问');</script>"); return ; } } } public void init(FilterConfig config) throws ServletException { params = config.getInitParameter("p").split(","); RoseDao roseDao = (RoseDao) Springs.getApp().getBean("roseDaoImpl"); List<Menu> sysMenus = roseDao.findAllMenuBy_URL_NOTNULL(); for (Menu menu : sysMenus) { sysMenusMap.put("/"+menu.getMenuUrl(), menu.getMenuName()); } } public void destroy() { } }
本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
转载请注明:文章转载自:快速开发框架 » HTML 简介 和 特殊字符过滤器
本文标题:HTML 简介 和 特殊字符过滤器