① jsp中怎麼把html中的標簽和內容按照原來的格式全部輸出不是把標簽過濾掉。
document.getElementById('...').innerHTML;
連同標簽嗎?那就:
document.getElementById('...').outerHTML;
你要用這個做什麼啊?
② JSP中怎麼用正則表達式過濾HTML標簽
<xmp><font color='red'>hello</font></xmp>
加xmp標簽就行了
③ jsp:發表含html的文章如何保證html代碼不被瀏覽器解釋掉,請說明清楚,或者給個類
把該轉義的字元轉義了,比如空格,大於號小於號。自己寫各類,遍歷string,遇到要轉義的字元,換成轉義後的。
④ 關於sevlet、過濾器、jsp、html、xml等這些javaweb的相關知識和用途,請各位大大們給個詳細的解釋和區別~
說簡單點:servlet就是接抄收頁面請求然後轉發的。
過濾器就是在servlet之前可以做驗證、亂碼方面的。
jsp就是java語言中的動態頁面.
html就是靜態頁面。
太詳細的話這里1W個字都說不完的.
⑤ html網頁內嵌JSP網頁的代碼
幾種手段
1、修改應用伺服器的識別過濾,將html作為動態頁面處理。
2、在html中嵌入一個iframe,在iframe中調用jsp。
3、前置過濾,重定向對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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<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中的html與java分離
jsp中的html與java本來就是分離抄的,java代碼是寫在<%%>之間的,部署後,服務端代碼先執行,然後才會跟html元素交互。
所有這些都是jsp特有的:
JSP注釋
<%--*****--%> 是不輸出到客戶端的注釋符。
<%!--*****--%> 是輸出到客戶端的注釋符。
指令元素
<%@ page contentType=」text/html」 %> 設置指定頁面內容類型
<%@ include ...%> 在翻譯階段引入一個文件
<%@ taglib ... %> 聲明一個頁面使用的,包含自定義行為的標記庫。
行為元素
<jsp:useBean> 使一個JavaBeans組件在該頁中可用
<jsp:setProperty> 設置JavaBeans的屬性值
<jsp:forward> 將對請求的處理轉交給一個servlet或JSP頁面
腳本元素
<%this is a scriptlet%> 嵌入腳本代碼
表達式元素
<%= this is an expression%> 嵌入java表達式
方法聲明
<%! this is a declaration%> 用於在JSP頁面的實現類中聲明變數和方法
⑧ jsp頁面去除html標識符,輸出純文本格式內容。能用replace,解決最好。
如果直接讀出來的話是HTML格式!我只想讀出來內容中的純專文本,過屬濾掉HTMLstrOutput = objRegExp.Replace(strHTML, "") strOutput = Replace(strOutput
⑨ jfinal如何過濾對JSP/html的請求
jfinal對jsp或者html過濾的請求配置:
public class PermissionHandler extends Handler {
@Override
public void handle(String target, HttpServletRequest request,
HttpServletResponse response, boolean[] isHandled) {
int indexJsp= target.lastIndexOf(".jsp");
int indexHtml = target.lastIndexOf(".html");
if (indexJsp!= -1 || indexHtml!= -1) {
System.out.println(target);
if (request.getSession().getAttribute(Const.LOGINUSER) == null) {
System.out.println("沒有登陸!跳轉到.html");
target = "/login.html";
} else {
System.out.println("登陸了,放行!");
}
}
nextHandler.handle(target, request, response, isHandled);
}
⑩ jsp 過濾器過濾jsp和html怎麼寫
<servlet-mapping>
<servlet-name>servletname</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>servletname</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>