❶ 怎樣做jsP頁面布局及框架,求指教
1、打開Dreamweaver新建-動態頁-JSP。
❷ 怎麼用JSP製作動態網頁,需要安裝什麼軟體
一、什麼是ASP?
ASP是Active Server Pages的簡稱,它是一種在微軟公司的WEB伺服器IIS(Internet Infomation Server)上開發交互網頁的新技術。微軟公司最初在IIS3.0版上使用它以取代CGI。隨著Windows NT在WWW上的使用日益增多,ASP已經成為了開發動態網站、構築Internet和Intranet應用的最佳選擇。
二、在哪裡可以找到支持ASP的伺服器軟體?
如果你的計算機上裝的是Windows NT 4.0,那麼你可以通過安裝NT的可選包Windows NT Option Pack 4.0來安裝IIS4.0,然後你就可以在IIS4.0里使用ASP了。如果你的操作系統是Windows 98, 那麼你可以在Win98光碟里找到一個ADD-ONS目錄,下面的PWS目錄裡面有一個小型WWW伺服器軟體PWS(PersonalWeb Server),它也可以支持ASP。如果你想用一用Windows 2000的測試版,那麼你可以選裝Server版或者Advanced Server版,它們都已經自帶IIS5.0了。
三、如何編寫ASP?
你或許用過javascript在網頁里彈出一個小窗口,你是這樣做的:
<html>
<head>
<title>New Page 1
</head>
<body>
<Script Language=〃JavaScript〃>
alert(〃hello!〃);
</Script>
</body>
</html>
編寫ASP就跟它差不多,同樣是在網頁文件里加些東西,不像CGI那樣你還得寫一個EXE文件。唯一應該注意的是,網頁文件應該以.asp作為後綴名,而不能是.htm,這樣WWW伺服器才能識別它是ASP文件並進行相應的處理。
注意,上面例子中使用了 <script>和</script> 來把腳本包括起來,以區別普通的Html標記。在ASP中,使用另外兩個符號來標記ASP代碼,它們是「<%」 和「%>」。WWW伺服器在處理ASP文件時,一看到$#@60;%就知道ASP的代碼開始了,而看到%>就知道代碼結束。
通常,我們可以用Notepad來編輯ASP文件,不過因為FrontPage98有強大的網頁管理功能,所以最好在Frontpage98里編寫ASP文件。當你要往一個網頁里插入ASP代碼時,只需選擇FrontPage Editor下部的「HTML」標簽頁就行了。
四、一個例子
最後讓我們來看一個例子,將它以a.asp存檔,它在瀏覽器里輸出三個「Hello ASP」,從這里我們可以體會ASP代碼是如何同HTML標記語言結合在一起的。
<html>
<head>
<title>New Page 1
</head>
<body>
<%For i=1 to 3%>
<font size=〃><%=i%>〃Hello ASP
<%Next%>
</body>
</html>
請注意,文件後綴一定要為.asp。
五、ASP的處理流程
當我們用瀏覽器查看一個ASP文件時,都發生了些什麼呢?
以上面那個a.asp為例,當我們在瀏覽器里輸入 http://localhost/a.asp(localhost為主機名),瀏覽器向WWW伺服器發出請求,要求返回a.asp的內容。WWW伺服器在接到請求後,發現它的後綴為.asp,於是就將這個文件交給專門的ASP處理程序,這個程序掃描a.asp,把其中用<%和%>括起來的代碼解釋並執行,最後把執行結果再傳回給WWW伺服器,WWW伺服器把結果通過HTTP協議傳回到瀏覽器。你可以用瀏覽器的查看源代碼功能查看一下,你並沒有發現<%和%>標記,因為它們已經在伺服器端被處理掉了,瀏覽器所獲得的僅僅是結果,是一些標準的HTML標記。整個過程如圖。
下一講中,我們將介紹一些Vbscript的基礎知識。它是在ASP中用得最多的腳本語言之一。
---------------
1.2 JSP及其特點
JavaServer Pages(JSP)是一種實現普通靜態HTML和動態HTML混合編碼的技術,有關JSP基礎概念的說明請參見《JSP技術簡介 》。
許多由CGI程序生成的頁面大部分仍舊是靜態HTML,動態內容只在頁面中有限的幾個部分出現。但是包括Servlet在內的大多數CGI技術及其變種,總是通過程序生成整個頁面。JSP使得我們可以分別創建這兩個部分。例如,下面就是一個簡單的JSP頁面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD><TITLE>歡迎訪問網上商店</TITLE></HEAD>
<BODY>
<H1>歡迎</H1>
<SMALL>歡迎,
<!-- 首次訪問的用戶名字為"New User" -->
<% out.println(Utils.getUserNameFromCookie(request)); %>
要設置帳號信息,請點擊
<A HREF="Account-Settings.html">這里</A></SMALL>
<P>
頁面的其餘內容。.
</BODY></HTML>
下面是JSP和其他類似或相關技術的一個簡單比較:
JSP和Active Server Pages(ASP)相比
Microsoft的ASP是一種和JSP類似的技術。JSP和ASP相比具有兩方面的優點。首先,動態部分用Java編寫,而不是VB Script或其他Microsoft語言,不僅功能更強大而且更易於使用。第二,JSP應用可以移植到其他操作系統和非Microsoft的Web伺服器上。
JSP和純Servlet相比
JSP並沒有增加任何本質上不能用Servlet實現的功能。但是,在JSP中編寫靜態HTML更加方便,不必再用 println語句來輸出每一行HTML代碼。更重要的是,藉助內容和外觀的分離,頁面製作中不同性質的任務可以方便地分開:比如,由頁面設計專家進行HTML設計,同時留出供Servlet程序員插入動態內容的空間。
JSP和伺服器端包含(Server-Side Include,SSI)相比
SSI是一種受到廣泛支持的在靜態HTML中引入外部代碼的技術。JSP在這方面的支持更為完善,因為它可以用Servlet而不是獨立的程序來生成動態內容。另外,SSI實際上只用於簡單的包含,而不是面向那些能夠處理表單數據、訪問資料庫的「真正的」程序。
JSP和javascript相比
javascript能夠在客戶端動態地生成HTML。雖然javascript很有用,但它只能處理以客戶端環境為基礎的動態信息。除了Cookie之外,HTTP狀態和表單提交數據對javascript來說都是不可用的。另外,由於是在客戶端運行,javascript不能訪問伺服器端資源,比如資料庫、目錄信息等等。
❸ 用jsp編寫一個很簡單的登陸頁面
login.JSP
注: 由於時間倉促,程序可能有細小的問題!但絕對可以滿足你的需要了!如果你知道JSP什麼原理;那麼小的問題不是什麼問題了! 共同學習~~~
<%@ page contentType = "text/html;charset=GB2312" %>
<%@ page import = "java.sql.*" %>
<html>
<head>
<title></title>
</head>
<body bgcolor=LightBlue>
<div align="center">
<br>
<H1>歡迎光臨企業辦公平台</H1>
<form name="form1" method="post" action="" target="_self">
<table width="90%">
<tr>
<td width="50%" height="30" align="right">用戶名:</td>
<td width="50%" height="30" align="left"><input type="text" name="UserName"></td>
</tr>
<tr>
<td width="50%" height="30" align="right">密碼:</td>
<td width="50%" height="30" align="left"><input type="password" name="UserPassword"></td>
</tr>
<td width="100%" height="40" align="center" colspan="2">
<input type="submit" name="sub" value="登錄">
</td>
</tr>
</table>
</form>
</div>
<% try
{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:a","root","database1");
Statement stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs = null;
String name =new String(request.getParameter("
UserName").getBytes(「8859_1」));
String passwd =new String(request.getParameter("
UserPassword").getBytes(「8859_1」));
if(String_sql==null)
{
out.println("登陸名不可以為空");
out.println(「<HR>」);
}
else{
String_sql="select * from student where name ="+name+" and password="+psword+;
rs=stmt.executeQuery(String_sql)
while(rs.next())
{ out.println("登陸成功!");
out.println("您的用戶名是:"+name)
out.println("您的密碼是:"+password);
rs.close();
stmt.close();
conn.close();}
}
Catch( Exception e )
{out.println(「<font color=red size=5><B>」);
out.println(「出錯了!」);
out.println(「</B></font>」);
}%>
</body>
</html>
❹ jsp網頁是如何編寫的
那些混合編寫的方法都是跟初學者學習的,如果你以前學過ASP,那麼你會發現他們都是一樣的,頁面嵌入很多代碼.......很不方便開發,不能同時開發,必須等美工做完了頁面,再讓你加代碼.......真正學到以後的,使用框架技術了的jsp是完全不同的,很多頁面的標簽就是為了讓頁面不產生邏輯代碼而誕生的,比如jstl,struts的html標簽,webwrok的html標簽,jsf的html標簽........太多了,不是三言兩語能說清楚的,總之你現在就把一些jsp的幾個內置(request,response,session,application)對象,過濾器(filter是很好用的東西)搞清楚,以後多花點功夫學好框架就(webwork2)行了........
❺ 求大神寫一下jsp的簡單的注冊界面代碼。
1.需要一個jsp頁面:
//login.jsp核心代碼:
<form action="${pageContext.request.contextPath}/servlet/UserServlet" method="post">
<input type="text" name="loginname" /><input type="password" name="password"/>
<input type="submit" value="登錄"/>
</form>
2.需要一個servlet來驗證登錄信息
//UserServlet 核心代碼
class UserServlet extends HttpServlet{
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
process(request, response);
}
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
process(request, response);
}
private void process(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
PrintWriter pw = response.getWriter();
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
String loginname = request.getParameter("loginname");
String password = request.getParameter("password");
//創建一個service來處理業務邏輯(包括查詢資料庫操作)
UserService service = new UserService();
boolean bool = service.validateUser(loginname,password);
if(!bool){
pw.println("用戶名或密碼錯誤");
}else{
pw.println("登錄成功");
}
}
3.需要一個service處理業務邏輯(包括查詢資料庫操作)
//UserService 核心代碼
public class UserService{
/**
*查詢資料庫驗證用戶是否存在,返回boolean
*/
public boolean validateUser(String loginname,String password){
boolean bool = false;
Connection conn = null;
PreparedStatement ps = null;
//這里以mysql為例
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
String sql = "select login_name,pass_word from t_user where login_name=? and pass_word=?";
ps = conn.prepareStatement(sql);
ps.setString(0, loginname);
ps.setString(1, password);
ResultSet rs = ps.executeQuery();
if(rs.next()){
bool = true;
}
} catch (Exception e) {
e.printStackTrace();
} finally{
try {
if(conn != null){
conn.close();
conn = null;
}
if(ps != null){
ps.close();
ps = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return bool;
}
}