web.xml除了可以配置Servlet的浏览器访问路径之处,还可以为我们的网站配置首页。
配置首页的方式如下:
<welcome-file-list>
<welcome-file>1.html</welcome-file>
</welcome-file-list>
MyEclipse里的src目录(src目录是放java源代码文件的)部署到tomcat的时候,是看不到这个文件夹的,为什么呢?因为tomcat只需要*.class文件,不需要*.java文件。
------------------------------------------
Request对象讲解:
演示用户提交表单,然后Serlvet通过Request对象获用户填的数据:
HTML页面:
[action的意思是把form表单里的数据交给谁处理,这里是交给Servlet处理,所以要指向Servlet程序]
<form action="/day04/use" method="post">
用户名:<input type="text" name="username" /> <br/>
密码: <input type="password" name="passwrod" /> <br/>
<input type="submit" value="提交" />
</form>
Servlet代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 如何获取用户填入的表单数据呢?
// 第一 使用request的getParameter()方法
String username = request.getParameter("username");
String password = request.getParameter("passwrod");
OutputStream out = response.getOutputStream();
out.write(("Username is: " + username + "<br/><br/> Password is:" + password).getBytes());
}
------------------------------------------
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 告诉浏览器以utf-8的编码方式来解码
// response.setContentType("text/html;charset=utf-8");
// response.getOutputStream().write("中国".getBytes("utf-8"));
/*
PrintWriter是输出流:
1. 会自动帮我们加换行
2. 可以直接输出字符串
*/
// 设置response对象的编码方式
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter print = response.getWriter();
print.write("你好");
}
结论:
1. 处理Response对象的中文乱码的最终解决办法是:
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
2. 处理Request对象的中文乱码的最终解决办法是:
Post: request.setCharacterEncoding("utf-8");
[注意:这个方法只适合post的提交方式]
Get:
[解决get提交中文乱码的办法],如果post按上面设置了,还是不行的话,再加上下面的,肯定不会乱码
String username = request.getParameter("username");
byte[] b = username.getBytes("iso-8859-1");
String newUsername = new String(b, "utf-8");
记住:我们的页面要加上这个:
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
------------------------------------------
配置首页的方式如下:
<welcome-file-list>
<welcome-file>1.html</welcome-file>
</welcome-file-list>
MyEclipse里的src目录(src目录是放java源代码文件的)部署到tomcat的时候,是看不到这个文件夹的,为什么呢?因为tomcat只需要*.class文件,不需要*.java文件。
------------------------------------------
Request对象讲解:
演示用户提交表单,然后Serlvet通过Request对象获用户填的数据:
HTML页面:
[action的意思是把form表单里的数据交给谁处理,这里是交给Servlet处理,所以要指向Servlet程序]
<form action="/day04/use" method="post">
用户名:<input type="text" name="username" /> <br/>
密码: <input type="password" name="passwrod" /> <br/>
<input type="submit" value="提交" />
</form>
Servlet代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 如何获取用户填入的表单数据呢?
// 第一 使用request的getParameter()方法
String username = request.getParameter("username");
String password = request.getParameter("passwrod");
OutputStream out = response.getOutputStream();
out.write(("Username is: " + username + "<br/><br/> Password is:" + password).getBytes());
}
------------------------------------------
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 告诉浏览器以utf-8的编码方式来解码
// response.setContentType("text/html;charset=utf-8");
// response.getOutputStream().write("中国".getBytes("utf-8"));
/*
PrintWriter是输出流:
1. 会自动帮我们加换行
2. 可以直接输出字符串
*/
// 设置response对象的编码方式
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter print = response.getWriter();
print.write("你好");
}
结论:
1. 处理Response对象的中文乱码的最终解决办法是:
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
2. 处理Request对象的中文乱码的最终解决办法是:
Post: request.setCharacterEncoding("utf-8");
[注意:这个方法只适合post的提交方式]
Get:
[解决get提交中文乱码的办法],如果post按上面设置了,还是不行的话,再加上下面的,肯定不会乱码
String username = request.getParameter("username");
byte[] b = username.getBytes("iso-8859-1");
String newUsername = new String(b, "utf-8");
记住:我们的页面要加上这个:
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
------------------------------------------