day14---jsp基础和常见问题

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" 这两句为添加的代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值