您的位置:

Idea创建JavaWeb项目

一、创建项目

1、打开Idea,选择Create New Project

2、选择Java Enterprise,然后选择Web Application

3、填写项目名称和项目位置,点击Next

4、选择Java SDK版本和容器,例如Tomcat,点击Next

5、选择Web Application技术,例如Spring MVC,点击Next

6、填写Web Module名称和路径,点击Finish

二、目录结构

1、src目录下存放Java源代码

/src
|--main
|   |--java
|   |   |--包名
|   |       |--*.java
|   |--resources
|       |--*.xml
|--test
    |--java
        |--包名
            |--*Test.java

2、web目录下存放Web资源和配置文件

/webapp
|--WEB-INF
|   |--classes
|   |   |--*.class
|   |   |--*.properties
|   |--lib
|       |--*.jar
|--*.html
|--*.jsp
|--*.css
|--*.js

三、配置文件

1、web.xml

Web应用程序配置文件,配置Servlet、过滤器、监听器等Web组件。

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
    <display-name>MyWebApp</display-name>
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>com.example.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    <filter>
        <filter-name>LoginFilter</filter-name>
        <filter-class>com.example.LoginFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>LoginFilter</filter-name>
        <url-pattern>/user/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
    <listener>
        <listener-class>com.example.StartupListener</listener-class>
    </listener>
</web-app>

2、applicationContext.xml

Spring配置文件,配置Bean、AOP、事务等Spring组件。

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
    <bean id="userService" class="com.example.UserService">
        <property name="userDao" ref="userDao"/>
    </bean>
    <bean id="userDao" class="com.example.UserDao"/>
</beans>

四、例子代码

1、HelloServlet

返回Hello World!

package com.example;

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 HelloServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        PrintWriter out = resp.getWriter();
        out.println("<html>");
        out.println("<head><title>Hello Servlet</title></head>");
        out.println("<body><h1>Hello World!</h1></body>");
        out.println("</html>");
    }
}

2、LoginFilter

检查用户是否登录,未登录则跳转到登录页面。

package com.example;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class LoginFilter implements Filter {

    private FilterConfig config;

    @Override
    public void init(FilterConfig config) throws ServletException {
        this.config = config;
    }

    @Override
    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) resp;
        if (request.getSession().getAttribute("user") == null) {
            response.sendRedirect(request.getContextPath() + "/login.jsp");
        } else {
            chain.doFilter(request, response);
        }
    }

    @Override
    public void destroy() {
        this.config = null;
    }
}

3、StartupListener

应用程序启动时初始化Spring容器。

package com.example;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class StartupListener implements ServletContextListener {

    private ClassPathXmlApplicationContext context;

    @Override
    public void contextInitialized(ServletContextEvent event) {
        context = new ClassPathXmlApplicationContext("applicationContext.xml");
    }

    @Override
    public void contextDestroyed(ServletContextEvent event) {
        context.close();
    }
}

五、总结

本文介绍了如何使用Idea创建JavaWeb项目,包括项目创建、目录结构、配置文件和例子代码等方面。通过本文的学习,读者将了解创建JavaWeb项目的流程和相关技术。

Idea创建JavaWeb项目

2023-05-21
如何用idea创建web项目

2023-05-19
idea创建的mavenweb项目无法找到js文件,idea

2022-12-02
java方法整理笔记(java总结)

2022-11-08
用IDEA创建Python项目

2023-05-10
发篇java复习笔记(java课程笔记)

2022-11-09
使用IntelliJ IDEA创建Maven Web项目

2023-05-24
javaweb项目,javaweb项目开发流程

2022-12-01
创建java项目,eclipse创建java项目

2023-01-04
印象笔记记录java学习(Java成长笔记)

2022-11-12
IntelliJ IDEA中创建Java项目

创建一个新的Java项目,在IntelliJIDEA中是一个比较简单的过程。一、启动IntelliJ IDEA并创建新项目1. 打开IntelliJ IDEA软件,点击“欢迎窗口”CreateNewP

2023-12-08
javaweb,javaweb项目完整案例

2022-11-23
java项目源码,java项目源码百度网盘

2023-01-06
idea配置nodejsweb项目,idea配置nodejs

本文目录一览: 1、intellij idea怎么开发nodejs 2、IDEA部署web项目到tomcat(详细讲解) 3、intellij idea 2017 怎么创建一个web工程 4、如何在i

2023-12-08
idea的web项目找不到js,idea中没有web项目

本文目录一览: 1、intellij idea java web怎么引入js 2、IDEA中新建web项目,但没有webapp文件怎么办? 3、为什么我的idea中创建WEB项目的时候JAVAEE没有

2023-12-08
基于javaweb的dd文件(javaweb创建xml文件)

2022-11-15
java笔记,大学java笔记

2022-11-28
java项目源码,java项目源码办公室自动化管理

2022-12-02
java笔记,尚硅谷java笔记

2022-12-01
在Idea中新建Java项目

要在Idea中新建一个Java项目,可以通过以下步骤:首先,打开Idea,选择“File > New > Project”;然后,选择"Java",设置项目的JDK版本;最后,设置项目名和项目位置,点

2023-12-08