日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tomcat - 常用配置

發布時間:2025/3/17 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tomcat - 常用配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

Tomcat JNDI 配置

JNDI:Java Naming and Directory Interface Java命名和目錄接口,顧名思義就是提供Java的名稱和目錄方面的操作

常用名詞解釋:

  • 命名系統:一個具有相同命名約定的上下文的集合(可以嵌套:類似目錄)
  • 名稱空間:一個命名/目錄系統中名字的集合

設計思想:

  • JNDI提供通用的接口,底層的名稱服務可以多種實現,這種JNDI通過SPI的接口規范可以屏蔽各種SPI具體實現的細節

SPI實現:LDAP/DNS/NIS/RMI/NDS/CORBA


基礎包:

  • javax.naming:包含名稱服務的類和訪問接口
  • Context:上下文:用戶定義對象在名稱空間中的位置,提供查看、綁定、對象更名等功能
  • InitialContext:提供名稱/目錄服務的起始位置(JNDI無絕對root的概念,所有的操作都建立在Context上)

javax.nameing.directory:

  • javax.naming擴展包,主要提供目錄的功能
  • DirContext:提供對象在directory內的接口(提供對目錄屬性的查詢、更新等功能)

jaxa.naming.spi: 為開發特定的naming/directory系統定義的接口規范

JNDI的用途:連接對象/連接JDBC資源/連接JMS資源/連接JavaMail資源


Tomcat 配置JNDI 數據源般步驟:

①:配置JNDI數據源

Tomcat的conf文件夾下的context.xml文件(eclipse可直接在Servers\Tomcat v8.0 Server at localhost-config下的context.xml配置)

  • name:資源名稱
  • auth:授權訪問用戶名
  • type:資源類型
  • driverClassName:驅動類全路徑
  • url:數據庫鏈接字符串
  • username:用戶名
  • password:密碼 -- maxActive:最大訪問并發數
  • maxIdle:最大閑置連接數
  • maxWait:最大等待時間
<Resource name="jndi/mysql" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" username="squirrel" password="xiaoyang" maxActive="20" maxIdle="10" maxWait="10000"/>

Tomcat引用JNDI資源:web.xml配置

  • description:JNDI資源描述
  • res-ref-name:引用的資源名稱,與context.xml配置的資源名保持一致
  • res-type:JNDI資源類型
  • res-auth:授權訪問用戶名
<resource-ref> <description>JNDI DataSource</description> <res-ref-name>jndi/mysql</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>

測試JNDI資源:注意JNDI屬于J2EE中的規范,運行需要J2EE容器的支持,因此如果使用main方法進行測試會出現異常

package com.zhiwei.model;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; import com.zhiwei.form.UserForm;public class UserJNDITool {//定義數據庫基本參數private static Connection ct=null;private static PreparedStatement ps=null;private static ResultSet rs=null;/**JNDI測試只能在WEB項目中測試,Main方法報異常*/public static void testJNDI() throws NamingException, SQLException{ //構建名稱/目錄上下文對象,作為名稱服務的基礎環境Context ctx = new InitialContext(); //J2EE容器規范:java:comp/env的JNDI名稱前綴必不可少DataSource ds = (DataSource); ctx.lookup("java:comp/env/jndi/mysql"); ct = ds.getConnection(); ps = ct.prepareStatement("select *from student");rs = ps.executeQuery();while(rs.next()){System.out.println(rs.getString(1)+"-"+rs.getString(2)+"-"+rs.getString(3));}CloseDB();System.out.println("JNDI-->數據庫連接關閉:"+ct.isClosed()); } /**關閉數據庫資源*/public static void CloseDB(){try {if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e) {e.printStackTrace();}} }

測試JSP:

<%@page import="com.zhiwei.model.UserJNDITool"%> <%@page %> <%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta https-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Test JNDI</title> </head> <body> <% //測試Tomcat的JNDI服務 UserJNDITool.testJNDI(); %> </body> </html>

測試結果:


Tomcat 配置 httpss

JDK的keytool工具介紹

生成證書的命令:keytool -genkey

配置Tomcat證書的步驟: ①:生成服務器證書:(注意文件夾事先必須存在/主機名(非IP地址))

keytool -genkey -alias server -keyalg RSA -keysize 1024 -validity 365 -keystore D:/keys/server.keystore -storepass 123456

②:生成客戶端證書:

keytool -genkey -alias client -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -storetype PKCS12 -keystore D:/keys/client.p12 -storepass 123456

注意:PKCS12格式的證書兼容性比較好,如果不是這種格式,谷歌瀏覽器/火狐瀏覽器可能直接報錯誤,無法進入httpss的網頁

③:服務器信任客戶端證書:

  • 證書格式轉換:
keytool -export -alias client -keystore D:/keys/client.p12 -storetype PKCS12 -keypass 123456 -file D:/keys/client.cer
  • 正式導入客戶端證書:
keytool -import -v -file D:/keys/client.cer -keystore D:/keys/server.keystore-storepass 123456
  • 安裝客戶端證書:單擊client.cer證書,直接安裝

④:客戶端信任服務端證書:

  • 生成服務器安裝證書:
keytool -keystore D:/keys/ server.keystore -export -alias server -file D:/keys/server.cer
  • 安裝服務器證書:單擊server.cer文件,安裝證書(證書添加在瀏覽器"受信任的根證書頒發機構”)

⑤:配置tomcat: server.xml文件

取消注釋即可:

<Connector port="8443" protocol="org.apache.coyote.https11.https11NioProtocol" SSLEnabled="true" maxThreads="150" scheme="httpss" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="D:/keys/server.keystore" keystorePass="123456" />

⑥:httpss加密的網頁訪問:

httpss://127.0.0.1:8443/webBasic/ httpss訪問地址:注意使用Tomcat配置的httpss端口:8443 https也可以正常訪問:https://127.0.0.1:8080/webBasic

可選功能:Tomcat web項目強制使用httpss訪問,: 配置web.xml文件:添加如下內容

<login-config> <auth-method>CLIENT-CERT</auth-method> <realm-name>Client Cert Users-only Area</realm-name> </login-config> <security-constraint> <web-resource-collection > <web-resource-name >SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>

轉載于:https://my.oschina.net/yangzhiwei256/blog/3017303

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的Tomcat - 常用配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。