Intellijidea2017.03版创建一个简单的Servlet的demo

近期正在学习使用idea编译器编写java web,现把我在第一次尝试使用idea编译器编写一个简单地servlet的demo过程中遇到的问题及解决方法记录下来,供道友们参考:

红色部分为idea2017.03版做的过程中遇到的额外问题及解决办法,其余与老版本的做法相似,下面介绍的做法采用的是较老的版本。

一、创建并设置javaweb工程
1.创建javaweb工程
File --> New --> Project...


点击Project后出现如下界面,选择Java Enterprise,选中下图圈中部分


在这一步中记得看看jdk的路径对不对,我就是因为没看这个,结果默认是idea自带的idk,结果后面编辑的时候出了好多错误!!!!!!!!!!!!!!

点击Next后弹出下图弹出框,设置工程名字:


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



2. Web工程设置
2.1 在WEB-INF 目录下点击右键,New --> Directory,创建 classes 和 lib 两个目录


classes目录用于存放编译后的class文件(不需要手动处理),lib用于存放依赖的jar包(需要手动存放jar包)

使用Idea2017.03版本的idea,创建的web项目,默认是没有web.xml文件的,我们需要自己手动添加:

1、ctrl+alt+shift+s 进入项目资源配置中心,也可点击file-->project Structure进入
2、选择facets,点击中间的绿色+,选择 Web,点击path右侧的+号,选择web.xml,在弹出的页面点击确定即可

2.2 File --> Project Structure...,进入 Project Structure窗口,点击 Modules --> 选中项目“WebClient” --> 切换到 Paths 选项卡 --> 勾选 “Use module compile output path”,将 “Output path” 和 “Test output path” 都改为之前创建的classes目录


即将后面编译的class文件默认生成到classes目录下

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



选择Jar Directory



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.WebClient测试
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/WebClient


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


二、Servlet简单实现

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

[html]  view plain  copy
  1. import javax.servlet.ServletException;  
  2. import javax.servlet.http.HttpServlet;  
  3. import javax.servlet.http.HttpServletRequest;  
  4. import javax.servlet.http.HttpServletResponse;  
  5. import java.io.IOException;  
  6. import java.io.PrintWriter;  
  7. public class HelloWorld extends HttpServlet {  
  8.     private String message;  
  9.   
  10.     @Override  
  11.     public void init() throws ServletException {  
  12.         message = "Hello world, this message is from servlet!";  
  13.     }  
  14.   
  15.     @Override  
  16.     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {  
  17. //设置响应内容类型  
  18.         resp.setContentType("text/html");  
  19. //设置逻辑实现  
  20.         PrintWriter out = resp.getWriter();  
  21.         out.println("<h3>" + message + "</h3>");  
  22.     }  
  23.     @Override  
  24.     public void destroy() {  
  25.         super.destroy();  
  26.     }  
  27. }  

点击Build中的Build Project,编译后会发现在classes目录下生成了HelloWorld.class文件


2. 部署servlet
方法一:

在WEB-INF目录下web.xml文件的<web-app>标签中添加如下内容:

[html]  view plain  copy
  1. <servlet>  
  2.         <servlet-name>HelloWorld</servlet-name>  
  3.         <servlet-class>HelloWorld</servlet-class>  
  4.     </servlet>  
  5.   
  6.     <servlet-mapping>  
  7.         <servlet-name>HelloWorld</servlet-name>  
  8.         <url-pattern>/WebClient/HelloWorld</url-pattern>  
  9.     </servlet-mapping>  

两个模块的<servlet-name>要一致均为HelloWorld,而servlet-class则是该servlet的路径,即包名.类名。url-pattern 则是servlet在浏览器中的访问链接

方法二:
在HelloWorld文件的类前面加上:@WebServlet("/HelloWorld")(idea2017版亲测失效)

3. 运行servlet

打开浏览器输入:http://localhost:8080/WebClient/WebClient/HelloWorld即可查看servlet运行状态了.(注意有两个WebClient哦)


写这篇博客的目的是为了记录学习,请勿用于其他不当用途。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coding101

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值