刚学的jsp,感觉好多问题?求大神。。。

菜鸟刘 发布于 2016/02/25 11:26
阅读 554
收藏 0
JSP

这是代码:<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.Vector" %>
<%@ page import="java.util.Enumeration" %>
<jsp:include page="session.html"></jsp:include>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>session server</title>
</head>
<body>


<%--定义一个名为movies的vector,并将其初始化为null --%>
<%!Vector<String> movies=null; %>
<% 




if("注销".equals(request.getParameter("submit"))){
session.invalidate();//结束本session
out.println("再见!\n");
}
else{
//判断是否是新的session,是则创建新的电影列表
if(session.isNew()){
movies=new Vector<String>();
//赋值给session
session.setAttribute("movies", movies);
}
else{
//否则取出已有列表
movies=(Vector)session.getAttribute("movies");
}
//在列表中添加电影
if("添加".equals(request.getParameter("submit"))||request.getParameter("submit")==null){
movies.addElement((String)request.getParameter("item"));
}
//在列表中删除电影
if("删除".equals(request.getParameter("submit"))||request.getParameter("submit")==null){

movies.removeElement((String)request.getParameter("item"));
}
//给session赋值,所附的值是修改过的值
session.getAttribute("movies");
out.println("<font size=3 color=blue><br>你选择了下面这些电影:</font>");
out.println("<hr><font size=3 color='#cc0000'>");
if(movies!=null){
Enumeration<String> enumeration=movies.elements();
out.println("<o1>");
while(enumeration.hasMoreElements()){
out.println("<1i>"+(String)enumeration.nextElement()+"<1i>");
}
out.println("</o1");
}
 }


%><hr>


</body>
</html>

下面是另一个文件内容:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>session client</title>
</head>
<body>
<form  action="session.jsp">
<font size=5 color=blue>
添加或删除你喜欢的电影<br>
请选择:<font>
<select name="item">
<option>功夫熊猫
<option>机器人
<option>斯巴达勇士
<option>音乐之声
<option>阿甘正传
<option>史前以往年
</select><br>
<input type=submit name="submit" value="添加">
<input type=submit name="submit" value="删除">
<input type=submit name="submit" value="注销">
</font>
</font>
</form>
</body>
</html>

该怎么解决。。。。。

加载中
0
cys1357
cys1357

你的第一个文件里的中文是utf8编码的,第2个文件里的中文是gb编码的,不同编码混合在一起返回给浏览器,浏览器按utf8识别,所以“选择了下面这些电影”显示正确,而“添加或删除你喜欢的电影”错了,你把html中的

<meta charset="UTF-8">

改为

<meta charset="gb312">或<meta charset="gbk">

应该可以正确显示

0
xpbob
xpbob
<jsp:include page="session.html"></jsp:include>这里你引入的html文件里,编码格式是什么,你在文件里默认用的是utf-8,你考虑重新用utf-8的编码保存一下这个文件
xpbob
xpbob
回复 @菜鸟刘 : <meta charset="UTF-8">你这个utf-8充其量是告诉浏览器,打开的时候使用utf-8来编码,我说的是你保存文件的格式,就是你往硬盘上保存的格式,不是你告诉浏览器展示的格式
菜鸟刘
菜鸟刘
你再看看
0
阿信sxq
阿信sxq
你这个文件使用什么编码保存的
阿信sxq
阿信sxq
回复 @菜鸟刘 : 不是说代码里面写的,而是保存代码的时候文件的编码
菜鸟刘
菜鸟刘
全是 UTF8,上面有代码,你看看
0
花呗
花呗
字符码啊
菜鸟刘
菜鸟刘
????求解决
0
小刺客
小刺客
session.html这个页面改成jsp,在在这个页面上加<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>再试试。。
菜鸟刘
菜鸟刘
看清楚再说,他俩不是一个格式的
0
北风刮的不认真了
北风刮的不认真了
为啥你打开源文件不乱码
0
cys1357
cys1357
浏览器里手工选择一下编码,看看是不是自动识别编码类型没识别对
0
cys1357
cys1357
只改第二个文件
0
菜鸟刘
菜鸟刘

引用来自“cys1357”的评论

你的第一个文件里的中文是utf8编码的,第2个文件里的中文是gb编码的,不同编码混合在一起返回给浏览器,浏览器按utf8识别,所以“选择了下面这些电影”显示正确,而“添加或删除你喜欢的电影”错了,你把html中的

<meta charset="UTF-8">

改为

<meta charset="gb312">或<meta charset="gbk">

应该可以正确显示

大神!!!!!!!!!!!!!!!!!!!!!!

牛逼!!!!!!!!!!!!!!!!!1111

返回顶部
顶部