自定义MVC框架注意事项
1.xml的获取
1)Dom4j
a)创建解析器对象
SAXReader sr = new SAXReader();
b)解析器读取文件
Document doc = sr.read(String fileName)
c)获取根元素
doc.getRootElement()
d)根据元素名称获取指定子元素(如果有多个就获取到第一个)
element(String name)
e)获取元素的元素名
getName()
f)获取指定子元素的文本值,参数是子元素的名称
elementText(String name)
g)获取当前元素下某个属性的值
attributeValue(String name)
h)获取当前元素的文本值
getText()
2)hutool工具类
略
2.注解(annotation)的使用
1)常用的注解
a)@Override: 子类重写方法时,编译时起作用
b)@SuppressWarning: 压制,忽略警告
c)@Deprecated:标记过时
2)自定义注解
a)格式
点击查看代码
public @interface 接口名{
属性1;
属性2;
}
3)元注解
a)@Target:表示该注解作用在什么上面,默认注解可以在任何位置.
点击查看代码
//该注解可作用在方法上
//METHOD TYPE FIELD CONSTRUCTOR LOCAL_VARABLE
@Target(ElementType=METHOD)
public @interface 接口名{
属性1;
属性2;
}
b)@Retention:定义该注解保留到那个代码阶段
点击查看代码
//该注解保留到那个代码阶段
//SOURCE CLASS RUNTIME
@Target(ElementType=METHOD)
@Retention(RetentionPolicy = RUNTIME)
public @interface 接口名{
属性1;
属性2;
}
4)注解其它方法
a)Class,Method,Field,Constructor均实现了java.lang.reflet.AnnotationElement接口
此接口有以下方法
1.T getAnnotation(Class annotationType); 得到指定类型的注解引用,没有返回null
注解引用.value() 注解的属性值
2.boolean isAnnotationPresent(Class<?extends Annotation> annotationType);
判断指定的注解
3.反射的使用
1).class文件的获取
a)方式1:通过类名.class直接获取
b)方式2:通过对象名.getClass()方法获得
c)方式3:Class.forName("类全名")
2).class对象的获取
a).class文件.newInstance();
3)反射操作成员变量(Field类)
a)Filed[] getFields(); 获得所有的成员变量对应的Field对象,只能获得public
b)Field getField(String name); 根据成员变量名获得对应Field对象,只能获得public
4)反射操作成员方法(Method类)
a)Method[] getMethods(); 获得类中所有成员方法对象,返回数组,只能获得public
b)Method getMethod(String name,Class... args); 根据方法名和参数类型获得对应的成员方法对象,
只能获得public
4.日志打印工具的使用
1)log4j
点击查看代码
log4j.rootLogger = [级别],appenderName1,appenderName2,appenderName3......
3)### 输出源的对应log4j的类 ###
org.apache.log4j.ConsoleAppender 控制台
org.apache.log4j.FileAppender 文件
org.apache.log4j.DailyRollingFileAppender 文件(每天滚动型)
org.apache.log4j.WriterAppender 以流的方式写到任何地方
4)### 输出源单独的控制级别 ###
log4j.appender.YunheDebug.Threhold = DEBUG
5)### 配置模板格式 ###
log4j.appender.E.layout.ConversionPattern = 指定输出的样式的模板
([%p] %d{yyyy-MM-dd HH:mm:ss,SSS}) [ %1] %m%n)
%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如: %d{yyy MMM dd HH:mm:ss,SSS}
%r: 输出自应用启动到输出该log信息耗费的毫秒数
%c: 输出日志信息所属的类目,通过就是所在类的全名
%t: 输出产生该日志事件的线程名
%1: 输出日志事件的发生位置,相当于%C,%M(%F:%L)的组合,包括类目名、发生的线程, 以及在代码中的行数.
举例: Testlog4j.main(TestLog4j)
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中.
5.web.xml的配置
点击查看代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!--配置过滤器-->
<servlet>
<servlet-name>mvcCoreServlet</servlet-name>
<servlet-class>com.brant.my_mvc.MvcCoreServlet</servlet-class>
<!--配置启动时加载-->
<load-on-startup>1</load-on-startup>
</servlet>
<!--拦截路径-->
<servlet-mapping>
<servlet-name>mvcCoreServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>

浙公网安备 33010602011771号