servlet中初始化值不是凭空出现的而是通过tomcat运用反射机制自动创建(调用)无参构造
(反射是动态创建,不用new)
写运行时类报错的两种解决方法:
方法一:在主方法后添(不建议,该方法是把错误交给上一级处理)
throws ClassNotFoundException
public class TomcatTest { public static void main(String[] args) throws ClassNotFoundException { String str="cn.com.yjw.servlet.MyServlet"; Class clazz = Class.forName(str); //运行时类 } }
方法二:try catch方法
try {
Class clazz = Class.forName(str);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
package cn.com.yjw.servlet; public class TomcatTest { public static void main(String[] args) { String str="cn.com.yjw.servlet.MyServlet"; try { Class clazz = Class.forName(str); //运行时类 } catch (ClassNotFoundException e) { e.printStackTrace(); } } }
注:Servlet只能在web文件中用,不能在普通Java项目中使用。