实验要求
用户在JSP页面输人英文句子提交给servlet,servlet可以统计出英文句子中的单词数目。
●JSP页面具体要求
inputWord. jsp页面提供个表单,用户使用该表单中的文本区输 人英文句子,然后提
交给名字是word的servlet。
● Servlet的具体要求
编写一个Servlet 类Decompose,该类创建的servlet 可以分解出英文句子中的单词。
Decompose包名是myservlet. control。Decompose. java保存到Web服务目录的\ WEB-
INF\classes\myservlet\control子目录中。
然后打开MS -DOS命令行窗口,使用MS DOS命令进人包名的父目录classes ,按如下
格式编译源文件:
classes>javac myservlet\control\Decompose.java
步骤
1.更改web.xml 更改WEN-INF目录下的web.xml文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
<servlet>
<servlet-name>word</servlet-name>
<servlet-class>myservlet.control.Decompose</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>word</servlet-name>
<url-pattern>/word</url-pattern>
</servlet-mapping>
</web-app>
2.inputWord.jsp
<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="UTF-8"%>
<html>
<body>
<font size=5>
<form action="word" method=post>
输入英文语句:<textarea name="english" rows="5" cols="30"></textarea>
<br><input type=submit value="提交">
</form>
</font>
</body>
</html>
3.Decompose.java
package myservlet.control;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Decompose extends HttpServlet{
public void init(ServletConfig config) throws ServletException{
super.init(config);}
public void service(HttpServletRequest request,HttpServletResponse response)throws IOException{
request.setCharacterEncoding("gb2312");//设置编码
response.setContentType("text/html;charset=gb2312");//设置响应
PrintWriter out = response.getWriter(); //输出
out.println("<html><body bgcolor=pink>");
out.println("输出结果如下:");
String str = request.getParameter("english");
out.println(str);
if(str==null||str.length()==0)
return;
String []word = str.split("[^a-zA-Z]+");//分割
int n = 0;
try{
for(int i=0;i<word.length;i++){
if(word[i].length()>=1){
n++;
out.print("<br>"+word[i]);}
}
}
catch(NumberFormatException e){out.println(" "+e);}
out.println("单词数目:"+n);
out.println("</body></html>");
}
}
运行服务器,运行结果如下