首先:
Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,而SpringMVC(DispatcherServlet)则采用Servlet实现
Struts2更加符合OOP的编程思想, SpringMVC就比较谨慎,在servlet上扩展。
-
关于web-xml
这个是过滤掉用户所有的请求
这个是过滤用户的后缀是.action的请求
这个就是过滤用户的后缀是.jsp的请求
这里补充一个问题
就是对于普通的web的请求访问是这样的
-
<h2>图书信息管理</h2> <form action="queryByPageno" method="post" id="query"> <select name="fieldName"> <option value="" <c:if test="${param.fieldName==''}">selected</c:if>>全部</option> <option value="bookid" <c:if test="${param.fieldName=='bookid'}">selected</c:if>>书号</option> <option value="bookname" <c:if test="${param.fieldName=='bookname'}">selected</c:if>>书名</option> <option value="author" <c:if test="${param.fieldName=='author'}">selected</c:if>>作者</option> <option value="press" <c:if test="${param.fieldName=='press'}">selected</c:if>>出版社</option> <option value="price" <c:if test="${param.fieldName=='price'}">selected</c:if>>价格</option> <option value="memo" <c:if test="${param.fieldName=='memo'}">selected</c:if>>备注</option> </select> <input type="text" name="fieldValue" value="${param.fieldValue}"/> <input type="hidden" name="pageNo" value="1"/> <input type="submit" value="查询"/> </form>
对于form表单里面的action 对应的方法,提交参数发送给servlet,但是在到servlet之前,需要通过配置web.xml
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>QueryByPageno</servlet-name>
<servlet-class>servlet.QueryByPageno</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>QueryByPageno</servlet-name>
<url-pattern>/queryByPageno</url-pattern>
</servlet-mapping>
这个/queryByPageno对应的必须是一个类,这个类提供List<Book> booklist=bookDao.query(condition,pageNo,pageSize);
根据no查找图书这个方法,
还有一种办法就是
@WebServlet("/bjServlet")
<table>
<tr><th>班级名称</th><th>修改</th><th>删除</th><tr>
<c:forEach var="bj" items="${bjList}">
<tr>
<td>${bj.bjname}</td>
<td><a href="${basePath}/bjServlet?action=edit&id=${bj.id}">修改</a></td>
<td><a href="${basePath}/bjServlet?action=delete&id=${bj.id}" onclick="return confirm('确实要删除该记录吗?')">删除</a></td>
<tr>
</c:forEach>
</table>
前端直接通过方法名找到servlet
再补充一点
刚才看到之前做的ssh的项目,发现bean.xml报错
把spring后面的版本号都改成4.1就好了---------后来发现这样还是不对