您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Servlet中如何創(chuàng)建和發(fā)布項(xiàng)目的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
具體步驟:
1.在開(kāi)發(fā)工具中創(chuàng)建一個(gè)dynamic web project helloword
2.在webContent中創(chuàng)建index.html文件
3.發(fā)布web應(yīng)用到服務(wù)器,發(fā)布應(yīng)用有兩種方式:
(開(kāi)發(fā)期間極少使用,項(xiàng)目向生產(chǎn)環(huán)境發(fā)布時(shí)使用)
將workspace中web項(xiàng)目下WebContent目錄中的文件復(fù)制到服務(wù)器webapps目錄下,并在此目錄 中創(chuàng)建新的helloword根目錄。
自動(dòng)將web應(yīng)用發(fā)布到web服務(wù)器下,需要在開(kāi)發(fā)工具中集成tomcat進(jìn)來(lái) ,他可以實(shí)現(xiàn)自動(dòng)發(fā)布,自動(dòng)更新到服務(wù)器
運(yùn)行helloword
打開(kāi)瀏覽器訪問(wèn)http:localhost:8080/ helloword/index.html
在idea新建項(xiàng)目的WEB-INF目錄下
1.創(chuàng)建一個(gè)簡(jiǎn)單的登陸頁(yè)面login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="login">
賬號(hào)<input type="text" name="account"> <br/>
密碼<input type="password" name="password"> <br/>
<input type="submit" value="登錄">
</form>
</body>
</html>
2.編寫(xiě)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 實(shí)現(xiàn) Servlet init service destroy
重寫(xiě)父類(lèi)方法
*/
public class LoginServlet extends HttpServlet {
/*
在客戶端第一次訪問(wèn)LoginServlet時(shí)創(chuàng)建,服務(wù)器時(shí)創(chuàng)建
只被調(diào)用一次,只創(chuàng)建一個(gè)servlet對(duì)象是單實(shí)例的
*/
public LoginServlet() {
System.out.println("LoginServlet無(wú)參構(gòu)造方法");
}
/*
init(),初始化,在對(duì)象創(chuàng)建后,構(gòu)造方法執(zhí)行后,調(diào)用init方法,完成一些初始化操作
只執(zhí)行一次
如何沒(méi)有初始化操作,可以不用重寫(xiě)init(),但是服務(wù)器仍然會(huì)調(diào)用init(),調(diào)用父類(lèi)中
*/
@Override
public void init(ServletConfig config) throws ServletException {
System.out.println("init");
System.out.println(config.getInitParameter("count"));
}
// 提供服務(wù)器,每次請(qǐng)求都會(huì)調(diào)用service
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("service");
}
/*
在服務(wù)器關(guān)閉前,servlet銷(xiāo)毀之前調(diào)用,
只執(zhí)行一次
可以在此方法中完成一些最終操作:例如保存日志,數(shù)據(jù)備份
如何沒(méi)有最終操作,可以不用重寫(xiě)destroy(),但是服務(wù)器仍然會(huì)調(diào)用destroy(),調(diào)用父類(lèi)中的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)記語(yǔ)言,主要用于存儲(chǔ)數(shù)據(jù)
web.xml 存儲(chǔ)web項(xiàng)目的配置信息,在服務(wù)器啟動(dòng)時(shí),由服務(wù)器讀取
-->
<!--配置servlet-->
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.ff.firstWeb.servlet.LoginServlet</servlet-class><!--反射機(jī)制可以根據(jù)類(lèi)的地址動(dòng)態(tài)創(chuàng)建對(duì)象-->
<!--配置初始化參數(shù)-->
<init-param>
<param-name>count</param-name>
<param-value>10</param-value>
</init-param>
<load-on-startup>0</load-on-startup><!--值<0 第一次訪問(wèn)時(shí)創(chuàng)建,>=0服務(wù)器啟動(dòng)時(shí)創(chuàng)-->
</servlet>
<!--給servlet配置一個(gè)訪問(wèn)地址,映射地址-->
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern><!--映射地址,以/開(kāi)頭-->
</servlet-mapping>
<welcome-file-list>
<welcome-file>demo.html</welcome-file>
</welcome-file-list>
</web-app>
感謝各位的閱讀!關(guān)于“Servlet中如何創(chuàng)建和發(fā)布項(xiàng)目”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。