您的位置:首页 > Web前端 > JavaScript

MyFirstJsp&Servlet表单提交之问题记录与总结

2014-05-21 20:44 519 查看
在本次实验平台为myeclipse10,tomcat7.0.

问题一:表单提交后,服务器返回404.

<form action="">中action表示事件发生时处理该表单的servlet所在的位置,即url。这个url配置在web.xml中。

解决这个问题,需要明白,web.xml中基本参数的意义:

<servlet-name>simple</servlet-name>//自定义的servlet应用名字,不要求与需要调用的servlet同名

<servlet-class>cn.mldn.lxh.servlet.SimpleServlet</servlet-class> //我们定义的servlet应用名字对应的具体servlet文件

< servlet-mapping> //地址映射

<servlet-name>simple</servlet-name> //我们定义的servlet应用名字,,要求与上述提到的<servlet-name>同名

<url-pattern>/demo</url-pattern> //地址名 </servlet-mapping>

进行地址映射目的是为了使用servlet,它的工作过程是:

工作过程:

输入地址:http://localhost:8080/ demo,通过它找到映射文件内部的文件名simple,通过simple找到对应的<servlet-name>simple</servlet-name>,然后定位到这个servlet
文件:cn.mldn.lxh.servlet.SimpleServlet

解决方案:action映射到

问题二:中文乱码

原因:web服务器和浏览器http协议通信时,默认使用ISO-8859-1字符集进行编码。

解决方案:对response和request进行编码。

代码:

*******************************************************start************************************************************************

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class Test extends HttpServlet {

/**

*

*/

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//request.setCharacterEncoding("UTF-8");

String name = request.getParameter("mz");

name = new String(name.getBytes("ISO-8859-1"),"UTF-8");

String SuccessInfo = "Congratulate 恭喜" + name;

response.setContentType("text/html;charset=UTF-8");

response.setCharacterEncoding("UTF-8");

PrintWriter out = response.getWriter();

out.println("<html>");

out.println("<head>");

out.println("<title>");

out.println("SuccessPage");

out.println("</title>");

out.println("</head>");

out.println("<body>");

out.println(SuccessInfo);

out.println("</body>");

out.println("</html>");

out.close();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}

********************************************************index.jsp***************************************************************

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>

TestMy_Servlet

</title>

</head>

<body>

<form action="TestIt" method="post">

input your name:<input type="text" name="mz" value="请输入您的姓名"><p>

<input type="submit" value="提交">

<input type="reset" value="重置">

</form>

</body>

</html>

*******************************************************web.xml*******************************************************************

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>

<servlet>

<description>This is the description of my J2EE component</description>

<display-name>This is the display name of my J2EE component</display-name>

<servlet-name>Test</servlet-name>

<servlet-class>Test</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Test</servlet-name>

<url-pattern>/TestIt</url-pattern>

</servlet-mapping>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>

*************************************************end**********************************************

项目结构:



运行结果:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐