一个<a href>连接servlet类路径出错,是不是这样方法是行不通的,还是其它的问题导致根本无法进入GetMessageServlet.java执行,错误如下:
type Status report
message /servlet/getMessages
description The requested resource (/servlet/getMessages) is not available.
代码如下:
addResult.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ include file="/header.jsp" %>
<style>
*{font-family:"宋体";font-size:14px}
</style>
<%=request.getAttribute("message") %>
<a href="/servlet/getMessages">查看所有留言的内容</a><br>
<%@ include file="/footer.htm" %>
GetMessageServlet.java
package com.v512.guestbook;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GetMessageServlet extends HttpServlet {
private static final long serialVersionUID = -8349454122547148005L;
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@10.36.65.232:1521:oracle9i";
String username = "IAMS";
String password = "IAMS";
String sql = "select * from guestbook";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
int result = 0;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
request.setCharacterEncoding("GBK");
List list = new ArrayList();
while (rs.next()) {
Guestbook gb = new Guestbook();
gb.setName(rs.getString("name"));
gb.setEmail(rs.getString("email"));
gb.setPhone(rs.getString("phone"));
gb.setTitle(rs.getString("title"));
gb.setContent(rs.getString("content"));
gb.setTime(rs.getString("time"));
list.add(gb);
request.setAttribute("gblist", list);
request.getRequestDispatcher("/getMessages.jsp").forward(
request, response);
}
} catch (Exception e) {
String message = e.getMessage();
request.setAttribute("message", message);
request.getRequestDispatcher("/addResult.jsp").forward(request,
response);
} finally {
try {
pstmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>GetMessagesServlet</servlet-name>
<servlet-class>
com.v512.guestbook.GetMessagesServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GetMessagesServlet</servlet-name>
<url-pattern>/servlet/getMessages</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>addMessage.jsp</welcome-file>
</welcome-file-list>
</web-app>