javaweb啟動
A. 什麼是 java Web Start 軟體以及如何啟動它
么是 Java Web Start 軟體? Java Web Start 軟體可以從 Web 下載和運行 Java 應用程序。Java Web Start 軟體: 提供一種單擊一次即可激活應用程序的便捷方法保證運行最新版本的應用程序避免了復雜的安裝或升級過程 獲得Java Web Start 軟體 從Java 5.0 發布版本開始,Java Runtime Environment (JRE) 中就包含 Java Web Start。這意味著安裝 Java 時,將自動安裝 Java Web Start。第一次下載採用 Java Web Start 技術的 Java 應用程序時,Java Web Start 軟體會自動啟動。Java Web Start 軟體將整個應用程序高速緩存(存儲)到本地計算機上。這樣,所有必需的資源都已保存在本地,因此以後再次啟動時幾乎可以瞬間完成。每次啟動應用程序時,Java Web Start 軟體組件都會檢查應用程序的 Web 站點以確定是否有新的版本;如果有,則立即下載並啟動新版本。 使用Java Web Start 軟體啟動應用程序通過瀏覽器:從Web 頁面上單擊對應的鏈接。通過桌面圖標:如果經常使用某一應用程序,則可以在桌面上或「開始」菜單中創建該應用程序的快捷方式。Java Web Start 軟體會詢問是否想在「開始」菜單中創建快捷方式或條目。如果您回答「是」,則將來無需使用瀏覽器便可啟動該應用程序。通過Java Application Cache Viewer:Java Web Start 軟體還提供了 Application Cache Viewer,可以從 Java 控制面板上啟動它。Cache Viewer 允許直接啟動已下載的應用程序。
通過Application Cache Viewer 啟動應用程序的說明轉至「開始 > 設置 > 控制面板」,然後雙擊 Java 圖標。此時將啟動「Java 控制面板」。 單擊「常規」選項卡。 單擊「Internet 臨時文件」區域內的「設置」按鈕。 單擊「查看應用程序」按鈕。 從列表中雙擊要啟動的相應應用程序。通過命令提示符:還可以通過在命令提示符下鍵入 javaws jnlp_url 來啟動應用程序,其中 jnlp_url 是應用程序的 jnlp 文件的 URL 地址。
轉至「開始 > 運行」,然後鍵入 command。 此時將顯示命令提示符窗口。
B. Java中如何讓web伺服器啟動的時候自動運行web程序中某個類的某個
1、首先讓需要自動運行的類繼承javax.servlet.http.HttpServlet
2、把需要自動運行的類中寫一個init方法。(servlet應用程序啟動的入口就是init方法)
publicvoidinit(){
System.out.println("這樣在web容器啟動的時候,就會執行這句話了!");
}
3、在web.xml中新建一個servlet,如下:
<servlet>
<servlet-name>GenerateData</servlet-name>
<servlet-class>com.yq.javaSCADA.business.impl.GenerateData</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
4、啟動的web伺服器,tomcat,weblogic,jboss,就會自動運行類中的init方法了。
C. 什麼是 Java Web Start 軟體以及如何啟動它
什麼是 Java Web Start 軟體? Java Web Start 軟體使您可以從 Web 下載和運行 Java 應用程序。Java Web Start 軟體: 提供一種單擊一次即可激活應用程序的便捷方法保證您始終運行最新版本的應用程序避免了復雜的安裝或升級過程 獲得Java Web Start 軟體 從Java 5.0 發布版本開始,Java Runtime Environment (JRE) 中就包含 Java Web Start。這意味著安裝 Java 時,將自動安裝 Java Web Start。第一次下載採用 Java Web Start 技術的 Java 應用程序時,Java Web Start 軟體會自動啟動。Java Web Start 軟體將整個應用程序高速緩存(存儲)到本地計算機上。這樣,所有必需的資源都已保存在本地,因此以後再次啟動時幾乎可以瞬間完成。每次啟動應用程序時,Java Web Start 軟體組件都會檢查應用程序的 Web 站點以確定是否有新的版本;如果有,則立即下載並啟動新版本。 使用Java Web Start 軟體啟動應用程序通過瀏覽器:從Web 頁面上單擊對應的鏈接。通過桌面圖標:如果您經常使用某一應用程序,則可以在桌面上或「開始」菜單中創建該應用程序的快捷方式。Java Web Start 軟體會詢問您是否想在「開始」菜單中創建快捷方式或條目。如果您回答「是」,則將來無需使用瀏覽器便可啟動該應用程序。通過Java Application Cache Viewer:Java Web Start 軟體還提供了 Application Cache Viewer,您可以從 Java 控制面板上啟動它。Cache Viewer 允許您直接啟動已下載的應用程序。
通過Application Cache Viewer 啟動應用程序的說明轉至「開始 > 設置 > 控制面板」,然後雙擊 Java 圖標。此時將啟動「Java 控制面板」。 單擊「常規」選項卡。 單擊「Internet 臨時文件」區域內的「設置」按鈕。 單擊「查看應用程序」按鈕。 從列表中雙擊您要啟動的相應應用程序。通過命令提示符:您還可以通過在命令提示符下鍵入 javaws jnlp_url 來啟動應用程序,其中 jnlp_url 是應用程序的 jnlp 文件的 URL 地址。
轉至「開始 > 運行」,然後鍵入 command。 此時將顯示命令提示符窗口。鍵入javaws url_of_jnlp
D. 如何在 Web 瀏覽器中啟用 Java
首先靜態的html標簽是無法直接調用java程序的。
下面是實現的幾種方法:
第一種方法:
將按鈕放到form表單中,當按鈕點擊時提交表單(或者直接將input的type屬性定義成submit),表單可以指向JSP或Servlet,在JSP或Servlet里調用java程序
第二種方法:
在按鈕的onclick時間中添加js代碼
self.location="url";其中url指向JSP或Servlet
第三種方法:
使用第三方的javascript包,dwr是一個不錯的選擇:
1、需要准備dwr的jar包,並將之放到lib目錄下;
2、修改web.xml文件,添加DWRServlet的映射;
3、配置dwr,即在WEB-INF目錄下,添加dwr.xml文件,讓dwr知道在運行時給哪些JavaBean生成相應的javascript庫;
4、將需要的腳本庫引入到html頁面中就可以通過dwr的API訪問java類了。
第四種方法:
使用MVC框架更簡單,以struts為例,可以仿照第一或第二種方法,將url替換成配置文件中配置的地址就能訪問java程序了。
E. java web應用啟動報錯
ERROR [Engine] StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
從網上找了下資料,綜合一下原因分析:
這是web容器生成的servlet代碼中有out.write(」」),這個和JSP中調用的response.getOutputStream()產生沖突.
即Servlet規范說明,不能既調用 response.getOutputStream(),又調用response.getWriter(),無論先調用哪一個,在調用第二個時候應會拋出 IllegalStateException,因為在jsp中,out變數是通過response.getWriter得到的,在程序中既用了response.getOutputStream,又用了out變數,故出現以上錯誤。
解決方案:
1.在程序中添加:
out.clear();
out = pageContext.pushBody();
就可以了;
2,不要在%〕〔%之間寫內容包括空格和換行符
3,在頁面寫入圖片的時候,需要flush()
OutputStream output=response.getOutputStream();
output.flush();
4,在頁面確定寫入<meta http-equiv=」Content-Type」 content=」text/html; charset=gb2312」>
F. 如何啟動一個Java Web應用
1、查看自己下載的項目目錄
通過文件夾結構,你能夠看出來你下載的是一個maven項目,還是一個非maven項目,是eclipse的,還是myeclipse的,或者idea的,這些信息會決定你的導入項目方式。
有些人一開始就沒搞清自己下載的是maven版還是非maven版,所以一開始導入就出錯,最簡單的判斷就是是否有pom.xml文件,有就是maven項目。
本人從來不用myeclipse,只向eclipse里導入過一次myeclipse的web項目,但是導入後顯示的是普通的java項目,而不是java web項目,我就用了最簡單粗暴的方法,直接新建一個空web項目,然後把文件都扔到空web項目里去
除了正常的項目內容,有些人會在項目目錄里加入一個docs文件,裡面放入這個項目的說明和sql腳本,這時候當然要去先看看說明,導入一下sql什麼的。曾經有人在登錄頁面登錄不進去,就是因為sql腳本沒有執行,資料庫里空有表結構,沒有數據,自然也沒有用戶。(當然我很好奇沒有執行任何sql腳本,表結構是哪裡來的。好像早期這個項目是啟動時自動執行sql腳本安裝資料庫,後來開始提示下載者自己執行sql腳本)
導入項目後注意少不少jar包,字元編碼是否正確,注意查看jdk編譯版本,注意cleanup
2、打開首頁
一般下載下來的項目,welcome-file都是配置好的,直接輸入"http://localhost:8080/項目名"就可以自動跳轉到登錄頁面,也可以去web.xml里查看一下,如果沒有配置,使用ctrl+shift+R搜索一下LoginController,或者在*.java范圍搜索一下"login"關鍵字(點擊eclipse上方search->file),查看一下跳轉到login.jsp的請求路徑。
當然,如果你全局搜素都沒有任何一個"login"關鍵字也沒有配置welcome-file,.......那你去翻翻開發者的readme吧,如果裡面什麼也沒寫,要麼是沒有登錄頁面,要麼就是開發者開發習慣跟別人不一樣,我就問你你還有信心看懂他的代碼嗎
3、登錄
體貼的開發者應該在登錄首頁寫上默認的用戶名密碼,如果沒有,可以參考如下步驟
(1) 隨便輸入任意的用戶名和密碼
(2) 打開F12(或者其他抓包工具,推薦fiddler)
(3) 點擊登錄,查看請求的路徑
(4) 在項目里將路徑作為關鍵字進行搜索,找到請求的方法
(5) debug跟蹤下去,找到查詢的表,加密方法等
(6) 用加密方法生成新的密碼
(7) 直接替換user表的里用戶的密碼
當然也可以直接查看資料庫里有沒有user表,看看用戶名和密碼,但是一般來說,資料庫里的密碼都是加密過的。
基本上做完這幾步,如果項目本身代碼沒有問題,環境沒有問題的話,一個web項目就能啟動起來了
G. java Web 啟動時自動執行代碼的幾種方式
Web容器啟動後執行代碼的幾種方式
其執行順序為:
4===>5===>1===>2===>3
即指定init-method的Bean開始執行
接著實現spring的Bean後置處理器開始執行
然後是Servlet的監聽器執行
再接下來是Servlet的過濾器執行
最後才是Servlet執行
1、實現Servlet監聽器介面ServletContextListener
[java] view plain
public class InitListener implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent context) {
}
@Override
public void contextInitialized(ServletContextEvent context) {
// 上下文初始化執行
System.out.println("================>[ServletContextListener]自動載入啟動開始.");
SpringUtil.getInstance().setContext(
<span style="white-space:pre"> </span>WebApplicationContextUtils.getWebApplicationContext(arg0.getServletContext())
<span style="white-space:pre"> </span>);
}
}
然後在web.xml文件配置該監聽器
[html] view plain
<listener>
<listener-class>com.test.init.InitListener</listener-class>
</listener>
2、實現Servlet的過濾器Filter
[html] view plain
public class InitFilter implements Filter {
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException,
ServletException {
}
@Override
public void init(FilterConfig config) throws ServletException {
System.out.println("================>[Filter]自動載入啟動開始.");
// 讀取Spring容器中的Bean[此時Bean已載入,可以使用]
//寫啟動需要執行的代碼
System.out.println("================>[Filter]自動載入啟動結束.");
}
}
然後在web.xml文件配置過濾器即可
[html] view plain
<filter>
<filter-name>InitFilter</filter-name>
<filter-class>com.test.init.InitFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>InitFilter</filter-name>
<url-pattern>/</url-pattern>
</filter-mapping>
3、編寫一個Servlet,在web.xml裡面配置容器啟動後執行即可
[html] view plain
public class InitServlet extends HttpServlet {
/**
*/
private static final long serialVersionUID = 1L;
@Override
public void init(ServletConfig config) {
try {
super.init();
} catch (ServletException e) {
e.printStackTrace();
}
System.out.println("================>[Servlet]自動載入啟動開始.");
// 讀取Spring容器中的Bean[此時Bean已載入,可以使用]
//執行想要的代碼
System.out.println("================>[Servlet]自動載入啟動結束.");
}
}
然後在web.xml文件配置該Servlet的啟動方式為:容器啟動後執行
<servlet>
<servlet-name>InitServlet</servlet-name>
<servlet-class>com.test.init.InitServlet</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>test</param-value>
</init-param>
<!-- 此處指定載入順序為2,表明還有優先順序更高的Servlet要先執行 -->
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>InitServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
關於啟動後執行,由load-on-startup指定:
(1)當值為0或者大於0時,表示容器在應用啟動時就載入這個servlet。值越小,啟動優先順序越高;
(2)當是一個負數時或者沒有指定時,表示該servlet被調用時才載入。
4、如果你使用Spring IOC作為Bean管理容器,那麼可以指定init-method其中init-method表示bean載入成功後,立即執行某個方法。配置如下:start為要執行的方法名稱
[html] view plain
<!-- service -->
<bean id="shopService" class="com.test.teach.service.ShopService" <span style="color:#33ffff;">init-method="start"</span>>
<property name="shopDao" ref="shopDao" />
</bean>
H. javaWeb程序啟動時怎麼獲取或設置系統參數
方法都是想出來的,介紹一種, 可以把要在啟動時運行的放在一個單獨的Servlet的init()方法中 在web.xml中配置這個servlet的load-on-startup 屬性值大於等於0就行了,如果小於0或不設置則是在訪問此servlet時才載入 至於設置為幾如果要優先其他執行那就設置的低些,相反就設置高些 程序啟動時會根據load-on-startup的值由低到高順序載入
I. 什麼是 Java Web Start 軟體以及如何啟動它
JavaTM Web Start 是基於 Java 技術的應用程序的一種部署解決方案。
它是連接計算機和 Internet 的便捷通道,允許用戶在完全脫離 Web 的情況下運行和管理應用程序。Java Web Start 提供一次單擊激活應用程序的簡易方法,並保證始終運行應用程序的最新版本,從而可避免復雜的安裝或升級過程。
傳統情況下,通過 Web 發布軟體需要用戶在 Web 上查找、下載,而後在系統中存放並執行安裝程序。執行安裝程序後,將提示指定安裝路徑和安裝選項,例如完全、典型或最小安裝。這是一項耗時而又復雜的任務,並且在安裝軟體的每個新版本時都必須重復進行。
相反,通過 Web 部署的應用程序,例如您喜愛的基於 HTML 的電子郵件客戶軟體和日歷、拍賣站點等等,都非常容易安裝和使用。Web 瀏覽器使整個過程自動完成。沒有復雜的下載、安裝和配置過程,並且確保您始終使用最新版本。
Java Web Start 技術可為全功能應用程序提供與如上所述的 Web 瀏覽器為 HTML 應用程序提供的相同的好處。Java Web Start 技術是一種面向 Web 的應用程序部署解決方案。使用全功能應用程序替代基於 HTML 的客戶軟體具有多種好處:
高度交互的用戶界面,可與傳統應用程序(如文字處理和電子表格軟體)相媲美。
較低的帶寬需求。應用程序無須在每次單擊時都與 Web 伺服器進行連接,它可以緩存已經下載的信息。這樣,它可以在低速連接上實現更好的交互性。 支持離線使用。
當然,在第一次使用時仍得下載應用程序。基於 HTML 的應用程序因而具有首次激活的開銷。典型情況下,打開一個 Web 頁面需要幾秒鍾。基於 Java TM 技術的應用程序通過典型的數據機連接下載將需要幾分鍾。Java Web Start 將下載的所有文件緩存在本地計算機上。這樣,盡管應用程序的首次激活開銷高於 HTML 頁面,但此後便可在瞬間完成應用程序的啟動,因為所需的全部資源都可在本地獲得。
每次啟動時,Java Web Start 將檢查 Web 伺服器是否有應用程序的更新版本,如果有,則自動將其下載並啟動。這樣,應用程序將自動更新。沒有復雜的升級過程。
J. 如何在 Web 瀏覽器中啟用 Java
問題
即使安裝了 Java,小應用程序依然無法運行。
原因
尚未在 Web 瀏覽器中啟用 Java。如果已經安裝了 Java,但是小應用程序無法工作,您可能需要通過 Web 瀏覽器啟用 Java。
解決方案
請按照以下說明通過您的 Web 瀏覽器啟用 Java:
適用於 Windows 的瀏覽器
Internet Explorer
單擊工具,然後單擊 Internet 選項
選擇安全選項卡,選擇自定義級別按鈕
向下滾動到 Java 小應用程序腳本
確保選中啟用單選按鈕
單擊確定保存您的首選設置
Chrome
單擊扳手圖標,然後選擇選項。
依次選擇高級選項和隱私內容設置。
將顯示「內容設置」面板。
在插件部分,選擇禁用單獨插件鏈接以檢查是否已啟用 Java
單擊啟用鏈接(如果顯示「禁用」鏈接,則已啟用 Java)
注意:此外,您也可通過在瀏覽器地址欄中 鍵入「about:plugins」 來訪問「插件」設置。
適用於 Windows 和 Mac OS X 的瀏覽器
Firefox
啟動 Mozilla Firefox 瀏覽器,如果該瀏覽器正在運行,則重新啟動它。
在瀏覽器頂部,選擇 Firefox 按鈕(或 Windows XP 中的工具菜單),然後選擇附加組件
此時將打開「附加組件管理器」選項卡。
在「附加組件管理器」選項卡中,選擇插件
單擊 Java (TM) 平台插件以將其選定
單擊啟用按鈕(如果按鈕顯示為禁用,則 Java 已啟用)
Safari
啟動 Safari 瀏覽器
單擊「Safari」並選擇首選項
單擊安全選項卡
選中(選擇)啟用 Java 復選框
關閉「Safari 首選項」窗口
Opera 4.x 及更高版本
適用於 Windows 的 Opera 不使用 Java,但是 Opera Web 瀏覽器中已嵌入了 Java。
適用於其他平台的 Opera 可支持 Java。請參見 Opera 平台文檔。
有關詳細信息,請參見以下 Opera 支持文檔:
Opera 中的 Java 軟體支持