jsp动态加载html代码(在jsp页面中,怎样在页面指定位置动态的插入html 内容,比如:表格,按钮,文本框啥的,用什么技术实现)

本文目录
- 在jsp页面中,怎样在页面指定位置动态的插入html 内容,比如:表格,按钮,文本框啥的,用什么技术实现
- JSP如何引用动态生成的html
- jsp中 java代码、js、html代码 加载的顺序
- 如何将jsp代码嵌入html中
- JSP页面加载项目外部HTML文件
- jsp用include动态包含静态页面html页面出现乱码,求原因要寻根究底的原因Thanks.
- jsp怎么动态实现生成html或者shtml啊
在jsp页面中,怎样在页面指定位置动态的插入html 内容,比如:表格,按钮,文本框啥的,用什么技术实现
用ajax技术实现的。做局部页面动态刷新,这样的资料很多。
没那么复杂,只用写一个JS函数,然后document.getElementById(’’).innerHTML(对应的HTML代码)就可以了啊;
JSP如何引用动态生成的html
利用Filter的过滤功能把*.jsp过滤出来,判断是否存在对应的.html文件,如果不存在对应的.html文件,则将其内容读出写入指定的.html文件,再跳转到对应的.html即可。如果存在对应的.html文件,则直接跳转到对应的.html即可。
代码:
JspFilter.java:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
***隐藏网址***
***隐藏网址***
public class JspFilter implements Filter {
public void destroy() {
// TODO 自动生成方法存根
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest hreq = (HttpServletRequest) request;
HttpServletResponse hresp = (HttpServletResponse) response;
String name = hreq.getRequestURL().substring(
hreq.getRequestURL().lastIndexOf("/") + 1,
hreq.getRequestURL().lastIndexOf("."));
if (hreq.getRequestURL().indexOf(".jsp") != -1 && (null == hreq.getParameter("type") || hreq.getParameter("type").equals(""))) {
hresp.sendRedirect(hreq.getContextPath()+"/conversion?name="+hreq.getRequestURL());
return ;
}
chain.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
// TODO 自动生成方法存根
}
}
ConversionServlet.java:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.servlet.ServletException;
***隐藏网址***
***隐藏网址***
***隐藏网址***
public class ConversionServlet extends HttpServlet {
public ConversionServlet () {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
//----获取请求的URL
String reqTarget = request.getParameter("name");
//----指定对应JSP的HTML名称
String name = reqTarget.substring(reqTarget.lastIndexOf("/") + 1,reqTarget.lastIndexOf("."));
//---判断是否存在对应的HTML文件
File file = new File(request.getRealPath("/") + name + ".html");
if (!file.exists()) { //--------如果不存在对应的HTML文件
try {
file.createNewFile(); //--------创建HTML文件
//-------将JSP的内容写入对应的HTML文件内
InputStream in;
StringBuffer sb = new StringBuffer("");
//----注意这里,不能直接访问请求的URL,如果直接访问的话,会陷入死循环
URL url = new java.net.URL(reqTarget.toString()+"?type=11");
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setRequestProperty("User-Agent", "Mozilla/4.0");
connection.connect();
in = connection.getInputStream();
java.io.BufferedReader breader = new BufferedReader(
new InputStreamReader(in, "GBK"));
String currentLine;
FileOutputStream fos = new FileOutputStream(file);
while ((currentLine = breader.readLine()) != null) {
sb.append(currentLine);
fos.write(currentLine.getBytes());
}
if (null != breader)
breader.close();
if (null != fos)
fos.close();
//---------------转到与JSP对应的HTML页
response.sendRedirect(request.getContextPath()+"/"+name + ".html");
} catch (Exception e) {
e.printStackTrace();
}
}else{
//----------如果存在指定的HTML,直接跳转到指定的HTML页
response.sendRedirect(request.getContextPath()+"/"+name + ".html");
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
public void init() throws ServletException {
// Put your code here
}
}
WEB.XML配置:
《?xml version="1.0" encoding="UTF-8"?》
《web-app version="2.4"
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
《filter》
《filter-name》jspfilter《/filter-name》
《filter-class》com.beanutil.JspFilter《/filter-class》
《/filter》
《filter-mapping》
《filter-name》jspfilter《/filter-name》
《url-pattern》*.jsp《/url-pattern》
《/filter-mapping》
《servlet》
《servlet-name》conversion《/servlet-name》
《servlet-class》com.beanutil.ConversionServlet 《/servlet-class》
《/servlet》
《servlet-mapping》
《servlet-name》conversion《/servlet-name》
《url-pattern》/conversion《/url-pattern》
《/servlet-mapping》
《/web-app》
jsp中 java代码、js、html代码 加载的顺序
jsp中是先编译“java代码”为静态代码,之后从代码第一行开始一直扫描到到代码最后一行。
解释:jsp是可以动态加载的,也就是说jsp变更不需要重启项目,如果里面有java代码的话,加载jsp的时候先编译java代码,如果有错误,直接抛出错误,不继续运行。如果没错误的话,扫描出body中的代码显示到页面,之后再加载js。
如何将jsp代码嵌入html中
在html代码中 加入《jsp》……《/jsp》这样代码就可以执行了,但是在文件的头部要加上那么一段代码,可以找一些简单的jsp教程 看看
JSP页面加载项目外部HTML文件
《jsp:include flush="true" page="文件路径"》《/jsp:include》
你把这个写完整试一下!!!
jsp用include动态包含静态页面html页面出现乱码,求原因要寻根究底的原因Thanks.
描述不是很清楚,是包含文件之后,jsp页面乱码了,还是仅仅包含的文件显示出来乱码呢?
建议用第三方器将文件另存为:utf-8
jsp怎么动态实现生成html或者shtml啊
JAVABEAN+SERVLET+JSP+HTML……
可以通过URL重写或其他方式改变JSP页面的内容

更多文章:
spring事务的作用(为什么要使用spring的事务,一般在什么情况下使用)
2026年10月14日 05:40
linux怎么进入命令行(怎么样配置linux使其启动时直接登录到命令行模式)
2026年10月14日 02:00
java培训机构好还是大学好(大学生想转行学java,该去java培训班还是自学呢)
2026年10月13日 23:30
前端面试必背十个点(资深HR揭秘:Web前端面试技巧有哪些)
2026年10月13日 17:50
sqlplus重置用户名密码(Oracle中的plus的用户名和密码忘了怎么办)
2026年10月13日 17:40
echarts怎么读英语(echarts怎么设置数据自动排序)
2026年10月13日 17:10





