乐乐好好 乐乐好好
关注数: 50 粉丝数: 67 发帖数: 10,325 关注贴吧数: 50
交大家显示五颜六色的字哈(申精) 首先打入http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fbaidu.com%2F&urlrefer=5c135c7a7383acfafe1d2b4e634430f1 然后点鼠标 是不是变成了带下划线的蓝色了啊, 如果是的话 恩 你入门了0.0 紧接着 移动你的光标(知道光标是什么吧) 移动到baidu.的这个后面 现在你可以输入将来显示的字 比如————我爱梁静茹 接着进入关键阶段,不要眨眼哦 手动输入(当然你页可以复制捏贴,不过出什么错,哥哥带不负责)以下英文和符号 注:一定保证你的输入法现在处于英文状态// " title="鼠标放上面会蹦出的字" style="background-color:red; color:red; cursor:help; font-size:50px" 反正到最后是这样的 http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fbaidu.%2F&urlrefer=127f6315e2f1759c72c2e022e89d1964我爱梁静茹" style="background-color:red; color:red; cursor:pointer; font-size:50px" com _________________切忌勿复制哥哥上面的代码,会出错滴 到现在你是不是觉得很费解呢 好吧 我来说说上面那一串字母的意思 title="" :上面说清楚了额 style="":就是说你要显示的样式了          其中background-color:背景色(red换其他的 比如yellow等 或者16进制的,要是你懂得的话)          color:字体颜色         cursor:光标样式         font-size:字体大小 50就是下面这么大(单位是px,当然你页可以用其他单位,你懂得的) 要是你懂css的话 就自己调吧 你懂得的>_< ________________最后祝大家成功_ ——————某乐 http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fbaidu.%E6%88%91%E7%88%B1%E6%A2%81%E9%9D%99%E8%8C%B9&urlrefer=6f1ae4769a952785971fdd75158ed018        
Eclipse快捷键大全(转载) Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+↑ 当前行和上面一行交互位置(同上) Alt+← 前一个编辑的页面 Alt+→ 下一个编辑的页面(当然是针对上面那条来说了) Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性 Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后) Shift+Ctrl+Enter 在当前行插入空行(原理同上条) Ctrl+Q 定位到最后编辑的地方 Ctrl+L 定位在某行 (对于程序超过100的人就有福音了) Ctrl+M 最大化当前的Edit或View (再按则反之) Ctrl+/ 注释当前行,再按则取消注释 Ctrl+O 快速显示 OutLine Ctrl+T 快速显示当前类的继承结构 Ctrl+W 关闭当前Editer Ctrl+K 参照选中的Word快速定位到下一个 Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示) Ctrl+/(小键盘) 折叠当前类中的所有代码 Ctrl+×(小键盘) 展开当前类中的所有代码 Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替) Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作) Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了) Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查) Ctrl+Shift+F4 关闭所有打开的Editer Ctrl+Shift+X 把当前选中的文本全部变味小写 Ctrl+Shift+Y 把当前选中的文本全部变为小写 Ctrl+Shift+F 格式化当前代码 Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之) 下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了) Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力) Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用) Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定) Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候) Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能) Alt+Shift+I 合并变量(可能这样说有点不妥Inline) Alt+Shift+V 移动函数和变量(不怎么常用) Alt+Shift+Z 重构的后悔药(Undo) 编辑 作用域 功能 快捷键 全局 查找并替换 Ctrl+F 文本编辑器 查找上一个 Ctrl+Shift+K 文本编辑器 查找下一个 Ctrl+K 全局 撤销 Ctrl+Z 全局 复制 Ctrl+C 全局 恢复上一个选择 Alt+Shift+↓ 全局 剪切 Ctrl+X 全局 快速修正 Ctrl1+1 全局 内容辅助 Alt+/ 全局 全部选中 Ctrl+A 全局 删除 Delete 全局 上下文信息 Alt+? Alt+Shift+? Ctrl+Shift+Space Java编辑器 显示工具提示描述 F2 Java编辑器 选择封装元素 Alt+Shift+↑ Java编辑器 选择上一个元素 Alt+Shift+← Java编辑器 选择下一个元素 Alt+Shift+→ 文本编辑器 增量查找 Ctrl+J 文本编辑器 增量逆向查找 Ctrl+Shift+J 全局 粘贴 Ctrl+V 全局 重做 Ctrl+Y 查看 作用域 功能 快捷键 全局 放大 Ctrl+= 全局 缩小 Ctrl+-
spring配置文件详解 Spring有四种Bean封装机制:Bean Wrapper机制、Bean Factory机制、ApplicationContext机制、Web Context机制等,它们所对应配置文件的内容也是不同的。下面,我们就以基于Bean Factory机制实现的Spring的三种依赖注入模式为例,介绍一下Spring配置文件的基本内容。       1、接口注入,示例代码如下: public interface InterfaceB{ public Object doIt(); } public class ClassC implements InterfaceB{ String str1; public ClassC(String str1){ This. str1= str1; } public Object doIt(){ return "Hello,"+ strl+"!"; } }public class ClassA { private InterfaceB clzB; public Object doSomething(InterfaceB b) { clzB = b; return clzB.doIt(); } ……… } 该情况下的Spring配置文件:bean.xml的内容大致如下: <beans> <description>Interface Injection Sample</description> <bean id="ClassC" <!--ClassC类的别名 --> class="net.liyb.spring.qs.ClassC"> <!--ClassC类的别名所对应的类 --> 字串5 <property name="str1"> <!-- 该属性名对应ClassC类的属性(名称一致) --> <value>liyb</value> <!-- 该属性值将被绑定到ClassC类的对应属性(str1)上 --> </property> </bean><bean id="ClassA" <!-- ClassA类的别名 --> class="net.liyb.spring.qs.ClassA"> <!--ClassA类的别名所对应的类 --> <property name="clzB"> <!-- 该属性名对应ClassA类的属性(名称一致) --> <ref local="ClassC"/> <!-- 该属性值将被绑定到ClassA类的对应属性(clzB)上,此处的属性值即"别名"为ClassC所对应的类的实例 --> </property> </bean> </beans>       2、设值注入,示例代码如下: public class DIByConstructor { private final DataSource dataSource; private final String message; ……… 字串2 public setDataSource(DataSource ds) { this.dataSource = ds; } public setmessage(String msg) { this.message = msg; } public getDataSource() { return this.dataSource; } public getmessage() { return this.message; } ……… } 该情况下的Spring配置文件:bean.xml的内容大致如下: <beans> <description>Values Injection Sample</description> <bean id="dataSource" <!-- JndiObjectFactoryBean类的别名 --> class="org.springframework.jndi.JndiObjectFactoryBean"> <!-- JndiObjectFactoryBean类的别名所对应的类 --> <property name="jndiName"> <!-- 该属性名对应JndiObjectFactoryBean类的属性(名称一致) --> <value>java:comp/env/jdbc/sample</value> <!-- 该属性值将被绑定到JndiObjectFactoryBean类的对应属性(jndiName)上 --> </property> </bean><bean id="DIByConstructor" <!--DIByConstructor类的别名 --> 字串8 class="net.liyb.spring.qs.DIByConstructor"> <!--DIByConstructor类的别名所对应的类 --> <property name="message"> <!-- 该属性名对应DIByConstructor类的属性(名称一致) --> <value>HeLLo</value> <!-- 该属性值将被绑定到DIByConstructor类的对应属性(message)上--> </property> </bean><bean id="DIByConstructor" <!--DIByConstructor类的别名 --> class="net.liyb.spring.qs.DIByConstructor"> <!--DIByConstructor类的别名所对应的类 --> <property name="dataSource"> <!-- 该属性名对应DIByConstructor类的属性(名称一致) --> <ref local="dataSource"/> <!-- 该属性值将被绑定到DIByConstructor类的对应属性(dataSource)上,此处的属性值即"别名"为dataSource所对应的类的实例--> </property> </bean></beans> 字串7
servlet和JSP过滤器Filter servlet API的2.3版本中最重要的一个新功能就是能够为servlet和JSP页面定义过滤器。过滤器提供了某些早期服务器所支持的非标准“servlet链接”的一种功能强大且标准的替代品。 过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择: l 以常规的方式调用资源(即,调用servlet或JSP页面)。 l 利用修改过的请求信息调用资源。 l 调用资源,但在发送响应到客户机前对其进行修改 l 阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出。 过滤器提供了几个重要好处。 首先,它以一种模块化的或可重用的方式封装公共的行为。你有30个不同的serlvet或JSP页面,需要压缩它们的内容以减少下载时间吗?没问题:构造一个压缩过滤器(参阅第11节),然后将它应用到30个资源上即可。 其次,利用它能够将高级访问决策与表现代码相分离。这对于JSP特别有价值,其中一般希望将几乎整个页面集中在表现上,而不是集中在业务逻辑上。例如,希望阻塞来自某些站点的访问而不用修改各页面(这些页面受到访问限制)吗?没问题:建立一个访问限制过滤器(参阅第8节)并把它应用到想要限制访问的页面上即可。 最后,过滤器使你能够对许多不同的资源进行批量性的更改。你有许多现存资源,这些资源除了公司名要更改外其他的保持不变,能办到么?没问题:构造一个串替换过滤器(参阅第10节),只要合适就使用它。 但要注意,过滤器只在与servlet规范2.3版兼容的服务器上有作用。如果你的Web应用需要支持旧版服务器,就不能使用过滤器。 1. 建立基本过滤器 建立一个过滤器涉及下列五个步骤: 1)建立一个实现Filter接口的类。这个类需要三个方法,分别是:doFilter、init和destroy。doFilter方法包含主要的过滤代码(见第2步),init方法建立设置操作,而destroy方法进行清楚。 2)在doFilter方法中放入过滤行为。doFilter方法的第一个参数为ServletRequest对象。此对象给过滤器提供了对进入的信息(包括表单数据、cookie和HTTP请求头)的完全访问。第二个参数为ServletResponse,通常在简单的过滤器中忽略此参数。最后一个参数为FilterChain,如下一步所述,此参数用来调用servlet或JSP页。 3)调用FilterChain对象的doFilter方法。Filter接口的doFilter方法取一个FilterChain对象作为它的一个参数。在调用此对象的doFilter方法时,激活下一个相关的过滤器。如果没有另一个过滤器与servlet或JSP页面关联,则servlet或JSP页面被激活。 4)对相应的servlet和JSP页面注册过滤器。在部署描述符文件(web.xml)中使用filter和filter-mapping元素。 5)禁用激活器servlet。防止用户利用缺省servlet URL绕过过滤器设置。 1.1 建立一个实现Filter接口的类 所有过滤器都必须实现javax.servlet.Filter。这个接口包含三个方法,分别为doFilter、init和destroy。 l public void doFilter(ServletRequset request, ServletResponse response, FilterChain chain) thows ServletException, IOException 每当调用一个过滤器(即,每次请求与此过滤器相关的servlet或JSP页面)时,就执行其doFilter方法。正是这个方法包含了大部分过滤逻辑。 第一个参数为与传入请求有关的ServletRequest。对于简单的过滤器,大多数过滤逻辑是基于这个对象的。如果处理HTTP请求,并且需要访问诸如getHeader或getCookies等在ServletRequest中无法得到的方法,就要把此对象构造成HttpServletRequest。 第二个参数为ServletResponse。除了在两个情形下要使用它以外,通常忽略这个参数。首先,如果希望完全阻塞对相关servlet或JSP页面的访问。可调用response.getWriter并直接发送一个响应到客户机。第7节给出详细内容,第8节给出一个例子。其次,如果希望修改相关的servlet或JSP页面的输出,可把响应包含在一个收集所有发送到它的输出的对象中。然后,在调用serlvet或JSP页面后,过滤器可检查输出,如果合适就修改它,之后发送到客户机。详情请参阅第9节。
web.xml配置说明 Web.xml常用元素 <web-app> <display-name></display-name>定义了WEB应用的名字 <description></description> 声明WEB应用的描述信息 <context-param></context-param> context-param元素声明应用范围内的初始化参数。 <filter></filter> 过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。 <filter-mapping></filter-mapping> 一旦命名了一个过滤器,就要利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。 <listener></listener>servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在建立、修改和删除会话或servlet环境时得到通知。                       Listener元素指出事件监听程序类。 <servlet></servlet> 在向servlet或JSP页面制定初始化参数或定制URL时,必须首先命名servlet或JSP页面。Servlet元素就是用来完成此项任务的。 <servlet-mapping></servlet-mapping> 服务器一般为servlet提供一个缺省的URL:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fhost%2FwebAppPrefix%2Fservlet%2FServletName&urlrefer=15287fd6a69b68c231eda1bce875afcb。                但是,常常会更改这个URL,以便servlet可以访问初始化参数或更容易地处理相对URL。在更改缺省URL时,使用servlet-mapping元素。 <session-config></session-config> 如果某个会话在一定时间内未被访问,服务器可以抛弃它以节省内存。            可通过使用HttpSession的setMaxInactiveInterval方法明确设置单个会话对象的超时值,或者可利用session-config元素制定缺省超时值。 <mime-mapping></mime-mapping>如果Web应用具有想到特殊的文件,希望能保证给他们分配特定的MIME类型,则mime-mapping元素提供这种保证。 <welcome-file-list></welcome-file-list> 指示服务器在收到引用一个目录名而不是文件名的URL时,使用哪个文件。 <error-page></error-page> 在返回特定HTTP状态代码时,或者特定类型的异常被抛出时,能够制定将要显示的页面。 <taglib></taglib> 对标记库描述符文件(Tag Libraryu Descriptor file)指定别名。此功能使你能够更改TLD文件的位置,                    而不用编辑使用这些文件的JSP页面。 <resource-env-ref></resource-env-ref>声明与资源相关的一个管理对象。 <resource-ref></resource-ref> 声明一个资源工厂使用的外部资源。 <security-constraint></security-constraint> 制定应该保护的URL。它与login-config元素联合使用 <login-config></login-config> 指定服务器应该怎样给试图访问受保护页面的用户授权。它与sercurity-constraint元素联合使用。 <security-role></security-role>给出安全角色的一个列表,这些角色将出现在servlet元素内的security-role-ref元素                     的role-name子元素中。分别地声明角色可使高级IDE处理安全信息更为容易。 <env-entry></env-entry>声明Web应用的环境项。
struts2+spring+hibernate+json+jquery+flexigrid开发笔记-中文乱 解决中文乱码的方法有很多种,但个人认为最有效最直接的方法就是过虑器,一次配置,多次使用,而且可以直接解决中文乱码问题,在struts2下怎样配置.      过虑器代码: package com.popedom.uitl; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; /** * * @author Administrator */ public class SetCharacterEncodingFilter implements Filter {      protected String encoding = null;      protected FilterConfig filterConfig = null;      protected boolean ignore = true;      public void init(FilterConfig filterConfig) throws ServletException {                this.filterConfig = filterConfig;          this.encoding = filterConfig.getInitParameter("encoding");          String value = filterConfig.getInitParameter("ignore");          if (value == null) {              this.ignore = true;          } else if (value.equalsIgnoreCase("true")) {              this.ignore = true;          } else {              this.ignore = false;          }      }      public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {               System.out.println("o1111111111111111111111111ooo1ooooooooooo");       if (ignore || (request.getCharacterEncoding() == null)) {              String encoding = selectEncoding(request);              if (encoding != null) {                  request.setCharacterEncoding(encoding);              }          }          chain.doFilter(request, response);      }      public void destroy() {          this.encoding = null;          this.filterConfig = null;      }      protected String selectEncoding(ServletRequest request) {          return (this.encoding);      } } 配置文件web.xml <filter>          <filter-name>SetCharacterEncodingFilter</filter-name>          <filter-class>com.popedom.uitl.SetCharacterEncodingFilter</filter-class>          <init-param>              <param-name>encoding</param-name>              <param-value>UTF-8</param-value>          </init-param>      </filter>      <filter-mapping>          <filter-name>SetCharacterEncodingFilter</filter-name>          <url-pattern>/*</url-pattern>      </filter-mapping> <!-- --> <filter>    <filter-name>struts2</filter-name>    <filter-class>     org.apache.struts2.dispatcher.FilterDispatcher    </filter-class> </filter> <filter-mapping>    <filter-name>struts2</filter-name>    <url-pattern>/*</url-pattern> </filter-mapping> 这里一定要注意不能把顺序,先配置过虑器,在配置struts2,要不然会出现有时不出去乱码,有时出现乱码,具体原因尚未研究,等过一久忙玩这个项目,在好好总结一下解决乱码问题的所有方法.
首页 1 2 3 下一页