1. jsP 頁面中有個Button按鈕,我想在進入頁面後就讓它自動點擊一次,怎麼做啊!
1、首先,新建一個帶有button按鈕的頁面,打開這個頁面歷斗圓。
2. 如何將JSP頁面中的表單信息保存到Mysql資料庫
獲取表單中的信息,然後插入到Mysql中
<%@pagelanguage="java"contentType="text/html;charset=gbk"
pageEncoding="gbk"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<%
intid=Integer.parseInt(request.getParameter("id"));
introotid=Integer.parseInt(request.getParameter("rootid"));
%>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gbk">
<title>Replay</title>
</head>
<body>
<formmethod="post"action="ReplayOK.jsp">
<inputtype="hidden"name="id"value="<%=id%>">
<inputtype="hidden"name="rootid"value="<%=rootid%>">
<tablealign="center">
<tr>
<td>
<inputtype="text"name="title"size="80">
</td>
</tr>
<tr>
<td>
<textareacols="80"rows="20"name="cont"></textarea>
</td>
</tr>
<tr>
<td>
<inputtype="submit"value="提交">
</td>
</tr>
</table>
</form>
</body>
</html>
---------------------------------------------------------------
下面接收上面表單中傳過來的信息,並插入到mysql中
<%@pagelanguage="java"contentType="text/html;charset=gbk"
pageEncoding="gbk"%>
<%@pageimport="java.sql.*"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<%
request.setCharacterEncoding("GBK");
intid=Integer.parseInt(request.getParameter("id"));
introotid=Integer.parseInt(request.getParameter("rootid"));
Stringtitle=request.getParameter("title");
Stringcont=request.getParameter("cont").replaceAll(" ","<br/>");
Connectionconn=null;
Statementst=null;
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/bbs?user=root&password=690115399");
st=conn.createStatement();
conn.setAutoCommit(false);
Stringsql="insertintoarticlevalues(null,?,?,?,?,now(),0)";
PreparedStatementpstmt=conn.prepareStatement(sql);
pstmt.setInt(1,id);
pstmt.setInt(2,rootid);
pstmt.setString(3,title);
pstmt.setString(4,cont);
pstmt.executeUpdate();
st.executeUpdate("updatearticlesetisleaf=1whereid="+id);
conn.commit();
conn.setAutoCommit(true);
st.close();
pstmt.close();
conn.close();
%>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gbk">
<title>Inserttitlehere</title>
</head>
<body>
<%response.sendRedirect("ShowArticleTree.jsp");%>
</body>
</html>
當然最好的方法還是應該用jsp+JavaBean方式。
3. 關於JSP頁面中的pageEncoding和contentType兩種屬性的區別
在JSP標準的語法中,如果pageEncoding屬性存在,那麼JSP頁面的字元編碼方式就由pageEncoding決定,
否則就由contentType屬性中的charset決定,如果charset也不存在,JSP頁面的字元編碼方式就採用默認的ISO-8859-1。
ContentType屬性指定了MIME類型和JSP頁面回應時的字元編碼方式。MIME類型的默認值是「text/html」; 字元編碼方式的默認值是「ISO-8859-1」. MIME類型和字元編碼方式由分號隔開。
pageEncoding的內容只是用於jsp輸出時的編碼,不會作為header發出去的。pageEncoding是通知web server jsp的編碼。
pageEncoding是jsp文件本身的編碼
contentType的charset是指伺服器發送給客戶端時的內容編碼
JSP要經過兩次的「編碼」,第一階段會用pageEncoding,第二階段會用utf-8至utf-8,第三階段就是由Tomcat出來的網頁, 用的是contentType。
4. 在jsp中的 this關鍵字有著什麼意思
你好,this永遠表示的是當前對象。在jsp中有九大內置對象,你應該知道吧,其中page對應this關鍵字。JSP網頁本身,page對象是當前頁面轉換後的Servlet類的實例。從轉換後的Servlet類的代碼中,可以看到這種關系:Object page = this;在JSP頁面中,很少使用page對象。
5. 如何在JSP網頁中生成動態圖表
JSP頁面中嵌入動態圖表的兩種方法 :在JSP頁面中插入Applet小程序 ;通過JavaBean動態生成圖像。
JSP是一種廣泛應用的網頁設計技術 ,它是一種HTML和Java腳本混合的編程技術 ,它結合了HTML的靜態特性和Java語言的動態能力 ,因此用它進行動態網頁設計非常方便。在進行圖像處理時 ,一般處理靜態圖片非常容易 ,但是 ,在實際應用中常常需要動態地在網頁中生成二維的圖形.
基於JFreeChart開發的一個時序圖的繪制。代碼如下:
實例中createDataset()方法用於創建數據集合對象。時序圖的數據集合與其他數據集合不同,它需要添加一個時間段內的所有數據,通常採用TimeSeries類進行添加。該實例中通過Math類的random()方法進行隨機生成。
import java.awt.*;
import java.awt.event.ActionEvent;
import
java.awt.event.ActionListener;
import java.io.BufferedInputStream;
import
java.io.DataInputStream;
import java.io.FileOutputStream;
import
java.io.IOException;
import java.net.URL;
import
java.net.URLConnection;
import java.text.DateFormat;
import
java.text.ParseException;
import java.text.SimpleDateFormat;
import
java.util.Calendar;
import java.util.Date;
import java.util.Random;
import javax.swing.JApplet;
import javax.swing.Timer;
import org.jfree.chart.*;
import
org.jfree.chart.annotations.CategoryTextAnnotation;
import
org.jfree.chart.axis.CategoryAnchor;
import
org.jfree.chart.axis.CategoryAxis;
import
org.jfree.chart.axis.CategoryLabelPositions;
import
org.jfree.chart.axis.DateAxis;
import
org.jfree.chart.axis.DateTickUnit;
import
org.jfree.chart.axis.DateTickUnitType;
import
org.jfree.chart.axis.ValueAxis;
import
org.jfree.chart.labels.;
import
org.jfree.chart.plot.CategoryPlot;
import
org.jfree.chart.plot.PlotOrientation;
import
org.jfree.chart.plot.XYPlot;
import
org.jfree.chart.renderer.category.BarRenderer;
import
org.jfree.chart.title.TextTitle;
import
org.jfree.data.category.CategoryDataset;
import
org.jfree.data.category.IntervalCategoryDataset;
import org.jfree.chart.axis.NumberAxis;
import
org.jfree.data.category.DefaultCategoryDataset;
import
org.jfree.data.gantt.Task;
import org.jfree.data.gantt.TaskSeries;
import
org.jfree.data.gantt.TaskSeriesCollection;
import
org.jfree.data.time.Day;
import org.jfree.data.time.Second;
import
org.jfree.data.time.TimeSeries;
import
org.jfree.data.time.TimeSeriesCollection;
import
org.jfree.data.xy.XYDataset;
public class shixutu extends JApplet {
//PLOT_FONT是一靜態的字體常量對象,使用此對象可以避免反復用到的字體對象被多次創建
private static final Font PLOT_FONT = new Font("黑體", Font.ITALIC ,
18);
JFreeChart chart;
//創建數據動態更新的監聽
class DataGenerator extends Timer
implements ActionListener {
private static final long serialVersionUID =
3977867288743720504L;
String
equID;
//設備ID號
int
totalTask;
//任務數
String[][]
strTask;
//任務情況
public void
actionPerformed(ActionEvent actionevent) {
addTotalObservation();
} DataGenerator()
{
super(1000,
null);
addActionListener(this);
System.out.println("super");
}
}
//將更新的數據添加到chart中
private void addTotalObservation()
{
System.out.println("addTotalObservation");
//設置新的數據集
chart.getXYPlot().setDataset(createDataset());
//通知Jfreechart
數據發生了改變,重新繪制柱狀圖
if
(chart != null)
{
chart.fireChartChanged();
}
}
private static void
processChart(JFreeChart chart)
{
//設置標題字體
chart.getTitle().setFont(new Font("隸書", Font.BOLD,
26));
//設置背景色
chart.setBackgroundPaint(new
Color(252,175,134));
XYPlot plot = chart.getXYPlot();
//獲取圖表的繪制屬性
plot.setDomainGridlinesVisible(false);
//設置網格不顯示
//獲取時間軸對象
DateAxis dateAxis = (DateAxis)
plot.getDomainAxis();
dateAxis.setLabelFont(PLOT_FONT);
//設置時間軸字體
//設置時間軸標尺值字體
dateAxis.setTickLabelFont(new
Font("宋體",Font.PLAIN,12));
dateAxis.setLowerMargin(0.0);
//設置時間軸上顯示的最小值
//獲取數據軸對象
ValueAxis valueAxis =
plot.getRangeAxis();
valueAxis.setLabelFont(PLOT_FONT);
//設置數據字體
DateFormat format = new SimpleDateFormat("mm分ss秒");
//創建日期格式對象
//創建DateTickUnit對象
DateTickUnit dtu = new
DateTickUnit(DateTickUnitType.SECOND,30,format);
dateAxis.setTickUnit(dtu);
//設置日期軸的日期標簽 } //將結果輸出在文件中
private static
void writeChartAsImage(JFreeChart chart)
{
FileOutputStream fos_jpg =
null;
try
{
fos_jpg = new
FileOutputStream("D:\test\shixutu.jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg, 1, chart, 400, 300,
null);
} catch (Exception e)
{
e.printStackTrace();
} finally
{
try
{
fos_jpg.close();
} catch (Exception e)
{
}
}
}
//創建數據集合對象
public static XYDataset createDataset()
{
//實例化TimeSeries對象
TimeSeries timeseries = new
TimeSeries("Data");
Second second = new Second();
//實例化Day
double d =
50D;
//添加一年365天的數據
for (int i = 0; i < 500; i++)
{
d = d + (Math.random() - 0.5) * 10;
//創建隨機數據
timeseries.second(day, d);
//向數據集合中添加數據
second = (Second)
second.next();
}
TimeSeriesCollection timeSeriesCollection =
new
TimeSeriesCollection(timeseries);
//返回數據集合對象
return timeSeriesCollection; }//Applet程序初始化
public void init()
{
// 1.
得到數據
XYDataset dataset =
createDataset();
// 2.
構造chart
chart =
ChartFactory.createTimeSeriesChart(
"時序圖示範", //
圖表標題
"時間", //
目錄軸的顯示標簽--橫軸
"數值", //
數值軸的顯示標簽--縱軸
dataset, //
數據集
false,
false, //
是否生成工具
false //
是否生成URL鏈接
);
// 3.
處理chart中文顯示問題
processChart(chart);
// 4.
chart輸出圖片
//writeChartAsImage(chart);
// 5. chart
以swing形式輸出
//6.使用applet輸出
ChartPanel chartPanel = new
ChartPanel(chart);
chartPanel.setPreferredSize(new
java.awt.Dimension(800,500));
getContentPane().add(chartPanel); (new
DataGenerator()).start();
}
public void
paint(Graphics g)
{
if
(chart != null)
{
chart.draw((Graphics2D) g,
getBounds());
}
}
public void destroy() {
}
}
6. JSP頁面中加入動態頁面可以使用四種機制,是哪四種
jsp頁麵包含其他頁面是可以使用四種方法,分別如下:
1、靜態include指令
如:
<%@ include file="a.jsp" %>
2、jsp動態包含組件
如:
<jsp:include page="a.jsp" flush="true"/>
3、JSTL的<c:import>標簽,屬於動態包含
如:
<c:import url="a.jsp"/>
使用時注意把taglib的頭文件加入
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
4、servlet類中使用RequestDispatcher的include方法,也是一種動態包含頁面的方法
如:
RequestDispatcher dispatcher = request.getRequestDispatcher("a.jsp");
dispatcher.include(request,response);
另外,所謂的「機制」就是指你在包含其他頁面時是使用「動態包含」還是「靜態包含」(這是兩種包含機制),這兩種包含機制有四種方法實現,其中以上的第一種是「靜態包含」,後三種均是「動態包含」。你們考試出的這個填空題在描述上有點不準確,應該說「包含的四種方法」
明白了么~~?
7. 在JSP頁面中怎麼import進來JAVA的類
<%@pagelanguage="Java"%>
<%@pageimport="java.lang.*"%>
8. jsp頁面中的js實現跳轉
js方式的頁面跳轉
1.window.location.href方式
<script language="javascript" type="text/javascript">
window.location.href="http://www.dayanmei.com/";
</script>
2.window.navigate方式跳轉
<script language="javascript">
window.navigate("top.jsp");
</script>
3.window.loction.replace方式實現頁面跳轉,注意跟第一種方式的區別
<script language="javascript">
window.location.replace("http://www.dayanmei.com");
</script>
有
3個jsp頁面(1.jsp, 2.jsp, 3.jsp),進系統默認的是1.jsp ,進入2.jsp的時候,
2.jsp裡面用window.location.replace("3.jsp");與用window.location.href
("3.jsp");從用戶界面來看是沒有什麼區別的,3.jsp頁面有一個"返回"按鈕,調用window.history.go(-1);
wondow.history.back();方法的時候,一點這個返回按鈕就要返回2.jsp頁面的話,區別就出來了,當用
window.location.replace("3.jsp");連到3.jsp頁面的話,3.jsp頁面中的調用
window.history.go(-1);wondow.history.back();方法是不好用的,會返回到1.jsp 。
4.self.location方式實現頁面跳轉,和下面的top.location有小小區別
<script language="JavaScript">
self.location='top.htm';
</script>
5.top.location
<script language="javascript">
top.location='xx.jsp';
</script>
6.不推薦這種方式跳轉
<script language="javascript">
alert("返回");
window.history.back(-1);
</script>
在php程序中,這種方式跳轉前面不能有任何輸出
<?php
header("url.php");
?>
meta方式實現跳轉(content = 3 單位是秒)
9. 在jsp文件中的html顯示亂碼怎麼解決
在jsp文件中的html顯示亂碼是因為服務端和客戶端的編碼不一致導致的。
如果Java和JSP編譯成class文件過程中,使用的編碼方式與源文件的編碼不一致,就會出現亂碼。
解決辦法:
1、未指定使用字元集編碼
下面的顯示頁面(display.jsp)就出現亂碼:
<html>
<head>
<title>JSP的中文處理</title>
<meta http-equiv="Content-Type" content="text/html charset=gb2312">
</head>
<body>
<%out.print("JSP的中文處理");%>
</body>
</html>
只要在頁面開始地方用下面代碼指定字元集編碼即可,在JSP頁面中指定編碼方式(gb2312),和瀏覽器解碼方式設置相同,即在頁面的第一行加上:
<%@ page contentType="text/html; charset=gb2312"%>,就可以消除亂碼了。
完整頁面如下:
<%@ page contentType="text/html; charset=gb2312"%>
<html>
<head>
<title>JSP的中文處理</title>
<meta http-equiv="Content-Type" content="text/html charset=gb2312">
</head>
<body>
<%out.print("JSP的中文處理");%>
</body>
</html>
2、 編碼字元集設置不一致
<%@ page language="java" pageEncoding="gb2312"%>
<%@ page contentType="text/html;charset=iso8859-1"%>
<html>
<head>
<title>JSP的中文處理</title>
<meta http-equiv="Content-Type" content="text/html charset=gb2312">
</head>
<body>
<%out.print("JSP的中文處理");%>
</body>
</html>
第一處<%@ page language="java" pageEncoding="gb2312"%>的編碼格式為jsp文件的存儲格式。Eclipse會根據這個編碼格式保存文件。並編譯jsp文件,包括裡面的漢字。
第二處編碼為解碼格式。因為存為gb2312的文件被解碼為iso8859-1,這樣如有中文肯定出亂碼。也就是必須一致。而第二處所在的這一行,可以沒有。預設也是使用iso8859-1的編碼格式。所以如果沒有這一行的話,也會出現亂碼。必須一致才可以。
第三處編碼為控制瀏覽器的解碼方式。如果前面的解碼都一致並且無誤的話,這個編碼格式用不用設置都可以。有的網頁出現亂碼,就是因為瀏覽器不能確定使用哪種編碼格式。因為頁面有時候會嵌入頁面,導致瀏覽器混淆了編碼格式出現了亂碼。
完整解決代碼如下:
<%@ page language="java" pageEncoding="gb2312"%>
<%@ page contentType="text/html;charset= gb2312"%>
<html>
<head>
<title>JSP的中文處理</title>
<meta http-equiv="Content-Type" content="text/html charset=gb2312">
</head>
<body>
<%out.print("JSP的中文處理");%>
</body>
</html>
10. 請問JSP頁面中的<input value =「值">標簽里的值如何傳到另一個JSP中使用
JSP頁面中的<input value =「值">標簽里的值傳到另一個JSP中步驟如下:
1,首先需要在這里創建一個名為a.html的HTML頁面。
(10)在jsp頁面中的擴展閱讀:
JSP指令:
JSP指令控制JSP編譯器如何去生成servlet,以下是可用的指令:
包含指令include –包含指令通知JSP編譯器把另外一個文件完全包含入當前文件中。效果就好像被包含文件的內容直接被粘貼到當前文件中一樣。這個功能和C預處理器所提供的很類似。
被包含文件的擴展名一般都是"jspf"(即JSPFragment,JSP片段):<%@ include file="somefile.jsp" %>