codingXiaxw / CustomerManagement

a simple customer management system using MVC model with development ducumentation :bowtie:
http://codingxiaxw.cn
1.39k stars 711 forks source link

关于servlet的转发、重定向 #2

Open LucasDang opened 7 years ago

LucasDang commented 7 years ago

感谢您的分享,我才刚开始接触servlet,关于您将servlet的转发、重定向及方法进行封装这里,我源代码看的不是很清晰,是在BaseServlet将servlet的转发、重定向及方法进行封装的么?是否是根据jsp的名字来跳转到子类servlet的相应方法,但是这里子类servlet的方法都报黄色警告说没有被用到,所以提交表单的操作会抛出异常,因为我刚接触并且我也是用的mac+IDEA开发,一些配置我都还没有弄懂。所以还希望能够指正一些我的错误,谢谢。

snip20170210_20 ![Uploading Snip20170210_24.png…]()

codingXiaxw commented 7 years ago

1.是在BaseServlet中将servlet的转发、重定向进行了封装,等你以后学习了Spring框架,查看它的源码时会发现它也是这么做的。 2.封装后需要注意:1.在servlet中return填写相应的jsp名(可以参考我servlet中的代码)。2.在提交表单时,若method=post,那么需要在

的下面填入一个,作用就是在url后加入一个隐藏的method="servlet中对应的方法名,不需要加括号"的参数。估计你就是错在这里,忘了加上这样一个hidden的input标签。

希望这样的解答对你有所帮助。

wanghaojie1997 commented 6 years ago

Duplicate of # @codingXiaxw 想问一下invoke()方法中的this指的是什么,是BaseServlet这个类么,那么图中第二行中的this又是指的哪个对象,如果是这样,那么invoke()方法会返回对应的jsp么?谢谢了

codingXiaxw commented 6 years ago

@wanghaojie1997 invoke()属于Java反射中的方法,你网上搜一下Java反射中Method类的invoke()方法就了解了