Javaweb学习笔记(二)之发布动态资源

简介: 本文主要介绍了Javaweb项目实践案例,即发布动态资源和Servlet的简单介绍。

前言

本文主要介绍内容:

Servlet简单介绍

动态资源案例


一、 Servlet简单介绍

1、项目环境

开发IDE:IDEA2022(已经配置好了tomcat10 及maven)

JDK版本:jdk17

2、Servlet简单介绍

Servlet是运行在Java服务器端的程序,用于接受和响应来自客户端的基于HTTP协议的请求。如果要实现servlet的功能,可以通过实现servlet接口或者是继承它的实现类,包括httpservlet等3个方法。

二、动态资源案例

2.1、实现步骤

Javaweb发布动态资源案例实现步骤如下图所示:

image1(517).png

2.2、javaweb--发布动态资源案例

2.2.1创建一个Javaweb项目并导入静态资源

首先通过File->new ->projrct->

image2(460).png

接着填写相关信息,如下图所示,即可创建一个Javaweb项目。

image3(448).png

image4(407).png


然后将静态资源复制到webapp目录下。

image5(371).png






2.2.2 修改web.xml,并修改默认主页

由于我导入的是整个CRM系统的前端页面,所以,默认主页应该是CRM系统的主页面。

所以应该修改web.xml,重新设置默认主页,并将该项目的访问路径改为/crm.

image6(351).png

image7(320).png


具体的web.xml修改语句如下:

<!--修改默认主页-->

<welcome-file-list>

<welcome-file>/html/frame.html</welcome-file>

</welcome-file-list>

运行后结果如下:

image8(301).png


2.2.3编写一个实现Servlet接口的实现类,并重写service方法

在src/main/java目录下创建一个com.lianxi.dongtaidemo.StudentServlet的Servlet接口的实现类。

image9(271).png

image10(247).png

然后重写service方法,因为所有客户端的请求都会经过servlet方法

/*所有的客户端请求都会经过service方法*/

@Override

public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {

System.out.println("servlet接收到了客户端的请求");

}


2.2.4修改web.xml,配置servlet的相关资源

如上面步骤所示,service方法编写完之后,还不能使用,需要在web.xml上进行servlet配置。包括声明和映射两个步骤。具体代码如下图所示。

<!--servlet声明-->

<servlet>

<servlet-name>studentServlet</servlet-name>

<servlet-class>com.lianxi.dongtaidemo.StudentServlet</servlet-class>

</servlet>

<!--servlet路径映射-->

<servlet-mapping>

<servlet-name>studentServlet</servlet-name>

<url-pattern>/studentS</url-pattern>

</servlet-mapping>



2.2.5部署项目并查看效果是否如预期

image11(227).png

image12(203).png

控制台输出了语句,证明动态案例发布成功了。

2.2.6因为使用tomcat10出现问题

image13(186).png

在运行动态案例时出现了实例化Servlet类实例异常,这是因为是因为tomcat/lib中的servlet-api.jar与maven中导入的servlet包不兼容。

解决方法有两个:

第1、 可以把tomcat降级为9版本

第2、 在项目中手动导入tomcat安装目录下lib中的servlet-api包然后选择继承jakata.servlet类。具体步骤是,右键项目,选择open module Settings,然后点击“+”号,找到tomcat10下的lib里面的servlet-api.jar,导入到项目当中。

回到servlet实现类,将javax.servlet变成jakata.servlet类,即可完成操作。

image14(170).png

image15(151).png

总结

当我们在做项目。特别是当我们做一些之前就成功过的项目时,现在做的却没有成功,可以考虑一下是不是jar升级带来的问题。

相关文章
|
2月前
|
Java 程序员
JAVA程序员的进阶之路:掌握URL与URLConnection,轻松玩转网络资源!
在Java编程中,网络资源的获取与处理至关重要。本文介绍了如何使用URL与URLConnection高效、准确地获取网络资源。首先,通过`java.net.URL`类定位网络资源;其次,利用`URLConnection`类实现资源的读取与写入。文章还提供了最佳实践,包括异常处理、连接池、超时设置和请求头与响应头的合理配置,帮助Java程序员提升技能,应对复杂网络编程场景。
67 9
|
3月前
|
Java
Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
【10月更文挑战第14天】Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
72 2
|
2月前
|
Java 开发者
JAVA高手必备:URL与URLConnection,解锁网络资源的终极秘籍!
在Java网络编程中,URL和URLConnection是两大关键技术,能够帮助开发者轻松处理网络资源。本文通过两个案例,深入解析了如何使用URL和URLConnection从网站抓取数据和发送POST请求上传数据,助力你成为真正的JAVA高手。
68 11
|
2月前
|
Java 数据库连接 API
Spring 框架的介绍(Java EE 学习笔记02)
Spring是一个由Rod Johnson开发的轻量级Java SE/EE一站式开源框架,旨在解决Java EE应用中的多种问题。它采用非侵入式设计,通过IoC和AOP技术简化了Java应用的开发流程,降低了组件间的耦合度,支持事务管理和多种框架的无缝集成,极大提升了开发效率和代码质量。Spring 5引入了响应式编程等新特性,进一步增强了框架的功能性和灵活性。
49 0
|
4月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
502 37
|
3月前
|
前端开发 Java 应用服务中间件
Javaweb学习
【10月更文挑战第1天】Javaweb学习
39 2
|
3月前
|
安全 Java Android开发
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
88 5
|
4月前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
|
4月前
|
安全 Java Android开发
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
132 2
|
3月前
|
Java 数据安全/隐私保护
java学习笔记(基础习题)
java学习笔记(基础习题)
49 0