我对Java非常陌生。我有一个运行良好的脚本,但我想了解其背后的逻辑。
如果用户键入他的用户名,我想输出相同的名称。
我正在使用
>>> import html
>>> html.unescape('Blasterjaxx ')
'Blasterjaxx '
但是我从许多教程中看到
protected void service(HttpServletRequest req, HttpServletResponse resp)
和
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
我认为我了解protected void doGet(HttpServletRequest req, HttpServletResponse resp)
和doGet()
之间的区别。两者都将由方法doPost()
调用。那么,如果我可以简单地使用service()
,为什么还要使用doGet()
和doPost()
?
我的整个代码如下:
service()
答案 0 :(得分:2)
如果您覆盖service
,则Servlet将处理所有请求方法(GET
,POST
,...)。这些请求方法具有不同的含义,并且预期以不同的方式运行,请参见HTTP request methods。
因此,您的servlet将无法为其中的某些返回正确的响应,并且servlet的用户可能会感到困惑,例如为什么DELETE
的行为方式与GET
相同,而实际上并未修改源代码。
另外,这取决于您的servlet所做的事情,它可能会引入安全漏洞,例如,当您的servlet(也处理GET
)修改数据库时。