我正在使用的spring项目中出现内部服务器错误。 今年春天连接到Oracle DB。 它显示了它的主页,但是当我单击主页中的任何链接时, 我收到HTTP 500错误。
Tomcat似乎运行良好,但是我认为由于mybatis会发生此错误。 但我不知道该怎么做才能成功运行。
请帮助我。
我将Tomcat v7.0 Server的默认路径编辑为'/'。 但是,我遇到了同样的错误。
此外,我已经在pom.xml和Maven Dependencies目录中检查了我的依赖项的版本。
Server.xml
<Context docBase="Board01" path="/" reloadable="true" source="org.eclipse.jst.jee.server:Board01"/><Context docBase="test" path="/sample" reloadable="true" source="org.eclipse.jst.jee.server:test"/><Context docBase="board_sample_oracle-2" path="/board" reloadable="true" source="org.eclipse.jst.jee.server:board_sample_oracle-2"/>
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.gu</groupId>
<artifactId>board</artifactId>
<packaging>war</packaging>
<version>1.0</version>
<name>board</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<!-- Spring 4 dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>4.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
<!-- ORACLE -->
<dependency>
<groupId>oracle.jdbc</groupId>
<artifactId>OracleDriver</artifactId>
<version>10.2.0.4.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ojdbc6.jar</systemPath>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.18</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.2</version>
</dependency>
<!-- file upload -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<!-- json request -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.11</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
Board5Ctr.java
package gu.board5;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import gu.common.FileUtil;
import gu.common.FileVO;
import gu.common.SearchVO;
@Controller
public class Board5Ctr {
@Autowired
private Board5Svc boardSvc;
/**
* 리스트.
*/
@RequestMapping(value = "/board5List")
public String boardList(SearchVO searchVO, ModelMap modelMap) {
searchVO.pageCalculate( boardSvc.selectBoardCount(searchVO) ); // startRow, endRow
List<?> listview = boardSvc.selectBoardList(searchVO);
modelMap.addAttribute("listview", listview);
modelMap.addAttribute("searchVO", searchVO);
return "board5/BoardList";
}
/**
* 글 쓰기.
*/
@RequestMapping(value = "/board5Form")
public String boardForm(HttpServletRequest request, ModelMap modelMap) {
String brdno = request.getParameter("brdno");
if (brdno != null) {
BoardVO boardInfo = boardSvc.selectBoardOne(brdno);
List<?> listview = boardSvc.selectBoard5FileList(brdno);
modelMap.addAttribute("boardInfo", boardInfo);
modelMap.addAttribute("listview", listview);
}
return "board5/BoardForm";
}
/**
* 글 저장.
*/
@RequestMapping(value = "/board5Save")
public String boardSave(HttpServletRequest request, BoardVO boardInfo) {
String[] fileno = request.getParameterValues("fileno");
FileUtil fs = new FileUtil();
List<FileVO> filelist = fs.saveAllFiles(boardInfo.getUploadfile());
boardSvc.insertBoard(boardInfo, filelist, fileno);
return "redirect:/board5List";
}
/**
* 글 읽기.
*/
@RequestMapping(value = "/board5Read")
public String board5Read(HttpServletRequest request, ModelMap modelMap) {
String brdno = request.getParameter("brdno");
boardSvc.updateBoard5Read(brdno);
BoardVO boardInfo = boardSvc.selectBoardOne(brdno);
List<?> listview = boardSvc.selectBoard5FileList(brdno);
List<?> replylist = boardSvc.selectBoard5ReplyList(brdno);
modelMap.addAttribute("boardInfo", boardInfo);
modelMap.addAttribute("listview", listview);
modelMap.addAttribute("replylist", replylist);
return "board5/BoardRead";
}
/**
* 글 삭제.
*/
@RequestMapping(value = "/board5Delete")
public String boardDelete(HttpServletRequest request) {
String brdno = request.getParameter("brdno");
boardSvc.deleteBoardOne(brdno);
return "redirect:/board5List";
}
/* ===================================================================== */
/**
* 댓글 저장.
*/
@RequestMapping(value = "/board5ReplySave")
public String board5ReplySave(HttpServletRequest request, BoardReplyVO boardReplyInfo) {
boardSvc.insertBoardReply(boardReplyInfo);
return "redirect:/board5Read?brdno=" + boardReplyInfo.getBrdno();
}
/**
* 댓글 삭제.
*/
@RequestMapping(value = "/board5ReplyDelete")
public String board5ReplyDelete(HttpServletRequest request, BoardReplyVO boardReplyInfo) {
boardSvc.deleteBoard5Reply(boardReplyInfo.getReno());
return "redirect:/board5Read?brdno=" + boardReplyInfo.getBrdno();
}
}
boardList.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR" %>
<%@ page import = "java.sql.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body>
<table border="1" style="width:600px">
<caption>게시판</caption>
<colgroup>
<col width='8%' />
<col width='*%' />
<col width='15%' />
<col width='15%' />
</colgroup>
<thead>
<tr>
<th>번호</th>
<th>제목</th>
<th>등록자</th>
<th>등록일</th>
</tr>
</thead>
<tbody>
<%
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:orcl/board";
String id = "jaycho";
String pw = "1234";
Connection conn=DriverManager.getConnection(url,id,pw);
Statement stmt=conn.createStatement();
String query="SELECT BRDNO, BRDTITLE, BRDWRITER, TO_CHAR(BRDDATE,'yyyy-mm-dd') BRDDATE " +
" FROM TBL_BOARD";
ResultSet rs = stmt.executeQuery(query);
while(rs.next()){
%>
<tr>
<td><%=rs.getString("brdno")%></td>
<td><a href="board1Read?brdno=<%=rs.getString("brdno")%>"><%=rs.getString("brdtitle")%></a></td>
<td><%=rs.getString("brdwriter")%></td>
<td><%=rs.getString("brddate")%></td>
</tr>
<%
}// while(rs.next()){
stmt.close();
conn.close();
%>
</tbody>
</table>
</body>
</html>
我想查看数据库的面板。 它应该打印出oracle DB的数据。
HTTP 500错误:
HTTP Status 500 – Internal Server Error
--------------------------------------------------------------------------------
Type Exception Report
Message Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
)
### The error may exist in file [C:\dev\STS_Workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\board_sample_oracle-2\WEB-INF\classes\sql\board5.xml]
### The error may involve board5.selectBoard5Count
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
Root Cause
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
)
### The error may exist in file [C:\dev\STS_Workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\board_sample_oracle-2\WEB-INF\classes\sql\board5.xml]
### The error may involve board5.selectBoard5Count
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
)
Root Cause
org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
)
### The error may exist in file [C:\dev\STS_Workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\board_sample_oracle-2\WEB-INF\classes\sql\board5.xml]
### The error may involve board5.selectBoard5Count
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
)