idea中java及java web项目的常见问题及解决
作者:lwprain
在IDEA中处理乱码问题主要涉及四个方面:文件编码设置为UTF-8、编辑器默认编码调整、Tomcat运行配置编码设置以及解决cmd中的乱码,此外,详细介绍了在IDEA中创建Web项目的步骤,包括新建Java工程、添加Web框架支持、添加Tomcat依赖库
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"; @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文件,文件名决定访问路径。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。