您的位置:首页 > 财经 > 产业 > 个人网页制作成品下载_工厂外发订单哪里去找_各大搜索引擎收录入口_网推和地推的区别

个人网页制作成品下载_工厂外发订单哪里去找_各大搜索引擎收录入口_网推和地推的区别

2025/4/22 11:53:10 来源:https://blog.csdn.net/sniper_fandc/article/details/147278469  浏览:    关键词:个人网页制作成品下载_工厂外发订单哪里去找_各大搜索引擎收录入口_网推和地推的区别
个人网页制作成品下载_工厂外发订单哪里去找_各大搜索引擎收录入口_网推和地推的区别

目录

1 Tomcat

1.1 目录结构

1.2 启动服务器

1.3 部署

2 Servlet

2.1 创建项目

(1)创建Maven项目

(2)目录结构

(3)引入依赖

(4)创建必要的目录结构

(5)编写代码

(6)打包

(7)部署

(8)访问


1 Tomcat

        Tomcat是一种http服务器,让我们实现服务器不必从Java的TCP Socket来从头搭建服务器,而是基于Tomcat提供的API来处理请求和响应,实现业务逻辑的代码。

1.1 目录结构

        下载安装好Tomcat后,其目录结构如下:

        bin:包含了许多可执行程序,比如启动服务程序startup.bat和startup.sh,bat后缀是Windows的可执行程序,sh后缀是Linux的可执行程序,而Tomcat运行在JVM上,JVM已经实现了跨平台的特性,因此Tomcat的命令也是跨平台的多种格式。

        conf:相关配置文件,通过修改配置文件可以满足不同模式需求。

        lib:相关依赖库,Tomcat是基于Java实现的,运行时必须依赖相应的实现类库。

        logs:运行时的日志文件,帮助排除异常。

        temp:临时文件夹,不关心。

        webapps:存放要运行的web application的文件夹,要部署网站就要把相关的web文件放入其中。

        work:Tomcat内部进行预编译的文件夹。

1.2 启动服务器

        双击bin目录下的startup.bat命令,出现下述字样说明启动成功:

        如果启动失败,打开cmd,把startup.bat可执行程序拖拽到命令行中敲回车,即可查看启动日志,根据错误信息排查。

        启动成功后,在浏览器地址栏输入localhost:8080(Tomcat默认使用8080端口号),出现如下界面也说明启动成功:

1.3 部署

        Tomcat支持静态页面和动态页面的部署,静态页面是写死的页面,动态页面可以根据用户的输入动态变化。

        所谓部署,就是把web文件复制粘贴到Tomcat的webapps文件夹下,比如把博客前端页面放入该文件夹下:

        此时就可以通过ip+端口号+blog_web+页面来访问某个页面了,但是部署到本机上,没有公网ip,只有私网ip,那只能同一个局域网才能访问到页面。有公网ip就可以全网访问到页面。

        如果要部署动态页面,就需要Servlet(Tomcat提供的后端API)来实现后端代码。

2 Servlet

2.1 创建项目

(1)创建Maven项目

(2)目录结构

        java目录就是放java代码的地方。

        resources目录放入项目依赖的资源。

        webapp目录是手动创建(格式必须一模一样)的,内部放入前端资源的代码:html、css和js等等,这是项目部署到Tomcat的重要目录,而内部web.xml文件时Tomcat可以正确处理webapp中动态资源的重要依赖。

        test目录则是放测试代码的地方。

        pom.xml文件是Maven项目最重要的配置文件,内部除了一些重要的项目配置信息,还有自动引入依赖的作用。

(3)引入依赖

        Maven中央仓库的地址在https://mvnrepository.com/,在中央仓库中搜索servlet,引入servlet 3.1版本(注意:servlet 3.1、Tomcat 8.5和Java 8是兼容的版本,选择其他版本可能出现不兼容问题)。

<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency>

        把上述内容粘贴到pom.xml中<dependencies></dependencies>标签中,多个依赖都要粘到这个标签里面。

        当前依赖还没有下载到本地,一般会自动下载,如果没有自动下载,就手动刷新(点击Maven框中的左上角)。如果没有红色,就说明依赖已经导入。

(4)创建必要的目录结构

        按照(2)所示的目录依次创建必要的webapp目录、WEB-INF目录和web.xml,web.xml内容如下(一模一样):

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name></web-app>

(5)编写代码

@WebServlet("/hello")public class HelloServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("hello");resp.getWriter().write("hello");}}

        1.必须继承HttpServlet,这个抽象类来源于servlet的依赖。

        2.@WebServlet("/hello")注解表示只有收到/hello的请求才会执行这个类的代码(必须以

"/hello"结尾,不能作为中间路径)。

        3.重写doGet方法。doGet的参数有两个,HttpServletRequest表示收到的HTTP请求,Http

ServletResponse表示要构造的HTTP响应。这个方法会在Tomcat收到GET请求时触发。

        4.HttpServletRequest表示HTTP请求。Tomcat按照HTTP请求的格式把字符串格式的请求转成了一个HttpServletRequest对象。后续想获取请求中的信息(方法,url,header,body等)都是通过这个对象来获取。

        5.HttpServletResponse表示HTTP响应。代码中把响应对象构造好(构造响应的状态码,head

er,body等)

        6.resp.getWriter()会获取到一个流对象,通过这个流对象就可以写入一些数据,写入的数据会被构造成一个HTTP响应的body部分,Tomcat会把整个响应转成字符串,通过socket写回给浏览器。

        7.没有main方法。main方法已经被包含在Tomcat里,在合适的时间执行。

(6)打包

        点击package,再点击上栏绿色的运行,就可以把web程序打成包,包的名称是由把artifactId和version拼接组成:

        打包成功:

        默认是打成jar包(普通Java程序,只包含.class文件),而web程序需要打成war包(除了.class文件,还包含页面代码等)。

        在pom.xml文件使用packaging标签指明打的是war包,finalName标签可以指明包名。再次打包:

        如果出现打包失败,并且错误是Cannot access defaults field of Properties,可以尝试添加如下插件在pom.xml中:

    <build><finalName>ServletHelloWorld</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.2.0</version><configuration><failOnMissingWebXml>false</failOnMissingWebXml></configuration></plugin></plugins></build>

(7)部署

        把war包拷贝到Tomcat的webapps目录下,启动Tomcat就会自动把war包解压缩。

        启动Tomcat,发现war包自动解压缩为:

        注意:如果修改了代码,就要重新打包部署,并且还要重启Tomcat。

(8)访问

        访问http://127.0.0.1:8080/ServletHelloWorld/hello,就会给端口号为8080的Tomcat发送GET请求,从而触发doGet方法,返回hello的HTTP响应。

        注意:路径的写法,8080/后ServletHelloWorld即webapps中的目录,而/hello就是doGet方法注解标识的路径。而这种直接输入URL的方式发送的GET请求,接收到的响应就会直接把body的数据渲染到页面上。要想不渲染,就需要用更灵活的方法处理请求和响应(ajax)。

下篇文章:

Tomcat与Servlet(2)https://blog.csdn.net/sniper_fandc/article/details/147278951?fromshare=blogdetail&sharetype=blogdetail&sharerId=147278951&sharerefer=PC&sharesource=sniper_fandc&sharefrom=from_link

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com