abstract:一、 同等編程方式j(luò)sp與asp.net的不同 app需要做一個(gè)簡(jiǎn)單網(wǎng)站,和幾個(gè)用戶推廣鏈接,所以涉及到web這塊開發(fā),原本昨天想直接使用asp.net來做,但是之后放棄了這個(gè)想法,因?yàn)閿?shù)據(jù)訪問接口都是用的java servlet,最開始想直接使用靜態(tài)的html頁面+servlet+ajax的方式來做,這種方式雖然在網(wǎng)站開發(fā)中對(duì)各種語言都是通用的,但是有個(gè)弊端,綁定數(shù)據(jù)這塊非
一、 同等編程方式j(luò)sp與asp.net的不同
app需要做一個(gè)簡(jiǎn)單網(wǎng)站,和幾個(gè)用戶推廣鏈接,所以涉及到web這塊開發(fā),原本昨天想直接使用asp.net來做,但是之后放棄了這個(gè)想法,因?yàn)閿?shù)據(jù)訪問接口都是用的java servlet,最開始想直接使用靜態(tài)的html頁面+servlet+ajax的方式來做,這種方式雖然在網(wǎng)站開發(fā)中對(duì)各種語言都是通用的,但是有個(gè)弊端,綁定數(shù)據(jù)這塊非常復(fù)雜,所以還是嘗試找了個(gè)兩個(gè)jsp案例來看看,如果比前面的方式更復(fù)雜,就直接用前面種方式了,下的案例來看了,感覺jsp這種編程方式之前在asp.net中使用過,有點(diǎn)不一樣的是asp.net如果用這類方式,前端綁定的數(shù)據(jù)來自頁面內(nèi)部,數(shù)據(jù)庫操作這塊都是在內(nèi)部執(zhí)行后返回值前端取綁定, 但是jsp不一樣,jsp數(shù)據(jù)訪問這塊和html在一個(gè)頁面層,其實(shí)感覺同類的方式,jsp這塊比asp.net先進(jìn),不過asp.net使用這樣方式做編程的時(shí)候不多,只能算它一個(gè)附帶的功能,接下去我就主要說技術(shù)這塊了。
二、 jsp
使用jstl做數(shù)據(jù)庫操作,需要增加兩個(gè)庫,jstl、standard,從網(wǎng)上下載這兩個(gè)庫,直接copy進(jìn)tomcat的lib文件夾下,這兩個(gè)庫的作用,jstl負(fù)責(zé)數(shù)據(jù)庫這塊的操作,standard是使用jstl中標(biāo)簽所需的庫,standard就相當(dāng)于是使用jstl的輔助,并且這里要注意一點(diǎn),本人是在mac os下做的開發(fā),直接在官方下載的這兩個(gè)庫的組合包會(huì)報(bào)錯(cuò),無法找到j(luò)stl需要的標(biāo)簽輔助類,如果直接從官方下載的組合jar報(bào)錯(cuò),可以在網(wǎng)上分別下載jstl和standard放入tomcat lib。
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*,java.sql.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*" %> <!--引入 數(shù)據(jù)庫操作庫 --> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>JSP Load Demo</title> </head> <body> <!-- 數(shù)據(jù)庫名稱 --> <sql:setDataSource var="ProjectDataBase" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://120.25.172.21:3306/ProjectDataBase?useUnicode=true&characterEncoding=utf8" user="root" password="123456"/> <!-- 數(shù)據(jù)庫名稱 --> <sql:query dataSource="${ProjectDataBase}" var="result"> SELECT * from infoSheet limit 0,15; </sql:query> <table border="1" width="100%"> <tr> <th>I D</th> <th>標(biāo) 題</th> <th>內(nèi) 容</th> <th>發(fā)布時(shí)間</th> </tr><!-- 將返回的數(shù)據(jù)集合循環(huán)綁定到table的行 --> <c:forEach var="row" items="${result.rows}"> <tr> <!-- 取數(shù)據(jù)庫返回的字段值 --> <td><c:out value="${row.id}"/></td> <td><c:out value="${row.infoTitle}"/></td> <td><c:out value="${row.infoContent}"/></td> <td><c:out value="${row.publishTimes}"/></td> </tr> </c:forEach> </table> </body> </html>