web开发模式小结:页面乱码和跳转

本文由付老师总结书写

java开发模式:
(1)第一种开始模式:javaBean+jsp :
优点:可以为web程序在jsp中减少java代码量

适用于该开发模式的jsp的动作元素:<jsp:usebean id= class=> :相当于实例化bean对象
<%= id.get/set%>

<jsp:setProperty property="" name="usebean中的id" value param> :value和param不能共存
<jsp:getProperty property="" name="usebean中的id">

缺点:
不利于分工;不利于代码重用


(2)第二种开发模型:MVC开发模型
MVC分别代表:
M :model(模型) javaBean
V :view(视图层) jsp
C :control(控制层) servlet(目前)


----------------------
总结所有不同出处乱码的问题:
(1)解决中文文件乱码问题:
tomcat-》 conf->server.xml -><connect protocol="http1.1" port="8080" URIEncoding ="UTF-8">

(2)表单form请求时中文乱码,(表单请求默认为get请求,一般method请求写为:post)
post请求时:在被请求的页面(jsp/servlet):request.setCharactEnconing("utf-8");

get请求时: String oldStr=“中文”;
//解析后生成新的字符串:
String newStr = new String(oldStr.getByte("ISO-8859-1"),"utf-8");


(3)servlet或者jsp响应到浏览器出现乱码的问题:
response.setCharactEnconing("utf-8");
response.setcontentType("text/html charset=utf-8");


(4)在使用Cookie对象的时候出现中文解析乱码:
Cookie c1 = new Cookie("name","URLEncoder.encode(中文value,"utf-8")");--加码

获取cookie : request.getCookies
在获取cookie的时候需要对中文的值进行解码: URLDecoder.decode(中文value,"utf-8");

(5)本身页面的编码格式:确定为UTF-8

***************跳转方式的总结**********
前端交互后端的几种方式:
(1)表单请求:<form action="jsp/servlet" method="get/post">
(2) location.href="jsp/servlet" (该请求一般都是get请求)
(3)超链接标签:<a href="jsp/servlet" (该请求一般都是get请求)"> </a>

后端交互到前端:
(1)request.getRquestDispacther("jsp/servlet(路径问题)").forward(request,response) :请求转发的页面地址栏不改变,路径后面可以跟参数
(2)重定向跳转:response.sendRedirect(jsp/servlet(路径问题));
// 重定向页面地址栏改变。


原文地址:https://www.cnblogs.com/waarp/p/7248679.html