- 浏览: 1898911 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
jquery打印指定的div -
GentlemanQc:
...
quartz系列(二)spring3.2.5与quartz2.1.7集群版集成简要说明 -
静夜独窗:
你好,能说一下server.xml增加的配置是怎么影响性能的吗 ...
tomcat7.0性能优化-挑战极限精简版 -
beyondfengyu:
beyondfengyu 写道如果每个客户进程的时间不同步,时 ...
java并发(二十二)分布式锁 -
beyondfengyu:
如果每个客户进程的时间不同步,时间超前的进程是不是更容易得到锁 ...
java并发(二十二)分布式锁
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
//配置映射
<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
发表评论
-
java for 的几种用法
2014-12-02 09:59 1260J2SE 1.5提供了另一 ... -
finally不执行的陷阱
2014-05-16 09:23 1123写了个DEMO,说明下finally在System.exit( ... -
URI和URL的区别
2014-03-26 10:38 1298String HttpServletRequest.getRe ... -
Iterator与ListIterator区别
2014-03-23 22:21 1136Iterator:只能正向遍历集合,适用于获取移除元素。Lis ... -
快速失败特性
2014-03-23 22:20 1148从高级别层次来说快速失败是一个系统或软件对于其故障做出 ... -
java继承静态方法复写
2014-03-12 09:28 4421最近和人交流,遇到了这样一个问题,就是继承当中,静态方法复写的 ... -
关于return和finally
2014-03-11 10:19 2836本来return和finally也不是个事。之前看虚拟机运行原 ... -
JVM内存分析系列(十三)内存实践理解
2014-01-22 10:09 3120java堆 包括 新生代:eden,survival(from ... -
JVM内存分析系列(十二)G1垃圾收集器的使用
2014-01-16 17:10 11519Garbage First(G1)致力于在多CPU和大内存服务 ... -
JVM内存分析系列(十一)GC基本情况与CMS垃圾收集器调优
2014-01-16 11:44 11599初始标记 CMS-initial-mark 并发标记 CMS- ... -
eclipse内存优化
2014-02-26 14:00 1547修改eclipse的配置文件,添加或者修改参数如下,其中XX: ... -
远程调试(二)JVM
2014-01-10 11:43 1745从J2SE 1.4.2开始,就已经提出并实现了JavaTM P ... -
JVM内存分析系列(九)JDK监控和故障处理工具
2014-01-08 18:33 2070jps JVM Process Status Tool,显示指 ... -
guava--google----用来替代commons的jar包
2014-01-06 18:21 16832Guava 是一个 Google ... -
JVM内存分析系列(八)垃圾收集器介绍及性能指标
2013-12-30 13:33 2037内存回收的具体实现。 停顿时间越短就越适合需要 ... -
JVM内存分析系列(七)垃圾收集算法
2013-12-30 12:58 1119内存回收的方法论 标记-清除算法 Mark-Sweep 分为 ... -
JVM内存分析系列(六)对象存活判断
2013-12-26 11:10 1138对象存活常用2种算法 引用计数算法 给对象中添加一个 ... -
JVM内存分析系列(五)浅谈finalize()方法
2013-12-28 18:47 1470根搜索算法中不可达对象在回收之前,要进行二次标记。 第 ... -
JVM内存分析系列(四)对象4种引用
2013-12-25 20:07 1322强引用:只要强引用还存在,垃圾收集器永远不会回收掉被引用的对象 ... -
JVM内存分析系列(三)JVM内存模型初步
2013-12-25 17:09 1163根据《Java虚拟机规范(第二版)》的规定,结构如下 1 ...
相关推荐
本文将深入解析JSP和Servlet的一些内置方法,帮助开发者更好地理解和运用这些方法。 **一、JSP/Servlet 输出流方法** 1. `void clear()`:此方法用于清除输出缓冲区的内容,但不会将其输出到客户端,只是清空当前...
在Java Web开发中,Servlet是一种常用的服务器端编程接口,用于处理HTTP请求并生成响应。本文将深入探讨如何利用Servlet实现后台分页功能,这在大数据量的Web应用中尤为重要,可以提高用户界面的响应速度和用户体验...
本项目是一个关于Servlet的MVC小练习,旨在帮助学习者掌握如何使用Servlet实现基本的CRUD(创建、读取、更新和删除)操作,以及分页和模糊查询功能。同时,它还涉及到了一些请求跳转之间的实用技巧。以下是对这些...
- **`GenericServlet`**:实现了`Servlet`接口和`ServletConfig`接口,提供了一些常用功能,但需要开发者自己实现`service()`方法。 - **特点**:适用于对HTTP协议没有特殊需求的应用场景。 - **`HttpServlet`**...
- 继承 `javax.servlet.http.HttpServlet` 类,这是最常用的方式,因为 `HttpServlet` 提供了一些针对 HTTP 协议的默认行为,如处理 GET 和 POST 请求的方法。 - **Servlet 生命周期方法**: - **初始化 (`init()...
- 常用的`doXXX()`方法包括:`doGet()`、`doPost()`等。 #### 七、Servlet的应用场景 - **用户认证与授权**:通过Servlet处理登录请求,验证用户身份。 - **数据处理**:接收表单提交的数据,进行业务逻辑处理后...
2. 处理请求:在Servlet的doPost方法中,使用HttpServletRequest对象获取请求的InputStream。 3. 文件保存:从InputStream中读取文件内容,将其保存到服务器的指定目录,可以使用Java的FileOutputStream或者第三方库...
- **常用方法**: - 设置响应头: `response.setHeader(String name, String value);` - 设置响应体: `response.getWriter().write(String content);` - 设置状态码: `response.setStatus(int sc);` 3. **请求...
`doGet()`和`doPost()`是两个常用的方法,分别对应HTTP的GET和POST请求。 4. **多线程模型**:Servlet是线程安全的,这意味着每个请求都会创建一个新的线程来调用Servlet实例。 5. **Servlet容器**:Servlet运行在...
该工具类的目标是将Servlet的常用功能进行高度集成,以提高代码复用性和开发效率。以下是一些可能包含在这个工具类中的关键知识点: 1. **过滤器(Filter)**:在Servlet中,过滤器用于拦截请求和响应,执行预处理...
在Web开发中,验证码是一种常用的安全机制,用于防止自动化脚本或机器人进行恶意操作,比如防止注册机批量注册用户、防止刷票等。本篇文章将详细介绍如何使用Servlet来实现一个简单的验证码功能,并在JSP页面上进行...
在实际项目中,开发者通常会结合使用JSP、Servlet和一些框架,如Spring MVC或Struts,以提高开发效率和应用的可维护性。这些框架提供了更高级别的抽象,使开发者能够专注于业务逻辑,而不是底层的HTTP请求处理和页面...
在Servlet中处理JSON,我们需要依赖一些库来帮助我们进行JSON的序列化和反序列化。本篇将详细介绍Servlet返回JSON所需的相关jar包及其作用。 1. **Jackson库**: Jackson是Java中非常流行的JSON处理库,它提供了...
在文档的描述中提到了“总结了以往编程重点”,可能指的是对servlet和JSP编程中常用的技术、设计模式以及最佳实践的总结。例如,servlet的生命周期方法(init(), service(), destroy())、会话管理、请求转发和...
- **GenericServlet**:实现了部分Servlet接口的方法,提供了一些默认实现。 - **HttpServlet**:继承自`GenericServlet`,针对HTTP协议进行了封装,简化了处理HTTP请求的过程。 **2.4 创建Servlet步骤** 1. **...
Servlet通过Override `doPost` 方法来处理POST请求,其中`HttpServletRequest`对象可以用来读取请求体中的文件内容。通常,我们会使用`Part`接口(在Java 7及以上版本中引入)来获取上传的文件,并将其保存到服务器...
它提供了一些基本的服务,如初始化和销毁方法的默认实现。 - **`javax.servlet.http.HttpServlet`**:这是一个更具体的抽象类,继承自 `GenericServlet`。它专注于处理 HTTP 请求,并提供了 `doGet()` 和 `doPost()`...
Java 面试问题集一些小公司常用的 本文将对 Java 面试中的一些常见问题进行解答,这些问题涵盖了 Java 语言的基础知识、Struts 体系结构、String 和 StringBuffer 的区别、运行时异常与一般异常的区别、Servlet 的...
**Servlet对象**:`Page` (即当前JSP页面对应的`Servlet`对象), `Config` (`ServletConfig`)等,提供了一些关于Servlet的信息。 4. **错误对象**:`Exception`,用于捕获并处理异常信息。 #### 五、EL ...
在 Servlet 中,有两种跳转方法:RequestDispatcher.forward() 方法和 HttpServletResponse.sendRedirect() 方法。 RequestDispatcher.forward() 方法仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出...