• 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包位置

  • 相关阅读:
    C语言面向对象编程(五):单链表实现(转)
    pthread_barrier_init,pthread_barrier_wait简介(转)
    Linux信号(signal) 机制分析(转)
    Linux 进程间通信 --- 信号通信 --- signal --- signal(SIGINT, my_func); --- 按键驱动异步通知(转)
    Linux 多线程环境下 进程线程终止函数小结(转)
    批量杀进程 ps awk grep
    C++中的INL(转)
    gdb调试多进程和多线程命令(转)
    转: 基于netty+ protobuf +spring + hibernate + jgroups开发的游戏服务端
    转:全栈工程师的知识栈列表
  • 原文地址:https://www.cnblogs.com/luckyplj/p/10673791.html
Copyright © 2020-2023  润新知