idea中java及java web项目的常见问题

1、乱码问题,主要有几处地方,需要检查。
①确保文件编码,其实主要就是在idea启动文件中,增加了 -Dfile.encoding=UTF-8的设置
在这里插入图片描述
②编辑器默认编码,都改为UTF-8
在这里插入图片描述
③Tomcat的运行配置,编码也改为UTF-8,同样使用:-Dfile.encoding=UTF-8
在这里插入图片描述
④解决cmd中的乱码问题,注册表中,增加CodePage页,路径如下图:双击startup.bat时也不会乱码了。
在这里插入图片描述

2、idea中web项目的创建步骤:
①新建一个java工程。
在这里插入图片描述
②添加web framework支持
在项目名称上连按两次shift,弹出界面。
在这里插入图片描述
点Add Framework Support,选择web即可添加。中文界面名称可能为:添加框架支持
注意项目类型不要用空项目,不然Framework的检测可能会出错,导致,添加框架支持时,找不到web选项。
3、web支持添加后,添加tomcat的依赖库,核心是将Tomcat的lib文件夹添加到项目的库中:
在这里插入图片描述
4、编写第一个servlet程序,使用注解方式。
在工程的src中,添加一个包,如com.rainpet,添加一个java类,如Demo1。图如下:
在这里插入图片描述

注意:文件名和类名一致。

代码如下:

package com.rainpet;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;@WebServlet("/Demo1")
public class Demo1 extends HttpServlet {String message="hello";@Overridepublic void init() throws ServletException {//super.init();this.message="hello world 2322";System.out.println("init 执行了2222!");}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//super.doGet(req, resp);resp.setContentType("text/html;charset=utf-8");req.setCharacterEncoding("utf-8");PrintWriter out = resp.getWriter();out.println("The Parameter are 222222222  123123:"+req.getParameter("name1")+" message222222222666:"+this.message);//out.println("The Parameter are :");}
}

5、tomcat的部署路径,application context就是项目预览时的访问路径,如我的访问路径就是http://localhost:8080/web2:
在这里插入图片描述
页面已经跑起来了:
在这里插入图片描述
6、war的打包问题:
在这里插入图片描述
使用方法:
在这里插入图片描述
选择合适的Artifact,Build即可在对应的输出目录中找到war文件啦。
在这里插入图片描述
找到文件:
在这里插入图片描述
部署到tomcat根目录下即可,比如我的Tomcat:
在这里插入图片描述
启动tomcat环境,访问http://localhost:8080/web2_war/Demo1即可。
在这里插入图片描述
访问时,其实是自动解压缩war文件,文件名决定访问路径。

有其他常见问题我再更新~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/53374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

@EnableScheduling 和 @Scheduled 实现定时任务的任务延期问题

前言 在复盘 ieg 一面看到定时任务阻塞的问题时,研究了下 EnableScheduling 的源码,觉得可以单开一篇文章讲一讲 本文主要讲述了使用 EnableScheduling 可能出现的线程阻塞导致定时任务延期的问题,也顺便解释了动态定时任务源码上的实现 引…

SpringBoot3核心特性-核心原理

目录 传送门前言一、事件和监听器1、生命周期监听2、事件触发时机 二、自动配置原理1、入门理解1.1、自动配置流程1.2、SPI机制1.3、功能开关 2、进阶理解2.1、 SpringBootApplication2.2、 完整启动加载流程 三、自定义starter1、业务代码2、基本抽取3、使用EnableXxx机制4、完…

zynq的PS端mac与RTL8211F的连接要点

目录 1 VCCO_MIO12 PS_MIO_VREF3 PS的引脚4 RXDLY TXDLY5 ZYNQ的MAC可以调整延时吗 1 VCCO_MIO1 接1.8V 2 PS_MIO_VREF 接0.9V,可通过电阻分压 可通过电阻分压 3 PS的引脚 4 RXDLY TXDLY RXDLY RXD[0] TXDLY RXD[1] 与XC7Z020的PS端MAC连接,必须…

计算器软件设计与实现

[实验目的] 1. 掌握软件开发的基本流程 2. 掌握常用的软件开发方式和工具。 [实验内容] 1. 设计一个包含登录界面的计算器软件,该软件可以实现第一次作业中的全部功能,同时可 以保存用户的历史计算记录(保存数据最好使用数据库)…

CVE-2024-2389 未经身份验证的命令注入

什么是 Progress Flowmon? Progress Flowmon 是一种网络监控和分析工具,可提供对网络流量、性能和安全性的全面洞察。Flowmon 将 Nette PHP 框架用于其 Web 应用程序。 未经身份验证的路由 我们开始在“AllowedModulesDecider.php”文件中枚举未经身份验证的端点,这是一个描…

1.pytest基础知识(默认的测试用例的规则以及基础应用)

一、pytest单元测试框架 1)什么是单元测试框架 单元测试是指再软件开发当中,针对软件的最小单位(函数,方法)进行正确性的检查测试。 2)单元测试框架 java:junit和testing python:un…

arcgisPro地理配准

1、添加图像 2、在【影像】选项卡中,点击【地理配准】 3、 点击添加控制点 4、选择影像左上角格点,然后右击填入目标点的投影坐标 5、依次输入四个格角点的坐标 6、点击【变换】按钮,选择【一阶多项式(仿射)】变换 7…

三种springboot启动时加载方式

三种springboot启动时加载方式一个注解,两个接口,常用于数据预热:PostConstructimplements CommandLineRunnerimplements ApplicationRunnerSlf4j EnableAsync SpringBootApplication public class ApiApplication extends SpringBootServlet…

基于SpringBoot+定时任务实现地图上绘制车辆实时运动轨迹图

目录 1. 项目结构 2. Maven依赖配置 (pom.xml) 3. 实现后端服务 4. 配置文件 (application.properties) 5. 启动项目 6. 访问页面 实现基于北斗卫星的车辆定位和轨迹图的Maven工程(使用模拟数据),我们将使用以下技术: Spri…

Scrapy爬虫框架 Spider Middleware 爬虫页中间件

在当今的互联网时代,数据的收集和分析变得越来越重要,爬虫技术作为数据获取的重要手段,受到广泛关注。Scrapy 是一个广受欢迎的 Python 爬虫框架,它以其高效、灵活和易于扩展的特点,成为了开发者的首选工具之一。Scrapy 框架中的中间件(Spider Middlewares)是扩展和定制…

基于Jeecg-boot开发系统--后端篇

背景 Jeecg-boot是一个后台管理系统,其提供能很多基础的功能,我希望在不修改jeecg-boot代码的前提下增加自己的功能。经过几天的折腾终于搞定了。 首先是基于jeecg-boot微服务的方式来扩展的,jeecg-boot微服务本身的搭建过程就不讲了&#x…

【面向对象】设计模式分类

java中设计模式共23种,根据使用场景可分为创建型模式、结构型模式、行为型模式。 创建型: 如何创建对象。 单例模式:保证一个类在一个程序中只能创建一个对象。例如windows任务管理器窗口只需要创建一个。单例模式只创建一个对象&#xff0…

使用c#制作一个小型桌面程序

封装dll 首先使用visual stdio 创建Dll新项目,然后属性管理器导入自己的工程属性表(如果没有可以参考visual stdio 如何配置opencv等其他环境) 创建完成后 系统会自动生成一些文件,其中 pch.cpp 先不要修改,pch.h中先导入自己需…

GitHub上克隆项目

从GitHub上克隆项目是一个简单且直接的过程,它允许你将远程仓库中的项目复制到你的本地计算机上,以便进行进一步的开发、测试或学习。以下是一个详细的步骤指南,帮助你从GitHub上克隆项目。 一、准备工作 1. 安装Git 在克隆GitHub项目之前…

蓝牙模块—BLE-CC41-A

1. 蓝牙的特点 蓝牙模块采用的 TI 公司设计的 CC2541芯片,主要面向低功耗蓝牙通信方案,该模块的工作频段为 2.4Ghz,这个频段属于国际通用频段 注意:蓝牙集成了一个状态指示灯,LED灯如果均匀慢速闪烁,就表示…

【渗透测试】-vulnhub源码框架漏洞-Os-hackNos-1

vulnhub源码框架漏洞中的CVE-2018-7600-Drupal 7.57 文章目录  前言 1.靶场搭建: 2.信息搜集: 主机探测: 端口扫描: 目录扫描: 3.分析: 4.步骤: 1.下载CVE-2018-7600的exp 2.执行exp: 3.写入木…

牛客周赛 Round 60(思维、逆元、组合数、概率DP)

文章目录 牛客周赛 Round 60(思维、逆元、组合数、概率DP)A. 困难数学题B. 构造序列C. 连点成线D. 我们N个真是太厉害了(思维)E. 折返跑(小费马定理求逆元、组合数)F. 口吃(概率DP) 牛客周赛 Round 60(思维、逆元、组合数、概率DP) F题,概率D…

Docker安装rabbitmq并配置延迟队列

下载rabbitmq镜像 docker pull rabbitmq:management 运行rabbitmq镜像 docker run -id --namerabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 -e RABBITMQ_DEFAULT_USERtom -e RABBITMQ_DEFAULT_PASStom rabbitmq:management …

牛客小白月赛101(A~E)

文章目录 写在前面A tb的区间问题思路code B tb的字符串问题思路code C tb的路径问题思路code D tb的平方问题思路code E tb的数数问题思路code 牛客小白月赛101 写在前面 最近几天没怎么刷题,昨天晚上打的这场牛客月赛打的很烂,隔几天不刷题感觉自己的…

idea上传jar包到nexus

注意&#xff1a;确保idea中项目为maven项目&#xff0c;并且在nexus中已经创建了maven私服。 1、配置pom.xml中推送代码配置 <distributionManagement> <repository> <id>releases</id> <url>http://127.0.0.1:8001/repository/myRelease/<…