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。图如下:

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

代码如下:

java 复制代码
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";
    @Override
    public void init() throws ServletException {
        //super.init();
        this.message="hello world 2322";
        System.out.println("init 执行了2222!");
    }

    @Override
    protected 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文件,文件名决定访问路径。

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

相关推荐
小_太_阳6 分钟前
Scala_【1】概述
开发语言·后端·scala·intellij-idea
智慧老师16 分钟前
Spring基础分析13-Spring Security框架
java·后端·spring
lxyzcm17 分钟前
C++23新特性解析:[[assume]]属性
java·c++·spring boot·c++23
轻口味29 分钟前
【每日学点鸿蒙知识】AVCodec、SmartPerf工具、web组件加载、监听键盘的显示隐藏、Asset Store Kit
前端·华为·harmonyos
alikami32 分钟前
【若依】用 post 请求传 json 格式的数据下载文件
前端·javascript·json
V+zmm101341 小时前
基于微信小程序的乡村政务服务系统springboot+论文源码调试讲解
java·微信小程序·小程序·毕业设计·ssm
吃杠碰小鸡1 小时前
lodash常用函数
前端·javascript
Oneforlove_twoforjob1 小时前
【Java基础面试题025】什么是Java的Integer缓存池?
java·开发语言·缓存
emoji1111111 小时前
前端对页面数据进行缓存
开发语言·前端·javascript
xmh-sxh-13141 小时前
常用的缓存技术都有哪些
java