开发一个带有Servlet的webapp(重点)

本文详细介绍了如何在Tomcat服务器下构建JavaWeb应用,包括创建webapp目录结构,配置WEB-INF下的关键组件(如classes,lib,web.xml),编写并编译Servlet接口实现类,以及在web.xml中设置请求路径。
摘要由CSDN通过智能技术生成

【具体步骤如下】

①在webapps目录下新建一个目录,起名crm(这个crm就是webapp的名字)。当然,也可以是其他目录,名字自拟
       注意:crm就是这个webapp的根

②在webapp的根下新建一个目录:WEB-INF
       注意:这个目录的名字是Servlet规范中规定的,必须全部大写,必需一摸一样

③在WEB-INF目录下新建一个目录:classes
       注意:这个目录的名字必须全是小写。这也是Servlet规范中规定的。另外这个目录下一定存放 的是Java程序编译之后的class文件(这里存放的是字节码文件)

④在WEB-INF目录下新建一个目录:lib
        注意:这个目录不是必须的。但如果是一个webapp需要第三方的jar包的话,这个jar包要放到这个lib目录下,这个目录的名字也不能随意编写,必须全部是小写的lib。例如Java语言连接数据库的数据库驱动jar包,那么,jar包就一定要放到lib目录下

⑤在WEB-INF目录下新建一个文件:web.xml
        注意:这个文件是必须的,这个文件名必须叫做web.xml。这个文件必须放在这里。一个合法的webapp,web.xml文件是必须的,这个web.xml文件
就是一个配置文件,在这个配置文件中描述了请求路径和Servlet类之间的对照关系。
这个文件最好从其他的webapp中拷贝,最好别手写。

⑥编写一个Java程序,这个小Java程序也不能随意开发,这个小程序必须实现Servlet接口
        这个Servlet接口不在JDK中(应为Servlet不是JavaSE了。Servlet属于JavaEE,是另外一套类库)
Servlet接口(Servlet.class文件)是Oracle提供的
Servlet接口是JavaSE的规范中的一员
Tomcat服务器实现了Servlet规范,所以Tomcat服务器也需要使用Servlet接口。Tomcat服务器中应该有这个接口,Tomcat服务器
的CATALINA_HOME\lib目录下有一个servlet-api.jar,解压这个jar包后,你会看到里面有一个Servlet.class文件
重点:JakartaEE9开始,Servlet接口名就变了:Jakarta.servlet.Servlet
注意:编写这个小程序的时候,Java源代码你愿意放在那里就放在那里,位置无所谓,你只需要将Java源代码编译之后的class文件放到classes目录下即可

⑦编译我们编写的Java代码

⑧将以上编译之后的文件拷贝到WEB-INF\classes目录下

⑨在web.xml文件中编写配置信息,让“请求路径”和“”

⑩启动Tomcat服务器,然后打开浏览器
浏览器上编写的路径太复杂,可以使用超链接。(非常重要:惠HTML页面只能放到WEB-INF目录外面)

以后不需要我们编写main方法了,tomcat服务器负责调用main方法,tomcat服务器启动时执行的就是main方法。

我们Java程序员
只需要编写Servlet接口的实现类,然后将其注册到web.xml文件中

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下 4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
学校大创竞赛管理系统,学生上报项目内容,学院、教务处、评审专家评审。SpringBoot、SpringCloud、SpringSecurity、redis、Mysql、swagger、fastdfs、maven、vue、webpack.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
这里提供一个简单的WebApp代码示例,使用HTML、CSS和JavaScript编写。该WebApp一个简单的待办事项列表,用户可以添加、删除和标记已完成的任务。 HTML代码: ``` <!DOCTYPE html> <html> <head> <title>Todo List</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div class="wrapper"> <h1>Todo List</h1> <input type="text" id="new-task" placeholder="Add new task"> <button id="add-task">Add</button> <ul id="task-list"></ul> </div> <script src="app.js"></script> </body> </html> ``` CSS代码: ``` body { font-family: Arial, sans-serif; } .wrapper { max-width: 500px; margin: 0 auto; padding: 20px; background-color: #f2f2f2; border-radius: 10px; box-shadow: 0 0 10px rgba(0,0,0,0.2); } h1 { text-align: center; } input[type="text"] { padding: 10px; width: 70%; border-radius: 5px; border: none; box-shadow: 0 0 5px rgba(0,0,0,0.1) inset; } button { padding: 10px; background-color: #007bff; color: #fff; border: none; border-radius: 5px; cursor: pointer; } button:hover { background-color: #0062cc; } ul { list-style: none; padding: 0; margin: 0; } li { padding: 10px; margin: 5px 0; background-color: #fff; border-radius: 5px; box-shadow: 0 0 5px rgba(0,0,0,0.1); display: flex; justify-content: space-between; align-items: center; } li.completed { background-color: #d7ffd7; } li.completed .task-text { text-decoration: line-through; color: #999; } ``` JavaScript代码: ``` const newTaskInput = document.getElementById('new-task'); const addTaskButton = document.getElementById('add-task'); const taskList = document.getElementById('task-list'); function addTask() { if (newTaskInput.value.trim() === '') { return; } const taskText = newTaskInput.value.trim(); const taskItem = document.createElement('li'); const taskTextElement = document.createElement('span'); const deleteButton = document.createElement('button'); const completeButton = document.createElement('button'); taskTextElement.textContent = taskText; deleteButton.textContent = 'Delete'; completeButton.textContent = 'Complete'; deleteButton.addEventListener('click', deleteTask); completeButton.addEventListener('click', completeTask); taskItem.appendChild(taskTextElement); taskItem.appendChild(deleteButton); taskItem.appendChild(completeButton); taskList.appendChild(taskItem); newTaskInput.value = ''; } function deleteTask(event) { event.target.parentNode.remove(); } function completeTask(event) { event.target.parentNode.classList.toggle('completed'); } addTaskButton.addEventListener('click', addTask); ``` 以上代码实现了一个简单的WebApp,可以自由添加、删除和标记任务。当用户点击“完成”按钮时,任务将被标记为已完成,并在列表项上应用“completed”类。当用户点击“删除”按钮时,任务将被删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

知识冷不丁进了脑子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值