文档章节

IntelliJ IDEA SpringMVC

_
 _OUTMAN_
发布于 2017/07/22 22:17
字数 724
阅读 53
收藏 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即可

© 著作权归作者所有

_
粉丝 22
博文 133
码字总数 63959
作品 0
海淀
程序员
私信 提问
加载中

评论(0)

IntelliJ IDEA 11.0.1发布

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

红薯
2011/12/31
1.4K
4
IntelliJ IDEA 2017.1 正式版发布

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

局长
2017/03/22
2.4W
55
IntelliJ IDEA 2017.1.3 和 2017.2 EAP 发布

IntelliJ IDEA 2017.1.3 和 2017.2 EAP 发布了。 IntelliJ IDEA 2017.1.3 详细更新内容请参阅发布说明。 IntelliJ IDEA 2017.1.3 下载地址 IntelliJ IDEA 2017.2 EAP:Spring Boot 的 Run Da......

淡漠悠然
2017/05/17
6.1K
17
Spring源码学习01:IntelliJ IDEA2019.3编译Spring5.3.x源码

目录 Spring源码学习01:IntelliJ IDEA2019.3编译Spring5.3.x源码 前言 工欲善其事必先利其器。学习和深读Spring源码一个重要的前提:编译源码到我们的本地环境。这样方便我们在本地环境添加...

你好,旧时光
05/04
0
0
IntelliJ IDEA 发布13版本——创造java奇迹

IntelliJ IDEA被公认为业界最好的Java开发平台。此次发布的了13版本,更是集合了与Java EE、Android、Spring、Scala和Gradle最新合作与支持。 Java EE 7 IntelliJ IDEA v13采用Java EE 7将致...

kouxunli1
2013/12/06
548
4

没有更多内容

加载失败,请刷新页面

加载更多

队列关系图

Joker上上签
23分钟前
18
0
解决LeanCloud流控问题以及配置DaoVoice

最近hexo博客的评论系统valine遇上一点问题,本篇就来记录下我的解决方法。 1 LeanCloud流控问题 如果用valine评论系统的同学最近打开valine部署的日志可能会发现诸如此类的信息。 事实上我在...

胖胖雕
40分钟前
17
0
深源恒际二代信用报告OCR产品入选百度云市场优选商城

本文作者:cloudmarket 近日,深源恒际二代信用报告OCR产品入选百度云市场优选商城,用户可通过百度云市场优选商城入口0元试用相关产品。 百度云市场优选商城是从云市场合作伙伴中精选而出,...

百度开发者中心
昨天
0
0
什么是反射,为什么有用? - What is reflection and why is it useful?

问题: What is reflection, and why is it useful? 什么是反射,为什么有用? I'm particularly interested in Java, but I assume the principles are the same in any language. 我对Jav......

javail
今天
17
0
URL 中文链接 编码错误 完美解决

直接上代码 str = "%25E4%25B8%25AD%25E6%2596%2587";console.log(str);str =decodeURIComponent(decodeURIComponent(str));console.log(str); 输出结果 %25E4%25B8%25AD%25E6%2596%25......

放只虎归个山
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部