idea社区版支持jsp_idea没有servlet选项

idea社区版支持jsp_idea没有servlet选项在几个javaIDE中,IntelliJIDEA应该是最养眼的了,不过免费的社区版不能配置web服务器,所以拿来开发servlet感觉困难重重。经过一番探索,终于闯出了一条便捷的路。快速编码,运行,调试都没问题,我所使用的版本是14.0.1。下面就来介绍一下。1、下载jetty。jetty是一个servlet容器,这一步是能够运行和调试的重点,因为不能配置web服务器,所以我们需要一个嵌入式的…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在几个java IDE中,IntelliJ IDEA应该是最养眼的了,不过免费的社区版不能配置web服务器,所以拿来开发servlet感觉困难重重。经过一番探索,终于闯出了一条便捷的路。快速编码,运行,调试都没问题,我所使用的版本是14.0.1。下面就来介绍一下。

1、下载jetty。jetty是一个servlet容器,这一步是能够运行和调试的重点,因为不能配置web服务器,所以我们需要一个嵌入式的servlet容器。地址:

http://www.eclipse.org/jetty/

。下载之后解压备用,我所用的是9.2.5版本。

2、新建java项目。以下这一步的时候注意要勾选。

326383adc639a4102127c3aef4d66675.png

这是因为我们要在内部运行jetty,就得有一个入口,勾选这个之后会生成一个Main类,里面有main函数,这就是入口函数。之后就是填写项目名称,可以随便填写一个,我写的是demo。

3、打开项目配置选项。建好项目之后就是配置了,File->ProjectStructure打开项目配置选项。

4、配置jetty全局库。如下图,

5fd80e818b78c99085bfe41fa40d6822.png

把jetty运行所需要的库加进全局库里。放到全局库而不是放到当前项目中是因为以后每个项目都需要,以后新的项目不用再复制进去。需要的库如下:

0bea7720097be6b0f7beff51cf221c03.png

5、添加jetty运行库到新建的项目中,如下图,

374c788122ead0922ca7aa28cc40a47f.png

右击刚建好的jetty-server库,点击Add to Modules,在弹出的窗口中选择demo即可。

6、建立web所需要的目录和文件。在demo下新建二级目录,为web/WEB-INF。

7、修改生成class文件的路径,如下图,

8489baee27339ffb3246239d471eb6cf.png

把path修改到web/WEB-INF/classes下。

8、在src下新建一java文件,就是一个servlet,继承自HttpServlet。代码如下,

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

import java.io.PrintWriter;

public class MainServlet extends HttpServlet {

/**

* 处理get或post请求

*

* @param request

* @param response

* @throws javax.servlet.ServletException

* @throws java.io.IOException

*/

protected void processRequest(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType(“text/html;charset=UTF-8”);

PrintWriter out = response.getWriter();

out.println(“Servlet MainServlet.”);

}

//

@Override

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

@Override

public String getServletInfo() {

return “Short description”;

}

//

}

9、修改Main.java入口文件,如下代码,

import org.eclipse.jetty.server.Server;

import org.eclipse.jetty.servlet.ServletContextHandler;

import org.eclipse.jetty.servlet.ServletHolder;

public class Main {

// 端口

private static final int PORT=8090;

// 根路径

private static final String contextPath=”/demo”;

public static void main(String[] args) throws Exception {

// 建立jetty服务器

Server server=new Server(PORT);

ServletContextHandler context=new ServletContextHandler(ServletContextHandler.SESSIONS);

context.setContextPath(contextPath);

server.setHandler(context);

// 添加servlet,可添加多个

context.addServlet(new ServletHolder(new MainServlet()),”/Main”);

// 启动服务器

server.start();

server.join();

}

}

10、运行或调试。至此,我们已可以在IntelliJ IDEA内运行起来了,效果如下,

8a47fb48588b8ee6fa1aa8066757f9e3.png

看到这个就说明服务器已运行。在浏览器中打开http://localhost:8090/demo/Main即可看到结果。

注意:修改代码后,一定要先关闭正在运行的项目,再重新开始才行,不然启动时就会出现端口会占用的错误。这个时候有个方法可以补救,那就是关掉整个项目窗口,会有是否要结束连接的提示,点击OK即可,如下图,

bd9b3e6cd9d4350c54af0797e29f0592.png

11、配置文件web.xml。如果我们要布在tomcat或其它的服务器上,那就得在web/WEB-INF目录下添加一个配置文件web.xml了,代码如下,

MainServlet

MainServlet

MainServlet

/Main

30

12、添加第三方jar。如果我们有其它的第三方jar要添加,可新建一目录web/WEB-INF/lib,然后把jar都放到这下面,右击lib选择”Add as Library”即可。

13、保存用户项目模板。这时我们把刚才的项目保存成用户项目模板,以后新建的时候就会得到

相同文件结构和配置的项目,方便开发。方法为菜单Tools->Save Project as Template。这时整个项目的结构如下,

445465647e4a8def56e7b1bc993b80a6.png

14、添加servlet文件模板。最后还有一个要做的就是添加servlet的模板,这样可直接生成一个Servlet类。如下图,

0f1a1a2eaaf0951e1339d8554538bf06.png

在系统配置窗口中添加,内容如下,

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != “”)package ${PACKAGE_NAME};#end

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

import java.io.PrintWriter;

/**

* Created by ${USER} on ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}.

*/

public class ${NAME} extends HttpServlet {

/**

* 处理get或post请求

*

* @param request

* @param response

* @throws javax.servlet.ServletException

* @throws java.io.IOException

*/

protected void processRequest(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType(“text/html;charset=UTF-8”);

PrintWriter out = response.getWriter();

out.println(“Servlet ${NAME}.”);

}

//

@Override

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

@Override

public String getServletInfo() {

return “Short description”;

}

//

}

到此,整个过程完成了,不过你不要被这么长的步骤吓着,其实很多都是基础,重点也就是如何嵌入jetty而已。

最后上传所需的项目文件:

原文:http://my.oschina.net/lonewolf/blog/346920

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/190707.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号