本文目錄一覽:
- 1、jsp的環境配置與簡單jsp頁面測試
- 2、如何在web.xml文件中,配置jsp的映射路徑
- 3、web-inf下的jsp頁面怎麼配置文件
- 4、如何在web.xml中配置jsp的訪問路徑
- 5、如何在服務器上配置JSP,jsp的服務器到底怎麼配置啊?
jsp的環境配置與簡單jsp頁面測試
JSP是一門基於JAVA語言的一種web應用開發技術,由JSP製作的動態網站具有非常好的跨平台性;所以對於做web開發的程序員來說,精到的掌握JSP的使用是極其重要的;在網絡通信中,最常見的模式是B/S通信模式,即用戶把需要獲取的信息用瀏覽器向某個服務器發出請求,服務器使用web服務軟件將用戶的請求信息處理後發送給用戶;所以使用jsp技術發送的請求就需要服務器端有相應的jsp引擎(即web服務軟件)進行處理,jsp引擎有很多,下面使用有sun公司開發的開源的tomcat服務器來進行講述;所以下面從tomcat服務器的安裝開始講起分為:一、tomcat的安裝與配置;二、測試jsp頁面;三、設置web服務目錄三個方面來進行說明。
一:tomcat的安裝與配置
這裡默認jdk已經安裝成功且環境變量已經設置為如下值:變量名Java_Home=E:\jdk1.8.0_45變量名Classpath=E:\jdk1.8.0_45\jre\lib\rt.jar;,;變量名Path=E:\JDK1.8.0_45\BIN
安裝tomcat有兩種方式(一)apache-tomcat-6.013.zip文件的安裝;(二)apache-tomcat-6.013.exe文件的安裝下面只介紹第一種方式;
將apache-tomcat-6.013.zip文件解壓到磁盤的某個分區下,如解壓到E:\,將出現下面的目錄結構
接下來雙擊bin目錄下的startup.bat文件,將會出現如下MS-DOS窗口表明已經啟動了tomcat服務器,若不關閉該窗口該服務器將一直工作下去;
若雙擊後沒有出現該界面或者只是閃爍了一下,一般是環境變量沒有設置好;然後在瀏覽器的地址欄里輸入或者訪問將出現下面的界面:
這裡localhost和127.0.0.0代表本主機,8080代表接受請求的端口號,tomcat默認使用該端口號,如果該端口號被佔用將無法接受請求,需要在tomcat服務器的conf目錄下的server.xml里更改端口號,方法如下:用記事本打開server.xml文件找到下面的部分將8080設置為要使用的端口號即可;但是建議不要使用1~1024之間的端口號以免與其他網絡發生衝突,若端口號為80的端口沒有被佔用則可使用80的端口號,這樣訪問jsp頁面時就可以省略端口號,如
第二種方式只需要雙擊apache-tomcat-6.013.exe文件安裝即可,形成的目錄和第一種方式一樣;
二、測試jsp頁面
用記事本編寫如下first.jsp文件,以ANSI編碼方式保存在web服務目錄的根目錄webapps\Root里,內容如下:
在地址欄里輸入訪問出現下面的界面:
三、設置web服務目錄
在tomcat的webapps的文件夾下有如下內容,其中TOOT是tomcat的根目錄,訪問該目錄下的jsp頁面的內容時只需在瀏覽器的地址欄里輸入ip地址、端口號、和jsp頁面的名字即可(即省略web根目錄的名字),如:;其他的文件夾是tomcat的服務目錄,如果把first.jsp文件放到docs文件夾下,則在地址欄里要輸入才能找到該文件;
另外也可設置tomcat的虛擬目錄來訪問指定目錄的jsp內容,比如想要訪問e盤下soft文件夾里的內容但是為了隱藏該目錄則要通過hello虛擬目錄來訪問;這時可以在server.xml文件里的/host標籤的上面加入下面的內容:
這樣要訪問e:/soft文件夾里的first.jsp文件就可以通過在地址欄里輸入來訪問了;
這裡再來說一下相對目錄的問題,在web服務目錄下的目錄稱為該web服務目錄下的相對目錄;若在文本的服務目錄sun下有一個子目錄moon,在moon目錄下有一個文件a.jsp,若需要訪問該文件則需要在地址欄里輸入來訪問;另外web服務目錄下的頁面要訪問相對目錄下的jsp頁面則要通過相對目錄來訪問,如sun服務目錄下的b.jsp頁面要通過超鏈接來訪問sun子目錄moon下的a.jsp則要使用moon/a.jsp(注意不是/moon/a.jsp;”/”是代表根目錄,/moon/a.jsp將代表moon是web的一個服務目錄,而不是服務目錄sun下的子目錄);
如何在web.xml文件中,配置jsp的映射路徑
若要訪問放在WEB-INF文件夾下的內容(如文件為hello.jsp)則要進行映射,使用一個名字來映射WEB-INF/hello.jsp,在web.xml文件的/description和/web-app之間添加如下代碼:
—————————————————————————————————————————
servlet
servlet-namedemo/servlet-name
jsp-file/WEB-INF/hello.jsp/jsp-file //WEB-INF前必須有/ ,表示從根目錄開始
/servlet
servlet-mapping
servlet-namedemo/servlet-name
url-pattern/hello.lxh/url-pattern //此文件名可任意起,後綴名也可任意
/servlet-mapping
web-inf下的jsp頁面怎麼配置文件
首先,對於外部訪問來說,web-inf下的文件都是不可見的(即不能通過url獲得web-info下的任何文件),所以,直接訪問jsp是不可能的。這要從web-info文件夾的作用說起:
WEB-INF的存在以及其下的lib和classes目錄的作用都是jsp規定的,主要是系統運行的配置信息和環境,用來存儲服務端配置文件信息和在服務端運行的類文件,它下面的東西不允許客戶端直接訪問的,這是jsp環境的規定。
而我們通常是使用view層框架(如struts)來提供jsp服務,此時,我們可以將jsp文件放到web-info下避免客戶直接訪問到頁面,同時使用struts來進行jsp文件提取,並將編譯好的結果發送到客戶端。
如何在web.xml中配置jsp的訪問路徑
servlet
servlet-namemyjsp/servlet-name
jsp-file/myjsp.jsp/jsp-file
init-param
param-namehello/param-name
param-valuetest/param-value
/init-param
/servlet
servlet-mapping
servlet-namemyjsp/servlet-name
url-pattern/myjsp/url-pattern
/servlet-mapping
如何在服務器上配置JSP,jsp的服務器到底怎麼配置啊?
配置jsp服務器其實就是安裝 jdk,tomcat,mysql
從官網上下載各自的穩定版本,安裝就成了
網上搜一下,相關的文章很多
java+jsp+tomcat+mysql開發環境配置
軟件版本號
jdk1.5.0_09
mysql5.0 連接器mysql-connector-java-5.0.4-bin.jar
Apache Tomcat 6.0
默認安裝jdk1.5.0_09
設置環境變量
java_home jdk1.5.0_09的安裝目錄C:\Program Files\Java\jdk1.5.0_09
path %java_home%\bin
classpath .;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;%java_home%\jre\lib\rt.jar
默認安裝Apache Tomcat6.0,注意安裝過程中要將選擇運行環境的時候要把C:\Program Files\Java\jre1.5.0_09改成C:\Program Files\Java\jdk1.5.0_09
默認安裝mysql5.0
將mysql-connector-java-5.0.4-bin.jar放入C:\Program Files\Java\jdk1.5.0_09\jre\lib和C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib中,並設置環境變量classpath C:\Program Files\Java\jdk1.5.0_09\jre\lib\mysql-connector-java-5.0.4-bin.jar;C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\mysql-connector-java-5.0.4-bin.jar;
現在可以進行java和mysql數據庫的連接了
下面用一個簡單的例子來測試一下
在tomcat/webapps/下建一個文件夾mysqlManager,創建目錄mysqlManager/WEB-INF/classes
mysqlManager/WEB-INF/web.xml
在/mysqlManager/ 下新建index.jsp文件,內容如下
/mysqlManager/index.jsp:
?xml version=”1.0″ encoding=”gbk” ?
%@ page language=”java” contentType=”text/html; charset=gbk”
pageEncoding=”gbk”%
!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “”
%@ page import=”java.sql.*” %
%!
//這個函數用來獲取一個和數據庫的連接
Connection getConnection() throws SQLException{
String dbURL=”jdbc:mysql://localhost/mysql”;
String dbUser=”root”;
String dbPassword=”851120″;
try{
Class.forName(“com.mysql.jdbc.Driver”);
}catch(ClassNotFoundException e){
e.printStackTrace();
}
return DriverManager.getConnection(dbURL,dbUser,dbPassword);
}
//判斷一個字符串是否為空
boolean isEmptyString(String str){
return str==null||str.length()==0||str.trim().length()==0;
}
//下面的函數使顯示的字符串為漢語
String convert(String str){
try{
return new String(str.getBytes(“ISO-8859-1″),”gbk”);
}catch(Exception e){
return null;
}
}
%
script type=”text/javascript”
!–
function checkValue(){
if(document.forms[“main”].sql.value.length==0){
alert(“請輸入要執行的SQL語句”);
document.forms[“main”].sql.focus();
return false;
}else{
return true;
}
}
//–
/script
html xmlns=””
head
meta http-equiv=”Content-Type” content=”text/html; charset=gbk” /
titlemysql數據庫管理系統/title
/head
body
center
table width=”80%” border=”0″
tr請輸入要查詢的SQL語句/tr
tr
form action=”index.jsp” name=main method=”post” onsubmit=”checkValue()”
td
textarea name=”sql” cols=80 rows=15/textarea
/td
td valign=”bottom”
input type=”submit” value=”提交”/
/td
/form
/tr
/table
hr /
%//接受用戶的輸入顯示查詢結果 %
%
//獲取用戶輸入的SQL語句
String sql=request.getParameter(“sql”);
//out.print(“qwe”);
if(!isEmptyString(sql)){
%
p您所輸入的SQL語句是%=sql %/p
%
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
//out.print(“qwe”);
try{
//out.print(“qwe”);
con=getConnection();
//out.print(“qwe”);
stmt=con.createStatement();
//stmt.execute(sql);
if(stmt.execute(sql)){
//執行結果是ResultSet
rs=stmt.getResultSet();
//獲取rs自身的描述信息
ResultSetMetaData rsmd=rs.getMetaData();
//獲取rs的列數目
int colNum=rsmd.getColumnCount();
%
p您的查詢結果為:/p
table border=”1″
tr
%
for(int i=1;i=colNum;i++){
%
td%=rsmd.getColumnName(i) %/td
%
}
%
/tr
%
while(rs.next()){
%
tr
%
for(int j=1;j=colNum;j++){
%
td%=convert(rs.getString(j)) %/td
%
}
}
%
/tr
/table
%
}else{
int colNum=stmt.getUpdateCount();
%
p您更新了%=colNum %列!/p
%
}
}catch(SQLException e){
%
p發生錯誤,請檢查數據庫的連接/p
%
}finally{
try{
if(rs!=null)
rs.close();
}catch(Exception e){
}
try{
if(stmt!=null)
stmt.close();
}catch(Exception e){
}
try{
if(con!=null)
con.close();
}catch(Exception e){
}
}
}
%
/center
/body
/html
在瀏覽其中運行
在輸入框中輸入sql查詢語句 select * from user 會產生查詢結果
原創文章,作者:LABA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/140230.html