使用IntelliJ IDEA开发SpringMVC网站

news/2024/5/20 22:12:37/文章来源:https://blog.csdn.net/aabb7654321/article/details/101533828

转自https://my.oschina.net/gaussik/blog/385697

1.安装jdk,maven和tomcat
2.创建maven web项目
Create New Project
 
最后生成结果如下图,注意左侧部分
上侧部分选择Auto-Import就好
如果生成过慢,可以参看下面两篇文章:
文章1:  http://www.cnblogs.com/beiyeren/p/4566485.html
文章2: http://blog.csdn.net/cleverlzc/article/details/50864582
3.Maven自动导入jar包
(1)选择 Maven Repository,在里面选择需要的jar包,复制依赖添加进pom.xml
(2)下面是别人给的部分
<properties>
<spring.version>4.2.6.RELEASE</spring.version>
<hibernate.version>5.1.0.Final</hibernate.version>
</properties><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.2.5.RELEASE</version>
</dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.2.5.RELEASE</version>
</dependency><dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency><dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.10.1.RELEASE</version>
</dependency><dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency><dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>${hibernate.version}</version>
</dependency><dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency><dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency><dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>

 

之所以用别人的,主要是担心版本不兼容的问题。
在build中添加
<build>
<finalName>springmvcdemo</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

 

4.进入Fire——Project Structure
文件夹名为java,选择上方Mark as: Source,作为放java文件的地方。
 
5.web.xml配置
打开src\main\webapp\WEB-INF\下的web.xml文件,改成这个部分
<web-app><display-name>Archetype Created Web Application</display-name><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><servlet><servlet-name>mvc-dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>mvc-dispatcher</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

 

该servlet名为mvc-dispatcher(名称可修改),用于拦截请求(url-pattern为 / ,说明拦截所有请求),并交由Spring MVC的后台控制器来处理。这一项配置是必须的。

 为了能够处理中文的post请求,再配置一个encodingFilter,以避免post请求中文出现乱码情况。

error:The content of element type "web-app" must match

错误:The content of element type "web-app" must match "(icon ,display-
name ,description ,distributable ,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-
mapping*,session-config ,mime-mapping*,welcome-file-list ,error-page*,taglib*,resource-env-
ref*,resource-ref*,security-constraint*,login-config ,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)".
- No grammar constraints (DTD or XML schema) detected for the document.

原因:文档内容标签顺序不符合web-app_2_3.dtd规范(我把filter放在servlet后面了)

解决方案:严格按照提示上的顺序排列

 

6. MVC框架有model、view、controller三部分组成。model一般为一些基本的Java Bean,view用于进行相应的页面显示,controller用于处理网站的请求。

在src\main\java中新建一个用于保存controller的package(com.euphe.controller),在里面创建一个java文件(MainController)

@Controller
public class MainController {@RequestMapping(value = "/",method = RequestMethod.GET)public String index(){return "index";}
}

 

    (1)@Controller注解:采用注解的方式,可以明确地定义该类为处理请求的Controller类;

    (2)@RequestMapping()注解:用于定义一个请求映射,value为请求的url,值为 / 说明,该请求首页请求,method用以指定该请求类型,一般为get和post;

    (3)return "index":处理完该请求后返回的页面,此请求返回 index.jsp页面。

回到mvc-dispatcher-servlet.xml,进行相关配置。

首先加入component-scan标签,指明controller所在的包,并扫描其中的注解(最好不要复制,输入时按IDEA会在beans xmlns中添加相关内容)

 

<!--指明 controller 所在包,并扫描其中的注解--><context:component-scan base-package="com.gaussic.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"/><property name="prefix" value="/WEB-INF/pages/"/><property name="suffix" value=".jsp"/></bean>

 

我们删除 webapp 目录下的 index.jsp 文件,在WEB-INF目录下新建文件夹pages,再在pages目录下新建 index.jsp,并修改为如下所示:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html lang="zh-CN">
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! --><title>SpringMVC Demo 首页</title><!-- 新 Bootstrap 核心 CSS 文件 --><link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"><!--[if lt IE 9]><script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script><![endif]-->
</head>
<body>
<h1>这里是SpringMVC Demo首页</h1><h3>出现此页面,说明配置成功。</h3><!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script><!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</body>
</html>

 

这里使用了Bootstrap的CDN加速服务,如果要使用本地的Bootstrap,请前往Bootstrap官网下载,并放在 webapp 目录下,然后引入到 index.jsp 中。

 7.配置 Tomcat 
 Run —— Edit Configurations —— + —— Tomcat Server —— Local
在配置好tomcat的路径后,如下图所示,发现依然存在警告,且左方的Tomcat7图标上有一个错误标记,说明还没有配置完全:
 
点击 Deployment,再点击右边的”+“号,添加一个Artifact:
  

 

完成后如图:
 

 
运行后出现网站。
 
 

转载于:https://www.cnblogs.com/xym4869/p/8472990.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_869015.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

回首10年前的30个最受欢迎的网站

10年前的Web技术还比较落后&#xff0c;浏览器功能也非常有限&#xff0c;你知道现在最受欢迎的这些网站&#xff0c;在10年前甚至更早的时候是什么样子吗&#xff1f;文中为你揭示包括Google、雅虎、eBay、维基百科等网站的老面孔&#xff1a; 1. Google (1998) Google (1998…

让你的Onedrive网盘秒变网站,文件展示,直连下载,视频在线播放

之前我们介绍了免费的5TB的Onedrive网盘&#xff0c;不但能做本地硬盘使用&#xff0c;还能扩展你的硬盘&#xff0c;今天我们就来介绍一下另一款Onedrive网盘的神器OneIndex,这是针对Onedrive网盘的一个开源程序。可以将Onedrive存储的文件展示&#xff0c;直连下载。视频还能…

LAMP网站架构方案分析

LAMP&#xff08;Linux-Apache-MySQL-PHP&#xff09;网站架构是目前国际流行的Web框架&#xff0c;该框架包括&#xff1a;Linux操作系统&#xff0c;Apache网络服务器&#xff0c;MySQL数据库&#xff0c;Perl、PHP或者Python编程语言&#xff0c;所有组成产品均是开源软件&a…

如何更改VS2005调试网站的浏览器类型

选择网站根目录&#xff0c;右键单击 选择“浏览方式” 在这里就可以设置浏览器的类型了 转载于:https://www.cnblogs.com/qishichang/archive/2007/11/25/971588.html

微软官宣IE将“退役”,老网站如何 实现在Chrome、Firefox中兼容运行?

问题 美国微软公司为了推广其Chromium内核的Edge浏览器&#xff0c;在2021年5月19日突然宣布&#xff0c;自2022年6月15日起&#xff0c;绝大多数版本的Windows 10系统将不再支持IE浏览器&#xff0c;因此IE即将彻底退出互联网的舞台。具体来说微软决定将不再支持Windows 10所…

Python必去的6个网站

1.The Hitchhiker’s Guide to Python。 equests作者创建的网站&#xff0c;对于Python的方方面面都有指导作用 2. Python 3 Module of the Week 和 Python Module of the Week。 Python 3 Module of the Week系列文章&#xff0c;每篇介绍一个 Python 标准库的使用 3. …

你的网站被流量冲崩了吗?稳住!ab来帮你了

【来源】 ab 全称 Apache Benchmar , 顾名思义是Apache提供的一种性能测试工具。主要作用是检测web服务每秒可以处理多少个请求。它可以用于apache、IIs、tomcat、nginx等服务器的简单压力测试 【语法】 格式&#xff1a;ab [options] path 其中options参数常用有以下&#xf…

推荐大家研究一个网站tineye.com

http://www.tineye.com/&#xff0c;这个站点做得很有想法&#xff0c;详细体验我过几天发出&#xff0c;有兴趣的朋友可以先看看。 刚刚用这个站点上传了我硕士毕业的标准照&#xff0c;回顾了那段意气奋发的年代。

如何应对高并发 —— 动态网站静态化

零. 前言 为了应对高并发&#xff0c; 大多数网站在更新不频繁的页面都做了动态网页静态化处理。 典型的如&#xff1a; 淘宝的首页、 网易新闻的首页等。 当然这些网站加载速度这么快&#xff0c; 不仅仅是静态化&#xff0c; 还有 CDN、 缓存等各个方面的优化。 从阿里在 Inf…

HTML5移动端手机网站开发流程

最近一直在研究移动手机网站的开发&#xff0c;发现做手机网站没有想象中的那么难。为什么会这么说呢&#xff1f;我们试想下:我们连传统的PC网站都会做&#xff0c;难道连一个小小的手机网站难道都搞不定吗&#xff1f;其实手机网站就是一个微缩版的PC网站罢了&#xff01;至于…

网站pc版转成手机版的三种方法

现在做自媒体博客的朋友有很多&#xff0c;可是&#xff0c;大家的自媒体博客都是PC版&#xff0c;只适用于电脑&#xff0c;平板上面&#xff0c;对于手机来说的话就不适合了&#xff0c;影响用户体验。下面&#xff0c;邵连虎博客就教大家三种方法把自媒体博客PC版转换成手机…

一些GIS数据网站分享

在平时的工作和学习中收集了不少的GIS数据的网站&#xff0c;给大家分享一下&#xff0c;整理不易&#xff0c;还请大家多多支持&#xff0c;后续会根据收集的数据网站继续更新&#xff0c;我都是根据我自己收集的情况推荐&#xff0c;涵盖可能不是很全&#xff0c;也欢迎大家补…

分享12个非常好的免费矢量资源网站

原文作者&#xff1a;梦想 原文出处&#xff1a;http://www.cnblogs.com/lhb25/archive/2011/04/08/2003802.html 在工作中&#xff0c;Web设计师经常需要到网上查找一些免费资源以更快更好的完成设计任务。这些资源都是到用时方恨少啊&#xff0c;所以今天本文与大家分享12个…

从0到1搭建一个网站

引言&#xff1a;如何从0倒1搭建一个网站。(记录我自己搭建过程&#xff0c;不涉及企业推荐) 目录 引言&#xff1a;如何从0倒1搭建一个网站。(记录我自己搭建过程&#xff0c;不涉及企业推荐) 所需要准备的东西 开始搭建(以阿里服务器为例) 搭建服务器环境 部署项目到网…

大型互联网站解决高并发的常见策略

出处&#xff1a;http://www.javabloger.com/article/high-concurrent-common-coping-strategies.html 一个运营的系统在正式上线后将会遇到各种层级的高并发请求&#xff0c;因此我们必须对此做出相应的策略和技术解决方案&#xff0c;首先我们需要认清系统的高并发由3个层面导…

Flask全栈开发案例(二)——Flask+Angular+Mongodb管理系统,创建一个热门游戏参数网站

文章目录 项目背景数据初始化主页展示游戏收藏详情展示新增与编辑源码获取 项目背景 该项目爬取PS4游戏论坛中对于的各个游戏参数的数据&#xff0c;进行web门户展示&#xff0c;设置用户登陆&#xff0c;可针对感兴趣的游戏内容进行增删改查操作。支持登陆用户进行评论互动。…

域名,网站名,URL解析

转载至&#xff1a;https://jingyan.baidu.com/article/2c8c281df0afd00008252aa7.html 什么是域名&#xff1f;现实中&#xff0c;域名使用的实在太多了&#xff0c;但域名的详细含义你理解么&#xff1f;你知道域名是什么吗&#xff1f;下面&#xff0c;小编将带你详解域名的…

用好这5个网站,月薪从4000变一万

Udacity https://cn.udacity.com/ Udacity 是一个自学编程网站&#xff0c;它的中文名字叫优达学城&#xff0c;你可以在上面学习所有的编程语言&#xff0c;课程大都是国外著名公司技术专家来教学的&#xff0c;而且很多课程都有翻译字幕。 edX https://www.edx.org/ 由麻…

细数网站建站中的坑

说到网站营销很多中小企业主已经走在前列&#xff0c;但还有很多企业没有涉及从网站获客。 其中原因有以下几点&#xff0c; 1.对网络营销获客不了解 2.现在很多建站公司高额的报价 3.对网站营销没有足够重视 4.网站营销成本高而实际效果看不见 以上几点是众多中小企业在…

mymps蚂蚁分类信息系统网站后台修改信息点击量、浏览量教程

有时候&#xff0c;我们需要修改分类信息的浏览数量&#xff0c;官方的程序是没有这个功能的&#xff0c;那么就需要自己二开了。 1、进入后台文件夹/admin 打开information.php 查找mappoint 在后面一行添加 1 $hit intval ( $hit ); 继续查找mappoint 在后面添加 . ,hit …