文档章节

IntelliJ IDEA SpringMVC

_
 _OUTMAN_
发布于 2017/07/22 22:17
字数 724
阅读 31
收藏 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 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
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
0
4
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
0
1
IntelliJ IDEA 2018.1.3 发布,错误修复和小改进

IntelliJ IDEA 2018.1.3 已发布,该版本带来了一些错误修复和小改进,可通过 Toolbox App 获取更新。 现在,你可以在 Run/Debug 配置下拉菜单中预览 Run Configuration 的全名(默认为 80 个...

局长
05/09
0
0
Spring boot在IDEA中的快速度重启配置

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

亚林瓜子
09/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

cacti监控安装

cacti是用PHP实现的一个软件,它用snmp服务获取数据,然后用rrdtool存储和更新数据,并生成图表展示。比较适合用于交换机、路由器的网络监控,插件众多,可图示化显示网络状况。 cacti官方推...

hiwill
29分钟前
1
0
shell特殊符号、cut、sort、uniq、wc、tee、tr、split命令

10月15日任务 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 cut 命令 cut作用:截取字符串 用法如下:cat /etc/passwd |head -2 |cut -d ...

hhpuppy
58分钟前
1
0
Springboot实现filter拦截token验证和跨域

背景 web验证授权合法的一般分为下面几种 1使用session作为验证合法用户访问的验证方式 使用自己实现的token 使用OCA标准 在使用API接口授权验证时,token是自定义的方式实现起来不需要引入其...

funnymin
今天
3
0
linux使用ntfs-3g操作ntfs格式硬盘

Linux内核目前只支持对微软NTFS文件系统的读取。 NTFS-3G 是微软 NTFS 文件系统的一个开源实现,同时支持读和写。NTFS-3G 开发者使用 FUSE 文件系统来辅助开发,同时对可移植性有益。 安装 ...

linuxprobe16
今天
2
0
kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部