通过反射获取数据
由于昨晚凌晨无聊写了个帖,由于木有仔细看版规,故删,我的错{:1_936:}。我想提个小小的意见,能否删帖不要全部删了,,辛辛苦苦手敲的给删了, 还不能找回来emmm.....为了更加方便看清我就把包名都给你写了,,还有jar包
-------------------------------------官方大大,如果有误,一定提醒我或者帮我修改下噻,不要删帖不要删帖{:1_919:}{:1_919:}{:1_889:}---------------
WEB_XML (项目名)
src
cn.itheima.web.servlet
IMyServlet.java
cn.itheima.web.servletImpl
IMyServletImpl.java
cn.itheima.web.Testservlet
TestMyServlet.java
cn.itheima.xml.dtd
web.xml
web-app_2.3.dtd
lib
dom4j-1.6.1.jar
jaxen-1.1-beta-6.jar
通过上诉也能一目了然了噻,有基础自然懂,看不懂上面的就是还木有正式接触Java,或Exxxxx某,或者IDxx某等编程软件
言归正传开始写代码
-----------------------------------------------------------------分割线-----------------------------------------------------------------------------
IMyServlet.java部分(接口)
package cn.itheima.web.servlet;
public intferface IMyServlet(){
public void init();
public void service();
public void destory();
}
IMyServletImpl.java部分(实现接口)
package cn.itheima.web.servletImpl
public class IMyServletImpl implements IMyServlet(){
@Override
public void init(){
System.out.println(“进入init方法中!");
}
@Override
public void service(){
System.out.println("进入service方法中!");
}
@Override
public void destory(){
System.out.println("进入destory方法中!");
}
}
web.xml部分
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app SYSTEM "web-app_2_3.dtd"> <!--使用DTD约束-->
<web-app version="1.0">
<servlet>
<servlet-name>IMyServlet</servlet-name>
<servlet-class>cn.itheima.web.servletImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>IMyServlet</servlet-name>
<url-pattern>/myServlet</url-pattern>
</servlet-mapping>
</web-app>
web-app_2_3.dtd部分 由于没有DTD后缀的,只能XML惹
<!--
吾爱破解编程语言专区DTD教学实例文档。
模拟servlet2.3规范,如果开发人员需要在xml使用当前DTD约束,必须包括DOCTYPE。
格式如下:
<!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">
-->
a<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT web-app (servlet*,servlet-mapping* , welcome-file-list?) >
<!ELEMENT servlet (servlet-name,description?,(servlet-class|jsp-file))>
<!ELEMENT servlet-mapping (servlet-name,url-pattern+) >
<!ELEMENT servlet-name (#PCDATA)>
<!ELEMENT servlet-class (#PCDATA)>
<!ELEMENT url-pattern (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT jsp-file (#PCDATA)>
<!ELEMENT welcome-file-list (welcome-file+)>
<!ELEMENT welcome-file (#PCDATA)>
<!ATTLIST web-app version CDATA #IMPLIED>
TestMyServlet.java(测试代码)部分
package cn.itheima.web.servlet1;
import org.dom4j.Document;
public class TestMyServlet(){
@test
public void testMyServlet(){
try{
//1.创建解析器对象
SAXReader saxReader = new SAXReader();
//2.编写web.xml地址
String url = "src/cn/itheima/xml/dtd/web.xml";
//3.使用解析加载web.xml文件得到document对象
Document document = saxReader.read(url);
//4.根据元素名称获取子元素节点获取根元素节点
Element rootElement = document.getRootElement();
//5.根据元素名称获取子元素节点
Element servletElement = rootElement.element("servlet");
//6.根据元素名称获取servlet-class的文本节点
String servletClass = servletElement.element("servlet-class").getText(); //由于这里获取到的是IMyServletImpl.java的地址,所以用String类型来接收
//7.通过类全名获取字节码文件
Class clazz = Class.forName(servletClass);
//8.创建实例对象
IMyServletImpl my = (IMyServletImpl) clazz.newInstance();
//9.调用实例对象里的方法
my.init();
my.service();
my.destory();
}catch(Exception e){
e.printStackTrace();
}
}
}
-------------------------------------教程结束,基本关键部分代码都写了注释----------------------------------------------------------
-------------------------------------本代码纯属手敲,复制粘贴锻炼不大,因为我也是新手之一,以后就做个代码搬运工惹--------
-------------------------------------大佬勿喷,,暴躁老哥欢迎欢迎,我就喜欢这样的老哥,嘿嘿嘿---------------------------------
-------------------------------------会的就当作复习一遍咯,嘿嘿嘿嘿,新手可以模范试试哈,jar包上传了的-----------------------
-------------------------------------官方大大,如果有误,一定提醒我或者帮我修改下噻,不要删帖不要删帖{:1_893:}{:1_893:}{:1_936:}---------------
包名含有广告信息 现在dom没啥用了,基本没有用的了,自己Demo玩还行 今天发布了吗 发表于 2019-12-15 10:31
现在dom没啥用了,基本没有用的了,自己Demo玩还行
那用啥噻
页:
[1]