2 回答

TA贡献1821条经验 获得超4个赞
同样很久没看过原生的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。
添加回答
举报