Intellij8中Maven打包时jsp和servlet组件冲突解决办法
最近在改别人的一个模块程序时,是用Intellij Idea8做的,项目是用Maven来管理的,Web模块引用到了jsp-api.jar和servlet-api.jar,结果在用Maven打包时,war文件中直接包装了这两个文件,而这两个文件和Tomcat本身的文件有冲突,导致了应用程序不能加载。
本来自己对Idea也不熟悉,对Maven也不懂,搞了好久,始终没有解决,只能先生成,然后再删除这两个文件。因为如果不用Maven生成,直接用Idea的Build生成,那么其中的资源文件又是乱码,界面上全是蚂蚁在爬,心里麻得乱七八糟。
找了好多资料,终于在这里找到了需要的说明:
http://macrochen.javaeye.com/blog/246170
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
http://www.360doc.com/content/07/0727/14/27908_636504.shtml
原来可以在pom文件中配置时加个<scope>参数,使用provided就可以期望应用服务器将提供这个支持,如,我需要jsp-api和servlet-api支持,则我可以配置为:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope> <!--这里说明jsp-api.jar文件将由应用服务器提供,打包时不需要包含-->
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version> <!--这里没有指定scope参数,说明默认
相关文档:
用的数据库是mysql
【第一种方式,用JSP实现】
<%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*"%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
//**************************************
& ......
以前用WSAD wizard做的,都可以在JSP页面中解析到EL表达式,当然前提是JSP2.0的情况下。
今天遇到了一个莫名其妙的问题。刚下载Eclipse3.3+MyEclipse6.0体验的过程中,遇上了解析不到EL表达式的问题。经过好几个小时的琢磨终于发现了,给大家share一下:
问题就出在建Web Project的时候web.xml声明上。
web.xml声明部 ......
<%@ page c language="java"%>
<%@ page import="com.dragon.*" %>
<%@ page import="lotus.domino.*" %>
<%! ......