正文
java代码改成静态 java 编译成静态库
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
Java开发的网站如何做静态化处理?
简单点java代码改成静态的就弄伪静态吧java代码改成静态,自己配置一下,也可以改下程序,静态化输出,这个麻烦点,改的东西多,要修改不会弄的话,可以找额提供二次开发,谢谢
如何将jsp页面转换成静态页面
将jsp页面转换成静态页面的步骤:
1、在jsp页面中加入servlet.代码如下:
public class ToHtml extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String url = "";
String name = "";
ServletContext sc = getServletContext();
String file_name = request.getParameter("file_name");// 你要访问的jsp文件名,如index,不包括扩展名
// 则你访问这个servlet时加参数.如
url = "/" + file_name + ".jsf";// 你要生成的页面的文件名。我的扩展名为jsf .
name = ConfConstants.CONTEXT_PATH+"\\"+ file_name + ".htm";// 这是生成的html文件名,如index.htm.文件名字与源文件名相同。扩展名为htm
//ConfConstants.CONTEXT_PATH为你的应用的上下文路径。
RequestDispatcher rd = sc.getRequestDispatcher(url);
final ByteArrayOutputStream ōs = new ByteArrayOutputStream();
final ServletOutputStream stream = new ServletOutputStream() {
public void write(byte[] data, int offset, int length) {
os.write(data, offset, length);
}
public void write(int b) throws IOException {
os.write(b);
}
};
final PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));
HttpServletResponse rep = new HttpServletResponseWrapper(response) {
public ServletOutputStream getOutputStream() {
return stream;
}
public PrintWriter getWriter() {
return pw;
}
};
rd.include(request, rep);
pw.flush();
FileOutputStream fos = new FileOutputStream(name); // 把jsp输出的内容写到xxx.htm
os.writeTo(fos);
fos.close();
PrintWriter ōut = response.getWriter();
out
.print("p align=centerfont size=3 color=red页面已经成功生成!singlebr? 233/font/p");
}
}
2、配置web.xml
servlet
servlet-nametoHtml/servlet-name
servlet-classmj.util.html.ToHtml/servlet-class//你的servlet的类。
/servlet
servlet-mapping
servlet-nametoHtml/servlet-name
url-pattern/toHtml/url-pattern
/servlet-mapping
3、运行servlet。如:
在test项目的根目录下,生成了一个index.htm的静态文件。
java类中使用了静态方法,如何让静态方法访问到实例对象,请修改代码,不要删掉static
静态方法是不能访问自己的非静态属性和方法的,你如果不想删掉方法的static的话,那就把属性pi和radius都改为static的就行了;然后main方法中代码改为:
CCircle .setCircle(2.0,3.1416);
System.out.println("圆半径="+CCircle .getRadius());
System.out.println("圆面积="+CCircle .getCircleArea());
CCircle .pi=3.14159;
CCircle .radius=10.0;
System.out.println("圆半径="+CCircle .getRadius());
System.out.println("圆面积="+CCircle .getCircleArea());
不过类被写成这样已经没什么意思了~
Java代码的静态编译和动态编译中的问题是什么
Java代码正常是静态编译成字节码,由对应平台的JVM加载执行,静态编译无法动态扩展功能。动态编译有两种方式实现:
从源码编译,需要调用Java Compiler,程序需要运行于JDK(而不是JRE)之上。
动态字节码生成技术(如CGLib、ASM)创建类。
动态编译可以简化代码,增强类功能,但也带来了代码复杂度,线上不易维护。
关于java代码改成静态和java 编译成静态库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。