文档章节

IntelliJ IDEA SpringMVC

_
 _OUTMAN_
发布于 2017/07/22 22:17
字数 724
阅读 34
收藏 0

1. 软件下载

开发工具,Eclipse或IntelliJ IDEA,Eclipse需要安装Web插件,IntelliJ IDEA需要破解。鉴于IntelliJ IDEA功能比较强大,所以尝试下。

官网下载  IntelliJ IDEA 2017.2版本

License Server:输入 http://idea.iteblog.com/key.php

2. 创建Demo

(1) 新建Project

(2) 工程目录结构

(3) 配置URL拦截地址

打开web.xml,更改<servlet-mapping>下<url-pattern>,用于拦截请求。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!-- 该名称和同目录下的dispatcher-servlet.xml的名字保持一致 -->
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <!-- 拦截的地址 / 表示全路径 -->
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

(4) 编写代码,处理请求和跳转


/**
 * 处理网络请求
 */
/**
 * @Controller注解:采用注解的方式定义该类为处理请求的Controller类;
 * @RequestMapping解:用于定义一个请求映射,value为请求的url
 */
@Controller
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public class HelloController {

    /**
     * 处理请求
     * @param modeMap
     * @return 处理完该请求后返回的页面,此请求返回 welcome.jsp页面。
     */
    @RequestMapping(value = "/welcome", method = RequestMethod.GET)
    public String welcome(ModelMap modeMap) {
        modeMap.addAttribute("msg", "Spring MVC Hello Welcome");
        modeMap.addAttribute("name", "outman");
        return "welcome";
    }
}

(5) 配置xxx-servlet.xml

该文件名称和web.xml中的名称一致

    <!-- 该名称和同目录下的dispatcher-servlet.xml的名字保持一致 -->
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

具体描述下内容

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!-- Spring MVC 扫描的注解位置 -->
    <context:component-scan base-package="com.outman.springdemo.controller"/>

    <!-- 静态资源(js、image等)的访问 -->
    <mvc:default-servlet-handler/>

    <!-- 开启注解 -->
    <mvc:annotation-driven/>

    <!--ViewResolver 视图解析器-->
    <!--用于支持Servlet、JSP视图解析-->
    <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <!-- Controller中返回值,url要跳转的jsp的前缀和后缀 -->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>

(6) 编写Jsp

在WEB-INF/jsp文件夹下创建jsp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>SpringDemo</title>
</head>
<body>
<h1>${msg}</h1>
<span>${name}</span>
</body>
</html>

3. 配置Tomcat

(1) 下载Tomcat http://tomcat.apache.org/ 解压

(2) IDEA中配置Tomcat

最后在IDEA中配置已经选好的Tomcat目录

4. 启动服务

(1) Build Project

(2) Run

(3) 浏览器输入 http://localhost:8080/hello/welcome

5. 遇到的问题

(1) 启动Tomcat无权限

Cannot run program "/Users/horse_leo/Documents/apache-tomcat-8.0.18/bin/catalina.sh" (in directory "/Users/horse_leo/Documents/apache-tomcat-8.0.18/bin"): error=13, Permission denied

解决办法

打开终端,进入tomcat\bin目录,然后执行chmod 777 *.sh

(2) not found for the web module

查看File -> Project Structure

在该工程下创建文件夹out/artifacts/SpringMVCDemo_war_exploded

(3) Tomcat启动成功,访问出错

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config

导入jstl-1.2.jar standard-1.1.2.jar即可

© 著作权归作者所有

共有 人打赏支持
_
粉丝 21
博文 133
码字总数 63959
作品 0
海淀
程序员
私信 提问
IntelliJ IDEA 11.0.1发布

对IntelliJ IDEA团队来说,没有什么比发布一个更新的版本来结束2011年更完美的了。 此次发布主要为Bug修复,另外也带来了性能及可用性方面的一些改进。IntelliJ IDEA 11.0.1中的特性改进: ...

红薯
2011/12/31
1K
4
IntelliJ IDEA 2018.2 EAP 发布,支持 Touch Bar

IntelliJ IDEA 2018.2 EAP 已发布:包含对 MacBook Touch Bar 的支持,对 Gradle 支持的改进,新图标,Spring Boot 及一些更新。 支持 Touch Bar 即将推出的 IntelliJ IDEA 2018.2 引入了 To...

达尔文
05/18
5K
28
IntelliJ IDEA 2017.1 正式版发布

IntelliJ IDEA 2017.1 正式版发布了。值得关注的亮点有对 Java 9 的支持,以及对 Spring Data 支持的改进。 IntelliJ IDEA 2017.1 带来了对 Java 9 新模块化的支持(Jigsaw 项目)。在这个最...

局长
2017/03/22
23.6K
55
IntelliJ IDEA 2018.1.2 发布,改进对 Spring Boot 的支持

IntelliJ IDEA 2018.1.2 已发布,这是 IntelliJ IDEA 2018.1 系列的第二次小更新。 针对 IntelliJ IDEA 2018.1 推出的新功能 partial Git commits ,新版本做了几个修复和完善: Fix for wr...

王练
04/25
5.2K
29
Spring boot在IDEA中的快速度重启配置

Maven IDEA 配置自动编译 配置注册` 参考 20. Developer Tools Intellij IDEA – Spring boot template reload is not working...

亚林瓜子
09/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【Visual Studio 扩展工具】使用 ComponentOne迷你图控件,进行可视化数据趋势分析

概述 迷你图 —— Sparklines是迷你的轻量级图表,有助于快速可视化数据。 它们是由数据可视化传奇人物Edward Tufte发明的,他将其描述为“数据密集,设计简单,字节大小的图形。”虽然迷你图...

葡萄城技术团队
8分钟前
2
0
java中重试的使用工具

spring-retry easy-retry guava-retry spring-retry中应该注意的东西 @EnableRetry Retryable注解 被注解的方法发生异常时会重试 value:指定发生的异常进行重试 include:和value一样,默认...

writeademo
20分钟前
2
0
NEO改进协议提案8(NEP-8)

文章目录 摘要 动机 原理 详述 CALL_I CALL_E CALL_ED CALL_ET CALL_EDT 向后兼容性 实现 摘要 本NEP提议NeoVM计算栈堆栈隔离,以确保动态调用的安全性,并为将来的新功能提供支持。 动机 现...

NEO-FANS
22分钟前
1
0
TiDB DevCon 2019 报名开启:年度最高规格的 TiDB 技术大会

年度最高规格的 TiDB 技术大会 海内外动态及成果的综合呈现 最新核心技术解读 多个成果首次亮相 2019 RoadMap 展望 14 位海内外基础架构领域技术大咖 8 个跨行业多场景的用户实战经验 1 小时...

TiDB
23分钟前
0
0
struts2返回json

返回action中成员变量jsonResult,注意设置get set方法 struts配置文件 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Co......

安卓工程师王恒
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部