App下載

Servlet項目的入門學(xué)習(xí)之學(xué)會創(chuàng)建和發(fā)布項目

一級內(nèi)心戲表演藝術(shù)家 2021-08-09 11:54:41 瀏覽數(shù) (1811)
反饋

Servlet是基于Java語言編寫的服務(wù)器端程序,用于交互式地瀏覽和生成數(shù)據(jù),也可以生成動態(tài)的Web內(nèi)容。本篇文章,將帶大家學(xué)習(xí)Java Servlet項目的初步學(xué)習(xí),關(guān)于如何創(chuàng)建并發(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 可擴展標(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)于Java Servlet項目的入門學(xué)習(xí)內(nèi)容,如何創(chuàng)建并發(fā)布Servlet項目的全部內(nèi)容,想要了解更多相關(guān)Java Servlet 項目的其他內(nèi)容,請搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章。希望這篇文章能夠?qū)Υ蠹业膶W(xué)習(xí)有所幫助,也希望大家以后多多支持!


0 人點贊