1.对于路径的访问
对于在HTML界面要访问servlet,路径必须要写到/工程名/servlet/servlet类的名称 ---- (路径中的servlet不一定有,需要看具体建立的过程中是否含有这样的路径)
对于在本来的后台访问资源路径时,路径名写到工程的下一级目录即可 例如:/WEB-INF/jsp/index.jsp
2.关于提交给servlet的表单书写
<form action="/ZHEDU/servlet/UserServlet">
<!-- 下面的input是为给USerServlet后边添加传递时的参数,所以特意添加的
如果不添加,而是直接把参数写到后边,会出现一个情况:就是在提交的时候,
表单的元素会替换掉原本UserServlet后边的servletMethod=
-->
<input type="hidden" name="servletMethod" value="add">
<table border=1 cellspacing = 0 cellpadding = 0 width="30%">
<tbody>
<tr>
<th>姓名:</th>
<td><input type="text" name="name"></td>
</tr>
<tr>
3.服务器请求转发和客户端请求重定向
(1)请求转发:地址栏不会改变,所以在用户刷新的时候会再次访问服务器,执行请求,重复添加。
http://localhost:8080/ZHEDU/servlet/UserServlet?servletMethod=add&name=aaaa&nickname=aaaa&password=aaaa&header=aaaa
// 服务器请求转发
request.getRequestDispatcher("/servlet/UserServlet?servletMethod=userlist").forward(request, response);
(2)请求重定向:地址栏发生改变,刷新以后不会再次执行之前的操作,会执行跳转以后的操作
http://localhost:8080/ZHEDU/servlet/UserServlet?servletMethod=userlist
// 客户端请求重定向
response.sendRedirect(request.getContextPath()+"/servlet/UserServlet?servletMethod=userlist");
// 注意一点:request.getContextPath(),就是相当于/WEB-INF
#### 4jsp传输乱码问题的解决(服务器配置文件的解决办法)
request.setCharacterEncoding(“utf-8”);
response.setCharacterEncoding(“utf-8”);String name = request.getParameter(“name”);
name = new String(name.getBytes(“ios-8859-1”),“utf-8”);
以上的解决方案都是不可以根治的,需要根治的话,就必须去更改tomcat的配置文件。
在tomcat7的conf文件夹中有server.xml文件,打开以后,在指定位置添加相关配置。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" userBodyEncodingForURI="true" URIEncoding="UTF-8"/>
// userBodyEncodingForURI="true" URIEncoding="UTF-8" 这两句为添加的代码