TomCat小型服务器安装

一、TomCat的作用

Tomcat能够接收并处理来自客户端的请求,并将生成的响应返回给客户端,从而实现了Java Web应用程序的运行和托管。

二、安装步骤

Tomcat官方站点:

http://tomcat.apache.org

1、进入官方网站后获取安装包:

🤠tar.gz文件是Linux操作系统下的安装版本
🤠zip文件是Windows系统下的压缩版本
2、解压安装
解压到自己的文件夹中
3、安装JDK
设置环境变量
设置JAVA_HOME环境变量
设置Path环境变量
4、在TomCat的bin目录中找到startup.bat

 显示以下黑框则成功安装(如果只是闪一下,则要重新设置环境变量)黑框打开表示服务器打开

黑框关闭表示服务器关闭

 5、在浏览器中打开127.0.0.1:8080跳转到TomCat网站

 完成以上步骤,Tomcat安装成功。

三、修改服务器Tomcat端口号

打开conf文件找到server.xml文件,用Notepad++打开,找到8080端口号修改它,只要不超过范围即可,最好用4位数的端口号。

 

四、web开发环境搭建 

 

 

 

 

重写下面三个方法,以及一个无参构造方法

 

package com.ffyc.dormServer.web;

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;

public class LoginServlet extends HttpServlet {
   /*1、接收请求中的数据
   * 2、调用其他的Java程序处理
   * 3、向前端做出响应*/
    public LoginServlet(){
        /*
        无参构造方法,默认时存在的,初始化创建的对象
        只被调用一次(始终只创建了一个对象),在第一次访问servlet程序时由服务器创建执行
         */
        System.out.println("无参的构造方法");
    }

    /*
    init()初始化  在构造方法执行完成后,立即被调用执行,完成一些servlet程序的初始化
    例如(读取配置文件的参数)
    只执行一次
     */
    @Override
    public void init(ServletConfig config) throws ServletException {
        System.out.println("init");
    }

    /*
    service()用来接收前端请求,为前端提供服务的,
    每次前端发送的请求,都会调用service(),多次调用
    HttpServletRequest req:表示请求对象,前端提交过来的所有数据,都由服务器封装在此对象
    HttpServletResponse resp:表示响应对象,响应前端数据
     */
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("service");
    }

    /*
    destroy()
    销毁
    服务器关闭,要执行的一些操作,就可以在这里执行
     */
    @Override
    public void destroy() {
        System.out.println("destroy");
    }


}

 在web.xml中配置Servlet

<?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文件:ml结尾的,也是一种标记语言,设计的目的是用来在项目中存储项目中的配置信息,
    制定好可以使用那些标签
    web.xml:存储web后端项目配置信息,
    在服务器启动时,由服务器加载读取
    -->

    <!--
    配置Servlet,把我们开发的servlet程序注册到服务器,由服务器启动时加载,第一次加载时,由服务器创建对象

    -->
    
    <!--注册登录处理的Servlet-->
    <servlet>
        <servlet-name>login</servlet-name>
        <servlet-class>com.ffyc.dormServer.web.LoginServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>login</servlet-name><!--为指定name的servlet程序配置访问地址-->
        <url-pattern>/login</url-pattern><!--配置的供外界访问的地址,必须 / 开头-->
    </servlet-mapping>

</web-app>

 开发环境搭建完成

五、一个简单的前后端的交互示例

用Hbuilder X写一个表单

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<!-- 
		 从前端向后端发送请求 都是http请求
		 http请求只能发送 超文本内容
		     http请求包含请求行、请求头、请求体部分
			 请求行、请求的方式,请求的资源地址等等
			 请求头、包含客户端的一些环境信息,这些信息都是由浏览器自动发出的,以键值形式传递
			 请求体:代表着浏览器在post请求方式中传递给服务器的参数,请求体中参数以键值形式传递
			 
			 
			 get请求:主要是从后端获取信息的,例如网页上的超链接,向后端传递少量信息,获得大量信息
			 请求数据直接在请求地址中拼接,所有传输的数据量有限,并且数据敏感不安全
			 
			 
			 post请求:主要用于向后端发送大量数据
			 请求数据在请求体中,可以传输大量数据,不在地址中显示,数据也安全
		 -->
		
		<form action="http://127.0.0.1:8088/domServer/login" method="post">
			账号:<input type="text" name="account" value=""/> <br />
			密码:<input type="password" name="password" value=""/> <br />
			<input type="submit" value="登录"/>
		</form>
	</body>
</html>

 

因为在后端处理get和post时会有不同,所以有了doget 和dopost俩个方法分别处理 

package com.ffyc.dormServer.web;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class LoginServlet extends HttpServlet {
    //默认无参构造存在

    //init()在没有初始化操作时,可以不用重写,但是服务器会调用父类发init()方法
    /*@Override
    public void init() throws ServletException {
        super.init();
    }*/


    /*
    由于前端请求有get和post俩种,在后端的处理上有点不同
    所以在父类的service方法中,会根据请求方式的不同,调用doget或者dopost方法分别处理
     */
   /* @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("执行登录处理");

        //接收前端提交的数据
        String account=req.getParameter("account");
        String password=req.getParameter("password");
        System.out.println(account);
        System.out.println(password);
    }*/
/*
处理get请求
 */
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("get请求");
        String name=req.getParameter("name");
        String age=req.getParameter("age");
        System.out.println(name);
        System.out.println(age);
    }

    /*
    处理post请求
     */
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("post请求");
        //设置解码的编码
        req.setCharacterEncoding("utf-8");
        String account=req.getParameter("account");
        String password=req.getParameter("password");
        System.out.println(account);
        System.out.println(password);
    }
    //destroy(),没有最终执行的操作时,也可以不用重写,但是服务器会调用父类的destroy()
    /*@Override
    public void destroy() {
        super.destroy();
    }*/


}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冯宇星的技术博客笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值