IDEA创建Java项目并配置servlet

Posted 优雅的心情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA创建Java项目并配置servlet相关的知识,希望对你有一定的参考价值。

1.创建JavaWeb项目

File --> New --> Project...


设置工程名字:


创建完成后工程结构如下:


2.设置Web项目


2.1 在WEB-INF 目录下点击右键,New --> Directory,创建 classes 和 lib 两个目录
classes目录用于存放编译后的class文件,lib用于存放依赖的jar包


2.2 File --> Project Structure...,进入 Project Structure窗口,点击 Modules --> 选中项目“JavaWeb” --> 切换到 Paths 选项卡 --> 勾选 “Use module compile output path”,将 “Output path” 和 “Test output path” 都改为之前创建的classes目录
即将后面编译的class文件默认生成到classes目录下


2.3 点击 Modules --> 选中项目“JavaWeb” --> 切换到 Dependencies 选项卡 --> 点击右边的“+”,选择 “JARs or directories...”,选择创建的lib目录


选择Jar Directory


2.4 配置打包方式Artifacts:点击 Artifacts选项卡,IDEA会为该项目自动创建一个名为“JavaWeb:war exploded”的打包方式,表示 打包成war包,并且是文件展开性的,输出路径为当前项目下的 out 文件夹,保持默认即可。另外勾选下“Build on make”,表示编译的时候就打包部署,勾选“Show content of elements”,表示显示详细的内容列表。


3.配置Tomcat


3.1 Run -> Edit Configurations,进入“Run Configurations”窗口,点击"+"-> Tomcat Server -> Local,创建一个新的Tomcat容器


3.2 在"Name"处输入新的服务名,点击“Application server”后面的“Configure...”,弹出Tomcat Server窗口,选择本地安装的Tomcat目录 -> OK


3.3 在“Run Configurations”窗口的“Server”选项板中,去掉勾选“After launch”,设置“HTTP port”和“JMX port”,点击 Apply -> OK,至此Tomcat配置完成。


4.JavaWeb测试


4.1 Run -> Edit Configurations,进入“Run Configurations”窗口,选择之前配置好的Tomcat,点击“Deployment”选项卡,点击“+” -> “Artifact”-> 选择创建的web项目的Artifact...修改“Application context”-> Apply -> OK


说明:此处的Application context是指定本工程的根目录

4.2 在index.jsp文件中的body之间添加要显示的内容,然后点击“运行”的绿色三角
打开浏览器,输入:localhost:8080/JavaWeb


至此,intellij idea创建并设置javaweb工程全部完成,下面是在其中编写并运行Servlet。

5.Servlet简单实现


5.1. 编写servlet源文件
在src目录下新建HelloServlet.java,并编写一下代码并进行编译:


编译后会发现在classes目录下生成了HelloServlet.class文件


5.2. 部署servlet
方法一:
在WEB-INF目录下web.xml文件的标签中添加如下内容:


方法二:
在HelloServlet文件的类前面加上:@WebServlet("/hello")


5.3. 运行servlet
点击运行按钮


控制台出现successfully则tomcat服务启动成功!打开浏览器输入:localhost:8080/JavaWeb/HelloWorld即可查看servlet运行状态了.


6.接受Get和Post请求的Servlet


创建一个Client类,定义两个基本方法。


下面,我们来实现这两个方法,先看看GET,比较简单:



注释都很详细了,只是要说一点,GET方式提交的参数是绑定在URL中的,所以这部分要单独处理,进行转码,参数是Map类型,那么我们遍历这个Map获取参数,并拼装成?,&的格式就行了。下面来看POST,这个复杂一点:


这中间就是设置POST方式时要开启两个选项,不能忘了。而且POST方式提交参数,参数是在请求体中发送的,就是和GET的一个很重要的区别。模拟好了两个方法,下面我们来写Servlet,这就很简单了,我们使用RequestServlet:


好了,我们来测试GET请求,写主函数:


在控制台,我们就得到了如下的输出:


因为我们打印了还原出的参数形式,这里没有用中文,所以看不出编码效果,中文效果大家可以自行测试。 POST方式就是修改主函数中调用的方法,这里不再测试了。 至此我们已经可以脱离浏览器进行GET/POST请求了,基本上网络传输的方式我们都可以来看看服务器返回的原始数据了,设置好URL和所需参数,直接运行就行了。 Servlet的原理很简单,这是比较直观的实现,要比直接上来就B\\S清楚很多。

常见问题:


1.Tomcat权限问题?

问题描述:

下午9:11:27 All files are up-to-date
下午9:11:27 All files are up-to-date
下午9:11:27 Error running Tomcat 8.0.18: Cannot run program "/Users/horse_leo/Documents/apache-tomcat-8.0.18/bin/catalina.sh" (in directory "/Users/horse_leo/Documents/apache-tomcat-8.0.18/bin"): error=13, Permission denied

提示的主要问题是权限不足
解决方案:

打开终端,进入tomcat\\bin目录,然后执行chmod 777 *.sh

2.HttpServlet找不到?

解决方案:

到/tomcat/lib下导入servlet-api.jar

3.Tomcat中文乱码?

问题描述:

用GET方式测试时,参数是英文没有问题,可是出现中文时,也转码了,但没有配置的Tomcat依然读取的是乱码

解决方案
配置Tomcat的server.xml:


加一个URIEncodeing选项就可以了,这样走GET请求编码就正常了,这也是Ajax走GET提交时不设置依然是中文乱码的一个原因,这一般情况想不到。

以上是关于IDEA创建Java项目并配置servlet的主要内容,如果未能解决你的问题,请参考以下文章

IDEA Java Web配置

手摸手教会你在idea中配置Tomcat进行servlet/jsp开发(多图超详)

使用IDEA创建一个Servlet应用程序

idea中MavenWeb项目不能创建Servlet的解决办法

idea创建web项目及配置Tomcat

Intellij IDEA 2019 Tomcat8配置Servlet项目创建