⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 insertword.java

📁 使用spring+ibatis框架编写的单词卡片记忆系统。
💻 JAVA
字号:
package cn.avl.wordcard.servlet;

import cn.avl.wordcard.service.*;
import cn.avl.wordcard.domain.*;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpSession;

public class InsertWord extends HttpServlet{
	private ServletConfig servletConfig=null;
	private String successView=null;
	private String failureView=null;
	private String sessionUserInfo=null;
	private WordcardService service;
	
	public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException{
		
		successView=request.getContextPath()+servletConfig.getInitParameter("successView");
		failureView=request.getContextPath()+servletConfig.getInitParameter("failureView");
		sessionUserInfo=servletConfig.getInitParameter("sessionUserInfo");
		
    	String wordStr = (String)request.getParameter("word");
    	String explanationStr = (String)request.getParameter("explanation");
    	
    	String[] token = explanationStr.split("\n");
    	
    	Word word = new Word(wordStr);
    	
    	char firstCh = wordStr.charAt(0);
    	String first = new Character(firstCh).toString();
    	String location = first+"\\"+".wma";
    	word.setLocation(location);
    	
    	word.setPhonogram(token[0].trim());
    	
    	word.setFirst(first);
    	
    	if(!service.insertWord(word)){
    		response.sendRedirect(failureView);
    		return;
    	}
    	
    	int j = 1;
    	int length = token.length;
    	boolean flag = false;//表示插入是否成功
    	
    	int exp = 1; //表示第几条解释
    	while( j < length ){
    		String category = token[j].trim();
    		j++;
    		Explanation explanation = new Explanation();
    		Sentence sentence = new Sentence();
    		
    		while(j < token.length && !isCategory(token[j].trim())){
    			String meaning = token[j++].trim();	//中文解释
    			String expID = wordStr+new Integer(exp).toString();	//解释ID
    			
    			//生成一个解释对象
    			explanation.setExpID(expID); explanation.setCategory(category);
    			explanation.setMeaning(meaning); explanation.setWord(wordStr);
    			
    			//生成一个例句
    			if(j < token.length && isSentence(token[j].trim())){
    				sentence.setExpID(expID);
    				sentence.setSentence(token[j++].trim());
    				sentence.setTranslation(token[j++].trim());
    			}else{
    				sentence.setExpID(null);
    			}
    			
    			exp++;
    			
    			if(service.insertExplanation(explanation)){
    				flag = true;
    				if(sentence.getExpID() != null && !service.insertSentence(sentence)) flag = false;
    			}
    		}    		
    	}
    	if(flag) response.sendRedirect("/wordcard/pages/show_word.jsp?word="+wordStr);
    	else response.sendRedirect(failureView);
    }
	public void init(ServletConfig servletConfig) throws ServletException {
		this.servletConfig=servletConfig;
		this.service = ServiceFactory.getWordcardService();
	}
	
	private boolean isCategory (String str){
		return str.equals("vt.") || str.equals("vi.") || str.equals("n.") || str.equals("adj.")
				|| str.equals("adv.") || str.equals("vt. & vi.") || str.equals("prep.") || str.equals("conj.");
	}
	
	private boolean isSentence(String str){
		if(isCategory(str)){return false;}
		char first = str.charAt(0);
		return 'A' <= first && 'Z' >= first;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -