使用idea创建web框架和配置struts的方法详解

使用IDEA创建Web框架

第一步:创建项目

在IDEA的欢迎界面中,选择 "Create New Project",进入项目创建页面。选择 "Java Enterprise" 类型,然后按照向导一步一步创建项目。

第二步:添加Web框架

完成项目创建后,在项目的 "pom.xml" 中添加 Web 框架的依赖。具体可以在 Maven Central 仓库中查询,这里以 Spring MVC 为例。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
</dependency>

然后在 web.xml 中配置 Spring MVC 的前端控制器 DispatcherServlet

<!-- 配置Spring MVC的DispatcherServlet -->
<servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 指定servlet在初始化时也加载Spring WebApplicationContext -->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <!-- 所有以.do结尾的请求将由DispatcherServlet处理 -->
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

第三步:创建控制器和视图

在项目中创建控制器和视图,控制器根据业务逻辑调用服务层,最终返回视图。例如:

@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/list")
    public ModelAndView list() {
        List<User> userList = userService.listAll();
        ModelAndView mav = new ModelAndView("user/list");
        mav.addObject("userList", userList);
        return mav;
    }
}

然后在 views/user/list.jsp 中展示数据。

示例一:使用SpringBoot创建的Web框架

在IDEA中创建SpringBoot应用后,打开 pom.xml 并添加 Struts 2 的依赖,同时在 src/main/resources/application.yml 中增加如下配置:

struts:
  actionSuffix: ""

在控制器中添加对应的 Struts 2 的注解:

@Namespace("/user")
@Results(
        {
                @Result(name = "success", location = "/views/user/list.jsp")
        }
)
public class UserController extends ActionSupport {
    @Autowired
    private UserService userService;

    private List<User> userList = new ArrayList<>();

    @Action("list")
    public String list() {
        userList = userService.listAll();
        return SUCCESS;
    }

    public List<User> getUserList() {
        return userList;
    }
}

web.xml 中移除DispatcherServlet的配置和Mapping, 整个 web.xml 配置也会变得十分简单:

<web-app>
</web-app>

示例二:使用Struts2创建的Web框架

在IDEA中创建Web项目后,在 pom.xml 中添加 Struts 2 和JSP的依赖:

<dependencies>
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>${struts.version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-spring-plugin</artifactId>
        <version>${struts.version}</version>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-jasper</artifactId>
        <version>${tomcat.version}</version>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
</dependencies>

然后在 src/main/resources/struts.xml 中配置 Struts 2 的 Action 和Result。

<struts>
    <constant name="struts.devMode" value="true"/>
    <constant name="struts.action.extension" value=""/>

    <package name="default" extends="struts-default">
        <action name="list" class="com.example.action.UserAction" method="list">
            <result name="success">/views/user/list.jsp</result>
        </action>
    </package>
</struts>

接下来在控制器类中实现对应的方法:

@Controller
@Scope("prototype")
public class UserAction extends ActionSupport {
    @Autowired
    private UserService userService;

    private List<User> userList;

    public String list() {
        userList = userService.listAll();
        return SUCCESS;
    }

    public List<User> getUserList() {
        return this.userList;
    }
}

同时在JSP页面中展示数据。

这样就完成了使用 IDEA 创建 Web 框架和配置 Struts 的方法详解,不同框架的细节会略有不同,但整体的思路都是经过步骤一一操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用idea创建web框架和配置struts的方法详解 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 浅谈jsp文件和HTML互相引入的乱码问题

    来讲解一下如何解决jsp文件和HTML互相引入的乱码问题。 1. 问题背景 在jsp文件中,我们经常需要嵌入html页面,即在jsp文件中引入html文件。但是在引入的过程中,经常会出现乱码的情况。 比如,在一个jsp文件中引入一个html文件: <%@ page contentType="text/html;charset=UTF-8&qu…

    Java 2023年5月20日
    00
  • 你要的Java并发面试题都在这里,20000字答案解析(小结)

    “你要的Java并发面试题都在这里,20000字答案解析(小结)”攻略 简介 “你要的Java并发面试题都在这里,20000字答案解析(小结)”是一篇非常详细而全面的关于Java并发编程的面试题和答案解析的文章。对于准备Java并发编程相关面试的开发者来说,这篇文章是一份非常有价值的参考资料。 内容概述 本文主要包括以下内容: Java并发基础知识:Java…

    Java 2023年5月26日
    00
  • Java中SSM框架实现增删改查功能代码详解

    让我来详细讲解Java中SSM框架实现增删改查功能代码的攻略,包括以下几个部分: SSM框架简介 数据库建表和配置文件 DAO层代码示例 Service层代码示例 Controller层代码示例 1. SSM框架简介 SSM框架是指Spring+SpringMVC+MyBatis三个框架的整合,三个框架各自担任不同角色,共同完成项目的开发。其中,Spring…

    Java 2023年5月19日
    00
  • java静态工具类注入service出现NullPointerException异常处理

    首先,需要明确一点的是,Java中的静态工具类是不应该与Spring中的Service进行耦合的。如果我们在静态工具类中注入了Service,那么在使用该工具类时就有可能出现NullPointerException异常,因为Service需要在Spring容器中进行初始化才能使用,而静态工具类是在类初始化时就会被加载的,而不是在容器启动时被Spring容器进…

    Java 2023年5月27日
    00
  • 浅谈SpringBoot优化技巧

    SpringBoot优化技巧 SpringBoot是目前广泛应用于Java web开发中的一款优秀框架,其简化了开发流程、提高了开发效率、提升了代码的可维护性,在实际开发中应用广泛。但是,一些不良操作或者技术栈的选择不当,会导致性能问题出现。 为了解决这些问题,我们需要对SpringBoot进行优化。在本文中,我将详细介绍一些SpringBoot的优化技巧,…

    Java 2023年5月15日
    00
  • IDEA-Maven项目的jdk版本设置方法

    下面就详细讲解“IDEA-Maven项目的jdk版本设置方法”的完整攻略。 第一步:确认jdk版本 首先要确认本地已经安装了需要使用的jdk版本,打开终端输入以下命令: java -version 如果显示的版本号和你需要使用的版本号一致,则可以跳过第二步。如果版本号不一致,需要安装或者设置jdk环境变量。这里不再详述。 第二步:设置项目jdk版本 2.1 …

    Java 2023年5月20日
    00
  • Atomic类的作用是什么?

    Atomic类是Java中原子性操作的一个封装类,可以用于无锁操作,避免多线程竞争问题。它提供了一组原子操作,具有以下三个特征:原子性、有序性和线程安全性。Atomic类对于高并发场景下的数据修改操作具有很大的帮助作用,可以提高程序的性能和稳定性。 在使用Atomic类时,常见的操作包括get获取当前值、set设置新值、compareAndSet(预期值,更…

    Java 2023年5月10日
    00
  • formvalidator验证插件中有关ajax验证问题

    下面是关于formvalidator验证插件中有关ajax验证问题的完整攻略。 什么是formvalidator? formvalidator是一款轻量级的表单验证插件,使用简单方便,支持多种验证方式,包括required(必填项)、email(电子邮件格式)、phone(电话号码格式)等等。 为什么需要ajax验证? 当我们需要在表单中验证某些内容时,有些…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部