`
85977328
  • 浏览: 1898911 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一些常用的Servlet小方法

阅读更多
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;

public class HelloServlet extends HttpServlet {

	public HelloServlet() {
		super();
	}

	public void destroy() {
		super.destroy();
	}
	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		doPost(req,resp);
	}

	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {

		//解决页面输出乱码问题 等于jsp页面 <%@page contentType="text/html;charset=GBK"%>
		//解决get方式提交和response.sentRedirect()方式
		resp.setContentType("text/html;charset=GBK"); 

		//解决post方式提交内容的乱码,一定要写在存取第一个参数之前
		req.setCharacterEncoding("GBK"); 
		//不要调用 resp.setCharacterEncoding("GBK");,此方法相当于resp.setContentType的后半部分charset=GBK
		//解决get方式乱码问题 修改server.xml -->URIEncoding="GBK"


		//拿到输出流对象
		PrintWriter out = resp.getWriter();
		

		//打印流的使用
		out.println("<html>中文乱码问题</html>");
		out.flush();//清除缓存
		out.close();

		//得到session
		HttpSession session = req.getSession();

		//其中为读取web.xml文件中的参数,进行转码
		String DBDRIVER = this.getServletConfig().getInitParameter("DBDRIVER");
		DBDRIVER = new String(DBDRIVER.getBytes("ISO8859-1"),"GBK");
			
		
		//取得上一个页面的参数
		//<input name="txtID" type="text"/>
		String txtID = req.getParameter("txtID").toString();
		


		//取得一个页面同名参数的值
		/*
		<input type="Checkbox" name="**inst" value="篮球">
		<input type="Checkbox" name="**inst" value="足球">
		<input type="Checkbox" name="**inst" value="实况">
		*/
		//枚举类型,历史遗留问题
		Enumeration enu = req.getParameterNames();
		while(enu.hasMoreElements())
		{
			//返回所有参数名称
			String name = (String)enu.nextElement();
			String temp[] = req.getParameterValues(name);
			if(temp.length==1)
			{
				String paramValue = temp[0];
			}
			else{
				//循环打印
			}
		}
		//通过Map来取得
		Map<String, String[]> paramMap = req.getParameterMap();
		//Set k = paramMap.keySet();
		Set<Map.Entry<String, String[]>> entries = paramMap.entrySet();
		for (Iterator<Map.Entry<String, String[]>> it = entries.iterator(); it.hasNext();) {
			Map.Entry<String, String[]> entry = it.next();
			String paramName = entry.getKey();
			out.print(paramName);
			String[] paramValues = entry.getValue();
			if (paramValues.length == 1) {
				String paramValue = paramValues[0];
				if (paramValue.length() == 0)
					out.println("No Value");
				else
					out.println(paramValue);
			} else {
				for (int i = 0; i < paramValues.length; i++) {
					out.println(paramValues[i]);
				}
			}
		}


		//取得客户端IP地址  
		req.getRemoteAddr()
	}

	public void init() throws ServletException {
	}
}


/*
<servlet>
	//配置映射
	<servlet-name>simple</servlet-name>
	<servlet-class>cn.mldn.lxh.servlet.SimpleServlet</servlet-class>
	//程序运行优先级
	<load-on-startup>1</load-on-startup>
	//配置初始化参数
	<param-name>DBDRIVER</param-name>
	<param-value>oracle.jdbc.driver.OracleDriver</param-value>
</servlet>
<servlet-mapping>
	<servlet-name>simple</servlet-name>
	<url-pattern>/demo</url-pattern>
</servlet-mapping>
*/
分享到:
评论
1 楼 jinglingcoming 2011-11-20  
<servlet> 
    //配置映射 
    <servlet-name>simple</servlet-name> 
    <servlet-class>cn.mldn.lxh.servlet.SimpleServlet</servlet-class> 
    //程序运行优先级 
    <load-on-startup>1</load-on-startup> 
    //配置初始化参数 
    <param-name>DBDRIVER</param-name> 
    <param-value>oracle.jdbc.driver.OracleDriver</param-value> 
</servlet> 
<servlet-mapping> 
    <servlet-name>simple</servlet-name> 
    <url-pattern>/demo</url-pattern> 
</servlet-mapping> 


貌似放在web.xml里可直接加载某个action

相关推荐

    jsp/servlet内置方法详解

    本文将深入解析JSP和Servlet的一些内置方法,帮助开发者更好地理解和运用这些方法。 **一、JSP/Servlet 输出流方法** 1. `void clear()`:此方法用于清除输出缓冲区的内容,但不会将其输出到客户端,只是清空当前...

    servlet,实现方法 后台分页

    在Java Web开发中,Servlet是一种常用的服务器端编程接口,用于处理HTTP请求并生成响应。本文将深入探讨如何利用Servlet实现后台分页功能,这在大数据量的Web应用中尤为重要,可以提高用户界面的响应速度和用户体验...

    servlet的mvc小练习

    本项目是一个关于Servlet的MVC小练习,旨在帮助学习者掌握如何使用Servlet实现基本的CRUD(创建、读取、更新和删除)操作,以及分页和模糊查询功能。同时,它还涉及到了一些请求跳转之间的实用技巧。以下是对这些...

    servlet学习入门教材

    - **`GenericServlet`**:实现了`Servlet`接口和`ServletConfig`接口,提供了一些常用功能,但需要开发者自己实现`service()`方法。 - **特点**:适用于对HTTP协议没有特殊需求的应用场景。 - **`HttpServlet`**...

    servlet和struts2笔记

    - 继承 `javax.servlet.http.HttpServlet` 类,这是最常用的方式,因为 `HttpServlet` 提供了一些针对 HTTP 协议的默认行为,如处理 GET 和 POST 请求的方法。 - **Servlet 生命周期方法**: - **初始化 (`init()...

    servlet重点讲解

    - 常用的`doXXX()`方法包括:`doGet()`、`doPost()`等。 #### 七、Servlet的应用场景 - **用户认证与授权**:通过Servlet处理登录请求,验证用户身份。 - **数据处理**:接收表单提交的数据,进行业务逻辑处理后...

    微信小程序java上传图片_servlet

    2. 处理请求:在Servlet的doPost方法中,使用HttpServletRequest对象获取请求的InputStream。 3. 文件保存:从InputStream中读取文件内容,将其保存到服务器的指定目录,可以使用Java的FileOutputStream或者第三方库...

    servlet基础知识新手下载

    - **常用方法**: - 设置响应头: `response.setHeader(String name, String value);` - 设置响应体: `response.getWriter().write(String content);` - 设置状态码: `response.setStatus(int sc);` 3. **请求...

    servlet+tomcat面试题及答案解析.zip

    `doGet()`和`doPost()`是两个常用的方法,分别对应HTTP的GET和POST请求。 4. **多线程模型**:Servlet是线程安全的,这意味着每个请求都会创建一个新的线程来调用Servlet实例。 5. **Servlet容器**:Servlet运行在...

    学习了servlet之后,将servlet全部整合在一个工具类中

    该工具类的目标是将Servlet的常用功能进行高度集成,以提高代码复用性和开发效率。以下是一些可能包含在这个工具类中的关键知识点: 1. **过滤器(Filter)**:在Servlet中,过滤器用于拦截请求和响应,执行预处理...

    用servlet实现验证码功能

    在Web开发中,验证码是一种常用的安全机制,用于防止自动化脚本或机器人进行恶意操作,比如防止注册机批量注册用户、防止刷票等。本篇文章将详细介绍如何使用Servlet来实现一个简单的验证码功能,并在JSP页面上进行...

    《JSP+Servlet+Tomcat应用开发从零开始学》PDF

    在实际项目中,开发者通常会结合使用JSP、Servlet和一些框架,如Spring MVC或Struts,以提高开发效率和应用的可维护性。这些框架提供了更高级别的抽象,使开发者能够专注于业务逻辑,而不是底层的HTTP请求处理和页面...

    servlet返回json所需jar包

    在Servlet中处理JSON,我们需要依赖一些库来帮助我们进行JSON的序列化和反序列化。本篇将详细介绍Servlet返回JSON所需的相关jar包及其作用。 1. **Jackson库**: Jackson是Java中非常流行的JSON处理库,它提供了...

    Servlet与JSP核心编程

    在文档的描述中提到了“总结了以往编程重点”,可能指的是对servlet和JSP编程中常用的技术、设计模式以及最佳实践的总结。例如,servlet的生命周期方法(init(), service(), destroy())、会话管理、请求转发和...

    Servlet学习笔记

    - **GenericServlet**:实现了部分Servlet接口的方法,提供了一些默认实现。 - **HttpServlet**:继承自`GenericServlet`,针对HTTP协议进行了封装,简化了处理HTTP请求的过程。 **2.4 创建Servlet步骤** 1. **...

    Flex和Servlet结合上传文件

    Servlet通过Override `doPost` 方法来处理POST请求,其中`HttpServletRequest`对象可以用来读取请求体中的文件内容。通常,我们会使用`Part`接口(在Java 7及以上版本中引入)来获取上传的文件,并将其保存到服务器...

    servlet帮助文档

    它提供了一些基本的服务,如初始化和销毁方法的默认实现。 - **`javax.servlet.http.HttpServlet`**:这是一个更具体的抽象类,继承自 `GenericServlet`。它专注于处理 HTTP 请求,并提供了 `doGet()` 和 `doPost()`...

    java面试问题集一些小公司常用的

    Java 面试问题集一些小公司常用的 本文将对 Java 面试中的一些常见问题进行解答,这些问题涵盖了 Java 语言的基础知识、Struts 体系结构、String 和 StringBuffer 的区别、运行时异常与一般异常的区别、Servlet 的...

    servlet jsp总结

    **Servlet对象**:`Page` (即当前JSP页面对应的`Servlet`对象), `Config` (`ServletConfig`)等,提供了一些关于Servlet的信息。 4. **错误对象**:`Exception`,用于捕获并处理异常信息。 #### 五、EL ...

    servlet和JSP面试题答案.pdf

    在 Servlet 中,有两种跳转方法:RequestDispatcher.forward() 方法和 HttpServletResponse.sendRedirect() 方法。 RequestDispatcher.forward() 方法仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出...

Global site tag (gtag.js) - Google Analytics