2 回答

TA貢獻1821條經驗 獲得超5個贊
同樣很久沒看過原生的Servlet了……
Q:@WebServlet還需要其它設置嗎,如果這樣我這邊會出錯,所以一直都是配置的web.xml,麻煩不少
A:@WebServlet
是Servlet 3.0的注解,需要相應的tomcat版本支持。你說的@WebServlet
報錯,具體是報了什么錯呢?感覺你這里寫的@WebServlet
是有問題的,可以看一下這里;
Q:http://localhost/feedmo/do 提示404
A:報404是因為你代碼里實現了請求轉發,而你看一下getRequestDispatcher
參數里的形參名稱就知道,這里應該傳入一個url
字符串,而不是servlet
的名稱,你這里的代碼實現相當于當輸入http://localhost/feedmo/do
時,后端將請求轉發至http://localhost/feedmo/do/HelloView
,所以報404;
Q:http://localhost/feedmo/it 頁面就單單顯示了null
A:你的GET請求沒有帶上url參數和屬性,所以HelloView#doGet
里的user
是null
,而這一句String message = (String)request.getAttribute("message");
感覺應該會拋出NPE異常,因為request.getAttribute("message")
應該為null
,對null
進行強制轉型會觸發NPE異常。假設沒有觸發NPE異常,message
為null
,則把user
和message
填充至html模板里,就會變成以下代碼:
<html>
<head>
<meta http-equiv='Content-Type'
content='text/html; charset=UTF-8'>
<title>null</title>
</head>
<body>
<h1>null</h1>
</body>
</html>
所以,頁面上的輸出應該就是一個大寫的
null
而且瀏覽器的標簽頁標題也是顯示null。
添加回答
舉報