Servlet第一個項目的發(fā)布(入門)
創(chuàng)建發(fā)布web項目
具體步驟:
1.在開發(fā)工具中創(chuàng)建一個dynamic web project helloword
2.在webContent中創(chuàng)建index.html文件
3.發(fā)布web應(yīng)用到服務(wù)器,發(fā)布應(yīng)用有兩種方式:
方式1:手動發(fā)布
(開發(fā)期間極少使用,項目向生產(chǎn)環(huán)境發(fā)布時使用)
將workspace中web項目下WebContent目錄中的文件復(fù)制到服務(wù)器webapps目錄下,并在此目錄 中創(chuàng)建新的helloword根目錄。
方式2:自動發(fā)布
自動將web應(yīng)用發(fā)布到web服務(wù)器下,需要在開發(fā)工具中集成tomcat進(jìn)來 ,他可以實現(xiàn)自動發(fā)布,自動更新到服務(wù)器
運行helloword
打開瀏覽器訪問http:localhost:8080/ helloword/index.html
實例
在idea新建項目的WEB-INF目錄下
1.創(chuàng)建一個簡單的登陸頁面login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="login">
賬號<input type="text" name="account"> <br/>
密碼<input type="password" name="password"> <br/>
<input type="submit" value="登錄">
</form>
</body>
</html>
2.編寫Servlet程序
package com.ff.firstWeb.servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/*
servlet搭建
繼承HttpServlet 實現(xiàn) Servlet init service destroy
重寫父類方法
*/
public class LoginServlet extends HttpServlet {
/*
在客戶端第一次訪問LoginServlet時創(chuàng)建,服務(wù)器時創(chuàng)建
只被調(diào)用一次,只創(chuàng)建一個servlet對象是單實例的
*/
public LoginServlet() {
System.out.println("LoginServlet無參構(gòu)造方法");
}
/*
init(),初始化,在對象創(chuàng)建后,構(gòu)造方法執(zhí)行后,調(diào)用init方法,完成一些初始化操作
只執(zhí)行一次
如何沒有初始化操作,可以不用重寫init(),但是服務(wù)器仍然會調(diào)用init(),調(diào)用父類中
*/
@Override
public void init(ServletConfig config) throws ServletException {
System.out.println("init");
System.out.println(config.getInitParameter("count"));
}
// 提供服務(wù)器,每次請求都會調(diào)用service
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("service");
}
/*
在服務(wù)器關(guān)閉前,servlet銷毀之前調(diào)用,
只執(zhí)行一次
可以在此方法中完成一些最終操作:例如保存日志,數(shù)據(jù)備份
如何沒有最終操作,可以不用重寫destroy(),但是服務(wù)器仍然會調(diào)用destroy(),調(diào)用父類中的destory()
*/
@Override
public void destroy() {
System.out.println("destroy");
}
}
修改web.xml中的配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!--
xml 可擴(kuò)展標(biāo)記語言,主要用于存儲數(shù)據(jù)
web.xml 存儲web項目的配置信息,在服務(wù)器啟動時,由服務(wù)器讀取
-->
<!--配置servlet-->
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.ff.firstWeb.servlet.LoginServlet</servlet-class><!--反射機制可以根據(jù)類的地址動態(tài)創(chuàng)建對象-->
<!--配置初始化參數(shù)-->
<init-param>
<param-name>count</param-name>
<param-value>10</param-value>
</init-param>
<load-on-startup>0</load-on-startup><!--值<0 第一次訪問時創(chuàng)建,>=0服務(wù)器啟動時創(chuàng)-->
</servlet>
<!--給servlet配置一個訪問地址,映射地址-->
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern><!--映射地址,以/開頭-->
</servlet-mapping>
<welcome-file-list>
<welcome-file>demo.html</welcome-file>
</welcome-file-list>
</web-app>
運行結(jié)果:

到此這篇關(guān)于Servlet第一個項目的發(fā)布(入門)的文章就介紹到這了,更多相關(guān)Servlet 項目發(fā)布內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- IntelliJ IDEA里找不到j(luò)avax.servlet的jar包的解決方法
- 解決java編譯錯誤( 程序包javax.servlet不存在javax.servlet.*)
- java 出現(xiàn)問題javax.servlet.http.HttpServlet was not found解決方法
- 解決cannot be cast to javax.servlet.Filter 報錯的問題
- 淺析javax.servlet.Servlet,ServletContext接口
- 帶你快速上手Servlet
- JavaWeb實戰(zhàn)之用Servlet+JDBC實現(xiàn)用戶登錄與注冊
- IDEA2021 tomcat10 servlet 較新版本踩坑問題
- JavaWeb中Servlet的深入講解
- Servlet實現(xiàn)文件的上傳與下載
- IDEA生成servlet程序的實現(xiàn)步驟
- 解決無法解析javax.servlet的方法
相關(guān)文章
IDEA2021.2永久激活碼最新超詳細(xì)(激活到2099)
這篇文章主要介紹了IDEA2021.2永久激活碼,是idea2021版最新激活方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
java 中類似js encodeURIComponent 函數(shù)的實現(xiàn)案例
這篇文章主要介紹了java 中類似js encodeURIComponent 函數(shù)的實現(xiàn)案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
Spring很常用的@Conditional注解的使用場景和源碼解析
今天要分享的是Spring的注解@Conditional,@Conditional是一個條件注解,它的作用是判斷Bean是否滿足條件,本文詳細(xì)介紹了@Conditional注解的使用場景和源碼,需要的朋友可以參考一下2023-04-04
Java8新特性之接口中的默認(rèn)方法和靜態(tài)方法詳解
今天帶大家學(xué)習(xí)的是Java8新特性的相關(guān)知識,文章圍繞著Java接口中的默認(rèn)方法和靜態(tài)方法展開,文中有非常詳細(xì)的的代碼示例,需要的朋友可以參考下2021-06-06
Springboot集成Spring Security實現(xiàn)JWT認(rèn)證的步驟詳解
這篇文章主要介紹了Springboot集成Spring Security實現(xiàn)JWT認(rèn)證的步驟詳解,幫助大家更好的理解和使用springboot,感興趣的朋友可以了解下2021-02-02

