题目描述:
使用Context的解决方案
index.jsp
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>index</title>
</head>
<body>
<!-- 某些功能实现:例如数据的传递过来 -->
<center>
<form action="UpperServlet" method="post" name="UpperServlet">
<input type="text" name="text">
<input type="submit"/>
<!-- 实现检验是否为英文,是否为空//技术水平不够 -->
</form>
</center>
</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>ServletDemo</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<display-name>UpperServlet</display-name>
<servlet-name>UpperServlet</servlet-name>
<servlet-class>com.servlet.UpperServlet</servlet-class>
</servlet>
</web-app>
UpperServlet.java
package com.servelt;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class UpperServlet
*/
@WebServlet("/UpperServlet")
public class UpperServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public UpperServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("后台监控,成功提交");
String temptext=request.getParameter("text");
System.out.println("后台检验数据读取成功:"+temptext);
String result=change(temptext);//实现大小写转换
ServletContext context=this.getServletContext();//获得一个context对象
context.setAttribute("Uppertext", result);
context.setAttribute("origin", temptext);
//实现重定向
response.sendRedirect(request.getContextPath()+"/ConvertServlet");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
//实现大小写转换
private String change(String text)
{
String result="";
for(int i=0;i<text.length();i++)
{
char temp=text.charAt(i);
if(temp>='a'&&temp<='z')
{
temp=(char) (text.charAt(i)-32);
}else {//原本就是大写字母和数字的
temp=text.charAt(i);
}
result=result+temp;
}
System.out.println("后台监控,大小写转化的最终结果:"+result);
return result;
}
}
ConvertServlet.java
package com.servelt;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class ConvertServlet
*/
@WebServlet("/ConvertServlet")
public class ConvertServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ConvertServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("后台:第一次重定向测试");
ServletContext context=this.getServletContext();
String temptext=(String)context.getAttribute("Uppertext");
System.out.println("后台测试,数据传输无误:"+temptext);
String result=change(temptext);
context.setAttribute("Convertext", result);
response.sendRedirect(request.getContextPath()+"/DisplayServlet");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
//实现颠倒
private String change(String text)
{
String result="";
for(int i=text.length()-1;i>=0;i--)
{
result=result+text.charAt(i);
}
System.out.println("后台监控,字符串倒序:"+result);
return result;
}
}
DisplayServlet.java
package com.servelt;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class DisplayServlet
*/
@WebServlet("/DisplayServlet")
public class DisplayServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public DisplayServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("后台:第二次重定向测试");
response.setContentType("text/html;charset=GBK");
ServletContext context=this.getServletContext();
String result=(String)context.getAttribute("Convertext");
String origin=(String)context.getAttribute("origin");
PrintWriter out=response.getWriter();
out.println("最终结果:"+result+"<br>");
out.println("原始字符串:"+origin+"<br>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}