1. 程式人生 > >關於Servlet轉到jsp頁面出現的404問題

關於Servlet轉到jsp頁面出現的404問題

本人通過在servlet裡面連線資料庫,獲取資料,然後通過打包集合傳到另外一個jsp頁面的時候,出現了404問題。

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//response.getWriter().append("Served at: ").append(request.getContextPath());
		//PrintWriter out=response.getWriter();
		/*try{
			Class.forName("com.mysql.jdbc.Driver");
			String url="jdbc:mysql://localhost:3306/javaweb";
			String username="root";
			String password="1223360222";
			Connection conn=(Connection) DriverManager.getConnection(url,username,password);
			Statement stmt=(Statement) conn.createStatement();
			String sql="SELECT * FROM tb_bbok";
			//out.print("hello world");
			ResultSet rs=stmt.executeQuery(sql);
			List<Book>list=new ArrayList<Book>();
			while(rs.next()){
				Book book=new Book(); 
				book.setId(rs.getInt("id"));
				book.setName(rs.getString("name"));
				//out.println(rs.getInt("id"));
				book.setPrice(rs.getFloat("price"));
				book.setBookCount(rs.getInt("bookcount"));
				book.setAuthor(rs.getString("author"));
				list.add(book);
			}
			request.setAttribute("list", list);
			rs.close();
			stmt.close();
			conn.close();
			//out.close();
		}catch(ClassNotFoundException ex){
			ex.printStackTrace(); 
		}catch(SQLException ex){
			ex.printStackTrace();
		}*/
		RequestDispatcher rd=request.getRequestDispatcher("JDBC/bookQuery.jsp");
		rd.forward(request, response);

原因是

RequestDispatcher rd=request.getRequestDispatcher("JDBC/bookQuery.jsp");的bookQuery.jsp的路徑沒對。

如果jsp檔案直接放在web下面,這個絕對路徑就是對的,但是如果你在web現在新建了資料夾,你的bookQuery.jsp是放在這下面的話,那麼跳轉頁面的時候,路徑要加上新建的資料夾名。

當然,如果你使用絕對路徑,那肯定是對了。只是提醒下使用相對路徑的夥伴要注意下。