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升级带来的问题。

相关文章
|
1月前
|
Web App开发 SQL Java
javaweb实现分页(二)
javaweb实现分页(二)
19 1
|
1月前
|
SQL 关系型数据库 MySQL
javaweb实现分页查询(一)
javaweb实现分页查询(一)
18 0
|
1月前
|
SQL 关系型数据库 MySQL
javaweb中实现分页,持续更新……
javaweb中实现分页,持续更新……
16 1
|
2月前
|
监控 负载均衡 Dubbo
|
3月前
|
前端开发 Java 数据安全/隐私保护
Java学习—GUI编程学习笔记
Java学习—GUI编程学习笔记
|
1月前
|
Java Spring 容器
[JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别
[JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别
|
1月前
JavaWeb 开发之 ServletContext 的和使用
JavaWeb 开发之 ServletContext 的和使用
23 1
|
27天前
|
SQL 前端开发 Java
Java后端进阶之路: JavaWeb(四)
Java后端进阶之路: JavaWeb
33 1
|
XML SQL Java
Java后端进阶之路: JavaWeb(三)
Java后端进阶之路: JavaWeb
30 1
|
1月前
|
存储 前端开发 Java
java学习笔记
java学习笔记
61 0