导航:首页 > 文件教程 > javajsp生成静态文件

javajsp生成静态文件

发布时间:2023-12-30 01:49:09

『壹』 jsp是什么

JSP是一种动态网页技术标准,这种技术可以根据客户端的请求,生成动态或者静态网页,然后发送给客户端的请求者。

不少的朋友经常会在电脑科普网站上看到jsp这个概念,究竟这个jsp是什么意思?jsp又有什么作用和特点呢?下面让我们一起去了解吧。

详细内容

『贰』 java静态资源(静态方法,静态属性)是程序一运行就加载到jvm中,还是当被调用的时候才进行加载呢

java静态资源(静态方法,静态属性)是程序一运行就加载到jvm中的。

1、类中的静态属性会被加入到类对象(也可以叫做类的模板,是类的描述) 的构造器中,静态方法也会被加入到类对象中。

2、当第一次使用类时,JVM会通过类加载器,加载类对象,从而初始化静态属性,并装入类的方法,包括静态方法和实例方法(方法不会被调用,只是加载,从这个意义上来说,静态方法和实例方法是类似的)。

3、当创建类的实例对象时,JVM会调用类的构造器,从而初始化类的属性。

(2)javajsp生成静态文件扩展阅读:

JVM 类加载机制

JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。

1、加载

加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,这里既可以从ZIP包中读取(比如从jar包和war包中读取),也可以在运行时计算生成(动态代理),也可以由其它文件生成(比如将JSP文件转换成对应的Class类)。

2、验证

这一阶段的主要目的是为了确保Class文件的字节流中包含的信息是否符合当前虚拟机的要求,并且不会危害虚拟机自身的安全。

3、准备

准备阶段是正式为类变量分配内存并设置类变量的初始值阶段,即在方法区中分配这些变量所使用的内存空间。

4、解析

解析阶段是指虚拟机将常量池中的符号引用替换为直接引用的过程。符号引用就是class文件中的:

CONSTANT_Class_info

CONSTANT_Field_info

CONSTANT_Method_info

等类型的常量。

5、初始化

初始化阶段是类加载最后一个阶段,前面的类加载阶段之后,除了在加载阶段可以自定义类加载器以外,其它操作都由JVM主导。到了初始阶段,才开始真正执行类中定义的Java程序代码。初始化阶段是执行类构造器<client>方法的过程。

『叁』 高分求jsp转html问题和jsp转do问题

若是HTML,一种方法是伪静态,一种方法是直接生成静态页面。
若是do,一种是URL重写(和上面伪静态方法一样),把xxx.do重定向为xxx.jsp
另一种方法是直接批量JSP文件为.do文件,然后在服务器配置里设置.do格式的用JSP格式解析。

『肆』 如何将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时加参数.如http://localhost/test/toHtml?file_name=index


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=center><font size=3 color=red>页面已经成功生成!single<br>http://www.agilejava.org/space/? 233</font></p>");

}

}

2、配置web.xml

<servlet>

<servlet-name>toHtml</servlet-name>

<servlet-class>mj.util.html.ToHtml</servlet-class>//你的servlet的类。

</servlet>

<servlet-mapping>

<servlet-name>toHtml</servlet-name>

<url-pattern>/toHtml</url-pattern>

</servlet-mapping>

3、运行servlet。如:http://localhost:8080/test/toHtml?file_name=index

在test项目的根目录下,生成了一个index.htm的静态文件。

『伍』 jsp页面转换成HTML

你可以新建一个jsp页面,将html中<html></html>标签中的内容替换jsp页面中
<html></html>内容即可。但注意jsp页面中的第内一行:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> 改为:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
这行意容思是你用到了包和页面中显示的是中文。

『陆』 JSP如何生成静态的html页面

public class HTMLMaker {
final static Object lock = new Object();
public static void makeHtml(String page, String filePath){
makeHtml(page,filePath,"UTF-8");
}

public static void makeHtml(String page, String filePath,String chartset) {
synchronized (lock) {
HttpURLConnection huc = null;
BufferedReader br = null;
BufferedWriter bw = null;
try {
huc = (HttpURLConnection)new URL(page).openConnection();
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");
System.setProperty("sun.net.client.defaultReadTimeout", "30000");
huc.connect();
InputStream stream = huc.getInputStream();
bw = new BufferedWriter(new OutputStreamWriter (new FileOutputStream(filePath),chartset));
br = new BufferedReader(new InputStreamReader(stream, chartset));
String line;
while((line = br.readLine())!= null){
if(line.trim().length() > 0){
bw.write(line);
bw.newLine();
}
}
}catch (Exception e) {
e.printStackTrace();
}finally {
try {
br.close();
bw.close();
huc.disconnect();
}catch (Exception e) {
e.printStackTrace();
}
}
}
}

}
参数解释:
page:jsp页面的网络地址,比如http://localhost:8080/xxx/index.jsp
filePath:生成的html文件的保存路径
chartset:编码,不填默认utf-8。

思想:
把jsp文件开流读入,再用输出流写入到目标文件。

『柒』 关于Javaweb的问题,Jsp和Servlet各自的应用场景

JSP(JavaServer Pages)和Servlet是两种用于开发Web应用程序的服务器端技术。

JSP是一种动态Web页面技术,它使用Java代码来生成HTML、XML或其他类型的文档。JSP页面包含特殊的JSP标记,这些标记被解析并转换为Java代码,然后执行。JSP通常被用来创建动态的Web页面,例如显示数据库内容或处理表单数据。

Servlet是一种Java类,它运行在Web服务器上,并处理来自浏览器的请求。Servlet可以生成动态的HTML内容,也可以执行其他类型的任务,例如处理表单数据或连接数据库。

JSP和Servlet有许多相似之处,但各自有不同的应用场景。JSP更适合用于生成静态的Web内容,例如HTML、XML或其他文档。Servlet更适合用于执行动态的任务,例如处理表单数据或连接数据库。

总的来说,JSP通常被视为更为高级的技术,因为它可以在Web页面中嵌入Java代码,但是Servlet可以提供更多的灵活性和控制。因此,在选择使用JSP或Servlet时,应该根据自己的需求和应用场景来决定。

阅读全文

与javajsp生成静态文件相关的资料

热点内容
numbers误删文件 浏览:923
数据库右键删除的表怎么恢复 浏览:377
天空网解压密码 浏览:583
拉萨网站布局该怎么设计 浏览:416
零售数据怎么用图来表示 浏览:628
英雄无敌7win1064位 浏览:951
宁波pm编程技能培训哪里便宜 浏览:779
国外疫情数据哪里准确 浏览:924
桌面上的部分文件不见了 浏览:453
win10ie主页改不过来 浏览:833
arccatalog添加数据库服务器 浏览:437
手机里如何找app 浏览:510
cmd转换文件夹 浏览:257
使命召唤9可以在win10上运行吗 浏览:383
网络盒子怎么收费 浏览:995
户户通没有网络怎么回事 浏览:78
个税原文件改名之后找不到了 浏览:824
文件另存为在一个地方却找不到了 浏览:502
记录每天走的里程下什么app 浏览:323
如何修改字幕文件 浏览:493

友情链接