具体步骤:
1.在开发工具中创建一个dynamic web project helloword
2.在webContent中创建index.html文件
3.发布web应用到服务器,发布应用有两种方式:
(开发期间极少使用,项目向生产环境发布时使用)
将workspace中web项目下WebContent目录中的文件复制到服务器webapps目录下,并在此目录 中创建新的helloword根目录。
自动将web应用发布到web服务器下,需要在开发工具中集成tomcat进来 ,他可以实现自动发布,自动更新到服务器
4.运行helloword
打开浏览器访问http:localhost:8080/ helloword/index.html
在idea新建项目的WEB-INF目录下
1.创建一个简单的登陆页面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 实现 Servlet init service destroy
重写父类方法
*/
public class LoginServlet extends HttpServlet {
/*
在客户端第一次访问LoginServlet时创建,服务器时创建
只被调用一次,只创建一个servlet对象是单实例的
*/
public LoginServlet() {
System.out.println("LoginServlet无参构造方法");
}
/*
init(),初始化,在对象创建后,构造方法执行后,调用init方法,完成一些初始化操作
只执行一次
如何没有初始化操作,可以不用重写init(),但是服务器仍然会调用init(),调用父类中
*/
@Override
public void init(ServletConfig config) throws ServletException {
System.out.println("init");
System.out.println(config.getInitParameter("count"));
}
// 提供服务器,每次请求都会调用service
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("service");
}
/*
在服务器关闭前,servlet销毁之前调用,
只执行一次
可以在此方法中完成一些最终操作:例如保存日志,数据备份
如何没有最终操作,可以不用重写destroy(),但是服务器仍然会调用destroy(),调用父类中的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 可扩展标记语言,主要用于存储数据
web.xml 存储web项目的配置信息,在服务器启动时,由服务器读取
-->
<!--配置servlet-->
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.ff.firstWeb.servlet.LoginServlet</servlet-class><!--反射机制可以根据类的地址动态创建对象-->
<!--配置初始化参数-->
<init-param>
<param-name>count</param-name>
<param-value>10</param-value>
</init-param>
<load-on-startup>0</load-on-startup><!--值<0 第一次访问时创建,>=0服务器启动时创-->
</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>
运行结果:
一、前言 随着项目模块越来越多,很多模块现在都是独立部署。模块之间的交流有时...
出现问题: 1. 使用层制作的下拉菜单下正好有FLASH动画,菜单被动画遮挡. 2. 页面...
HTML部分 复制代码 代码如下: !DOCTYPE html head meta charset="utf-8" / title...
本节简介(异步链接服务器对象)XMLHTTPRequest以及AJAX的简介。 AJAX即“Asynch...
商品详情页面开发案例 页面详细设计 详细设计步骤 !--pages/goods1/goods1.wxml-...
客户端部分: 复制代码 代码如下: html head meta http-equiv="Content-Type" co...
本文实例为大家分享了ajax无刷新分页的具体代码,供大家参考,具体内容如下 html...
文章目录 关系数据库 关系操作 基本关系操作 关系数据库语言的分类 关系模型的完...
表格如下: HTML原始码 显示结果 描述 lt; 小於号或显示标记 gt; 大於号或显示标...
正则表达式Regex(regular expression)是一种强大的描述字符序列的工具。在许多语...