生成的结构以下图:
html
而后编辑MyAppletTest.javajava
private String text; private int size, color; public void init() { // Put your code here this.text = this.getParameter("text"); this.size = Integer.parseInt(this.getParameter("size")); this.color = Integer.parseInt(this.getParameter("color"), 16); JLabel label=new JLabel("hello world!!!"); add(label); } public void paint(Graphics g) { g.setColor(new Color(this.color)); g.setFont(new Font("", 1, this.size)); g.drawString(this.text, 10, 50); }
而后编辑MyAppletTest.html缓存
<body> <applet codebase="." code="com.xjz.yxyu.applet.MyAppletTest.class" name="MyAppletTest" width="320" height="240" style="border:1px solid greenyellow;"> <!--<param name="p0" value=""> <param name="p1" value="">--> <param name=size value=30> <param name=text value="AppletHello!"> <param name=color value=000088> </applet> </body>
刚刚说到“.”这个目录表示的是WebRoot,因此应该把WebRoot/WEB-INF/classes/下面的这个com文件夹拷贝到WebRoot,如图tomcat
因此目录结构如图,安全
而后发布到tomcat下,可是目前访问时受限的,由于Java的安全策略,因此还须要如下步骤:、app
编辑站点列表,this
选择继续,spa
安全级别为中,肯定,code
运行结果看到applet:htm
因此每当你编写完成Applet
那个Java类,那么你就须要将WebRoot下面的class进行更新,确实是很麻烦,可是没有别的办法(若是有请指点下?)
另外,Applet Java class类是会缓存的,你可能会发生更新了class文件可是效果仍是原来的,那么就以下操做,
执行完javacpl命令后,选择查看,如图,
这里会有那些个被缓存的class文件,将它们删除便可,因此我这里再提出一个解决方案,就是用Chrome的隐身模式,这样就不会产生缓存,另外,你能够看看是否是tomcat的work目录下有缓存也能够清理一下,不过主要仍是第一个提到的,
若是不管如何解决缓存的问题,仍然解决不了缓存,那么也只能换个项目了,或者是重启机器这些,本人也遇到过这种状况。