java web 工程创建及servlet简单使用

1.java web工程创建

(1)File--->new--->project

(2)选择java enterprise,按照下图操作

(3)点击next后,会进入如下界面,修改工程名后,点击finish,工程创建完成。

(4)工程目录如下图所示

(5)在web/WEB-INF下创建两个文件夹:classes和lib

classes用来存放编译后输出的class文件,lib用于存放第三方jar包。

<1>配置class路径

File -> Project Structure (快捷键:Ctrl + Shift + Alt + S) -> 选择Module :
 选择 Paths -> 选择"Use module compile output path" -> 将Output path和Test output path都选择刚刚创建的classes文件夹。
<2>配置jar包路径
选择刚刚创建的lib文件夹
选择“jar directory” -> 接着返回一路OK就行了
注意(天坑):往lib目录下添加jar包后,jar可能无法识别。
解决方案:
方法一:取消或添加勾选export
方法二:在Compile和Provide之间切换
以上两种方法选其一就可以了,达到刷新jar包路径的目的(apply按钮会点亮)
 

2.生成servlet

(1)src(右击)--->new--->servlet

(2)设置servlet名称

(3)servlet后续配置

方法一:

在类名前加入如下内容

@WebServlet(name = "LoginServlet",urlPatterns = "/LoginServlet")

其中urlPatterns为url访问时设置的链接

方法二:(不推荐)

servlet在web.xml文件中增加如下配置

<servlet>
<servlet-name>ServletTest01</servlet-name>
<servlet-class>ServletTest01</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletTest01</servlet-name>
<url-pattern>/demo/ServletTest01</url-pattern>
</servlet-mapping>

5.重启tomcat, 就可以在http://127.0.0.1:8080/FirstServlet/demo 这个地址看到我们的servlet页面了。

需要注意这个url的路径,FirstServlet是在webapps的目录名,demo是在web.xml中的servlet-mapping中控制的

6.测试利用servlet连接服务器是否成功

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;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONObject;

@WebServlet(name = "LoginServlet",urlPatterns = "/LoginServlet")
public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        processRequest(request,response);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    } 

  //测试服务器连接通不通
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); try (PrintWriter out = response.getWriter()) { /* TODO output your page here. You may use following sample code. */ out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<title>Servlet LoginServlet</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Servlet LoginServlet at " + request.getContextPath() + "</h1>"); out.println("</body>"); out.println("</html>"); } } }

利用以下url访问服务器

http://118.25.152.62:8080/MyJavaWebTest02_war/LoginServlet

若成功连接servlet,则会出现如下界面

7.将java web工程达成war包的形式

(1)配置打包方式Artifacts

点击Artifacts选项卡 IDEA会为我们的项目自动创建一个名字叫“csdn:war exploded”的打包方式,如下:

(2)生成war包

<1>build-->build artifacts

<2>点击build即可

<3>生成的war包位置

原文地址:https://www.cnblogs.com/luckyplj/p/10673791.html