Servlet 参数
1.应用参数,在web.xml配置,所有Servlet共用
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
服务端获取配置的数据,实现Servlet接口
@Override
public void init(ServletConfig servletConfig) throws ServletException {
//获取 ServletContext 对象
ServletContext servletContext = servletConfig.getServletContext();
//获取web全局的指定参数配置
String driver = servletContext.getInitParameter("driver");
System.out.println("driver:" + driver);
//获取web全局全部的参数配置
Enumeration<String> names = servletContext.getInitParameterNames();
while(names.hasMoreElements()){
String name = names.nextElement();
System.out.println("-->" + name);
}
}
2.私有参数,在web.xml配置
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.demo.init.HelloServlet</servlet-class>
<!-- 配置 Serlvet 的初始化参数 -->
<init-param>
<!-- 参数名 -->
<param-name>user</param-name>
<!-- 参数值 -->
<param-value>root</param-value>
</init-param> </servlet>
服务端获取参数数据,实现Servlet接口
@Override
public void init(ServletConfig servletConfig) throws ServletException {
//获取Servlet里的参数
String user = servletConfig.getInitParameter("user");
System.out.println("user: " + user);
//获取全部的servlet参数
Enumeration<String> names =servletConfig.getInitParameterNames();
while(names.hasMoreElements()){
String name = names.nextElement();
String value = servletConfig.getInitParameter(name);
System.out.println(name + ": " + value);
}
}
3."会话“参数
ClassA设置参数值
request.getSession().setAttribute("CHECK_CODE", randomCode.toString());
ClassB获取参数值
String sessionCode = (String)request.getSession().getAttribute("CHECK_CODE");
4.“行为”参数,在HTML、Jsp等前端页面编辑用户信息,提交服务端
<form action="regedit" method="post">
user: <input type="text" name="user"/>
password: <input type="password" name="password"/>
<br><br>
interesting:
<input type="checkbox" name="interesting" value="party"/>Party
<input type="checkbox" name="interesting" value="shopping"/>Shopping
<input type="checkbox" name="interesting" value="sport"/>Sport
<input type="submit" value="Submit"/>
</form>
服务端获取用户编辑的内容,实现Servlet接口
@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
String user = request.getParameter("user");
String password = request.getParameter("password");
System.out.println(user + ", " + password);
String interesting = request.getParameter("interesting");
System.out.println(interesting);
//多值
String [] interestings = request.getParameterValues("interesting");
for(String interest: interestings){
System.out.println("-->" + interest);
}
//获取全部参数键值
Enumeration<String> names = request.getParameterNames();
while(names.hasMoreElements()){
String name = names.nextElement();
String val = request.getParameter(name);
}
}
Servlet 参数的更多相关文章
- servlet初始化参数
使用<context-param>标签初始化的参数是被应用程序中所有的servlet所共享.但是有时候我们需要为某一个特定的servlet配置参数,这个时候我们就需要使用servlet初始 ...
- 在SpringMVC的controller控制器中使用Servlet原生的API
只需要在控制器的方法里添加相应的Servlet 参数即可! 支持以下参数: 新建一个controller类,部分代码如下:(省略xml配置文件) @RequestMapping("servl ...
- JavaWeb之Servlet总结
今天上班居然迟到了,昨天失眠了,看完吐槽大会实在不知道做些什么,刚好朋友给我发了两个JavaWeb的练习项目,自己就又研究了下,三四点才睡,可能周日白天睡的太多了,早上醒来已经九点多了,立马刷牙洗脸头 ...
- JavaWeb开发之详解Servlet及Servlet容器
自JavaEE诞生伊始,Servlet容器和Servlet技术,就构成了JavaEE应用的核心,配合其它组件,它们完善了Java企业级开发的全套解决方案.小到一个静态博客网站,大到分布式的集群应用,都 ...
- Servlet—作controller控制层
servlet控制器的改造步骤: 1.编写servlet类,和访问路径 2.修改jsp请求路径 servlet参数配置---获取初始化参数 servlet参数配置---全局参数
- Servlet基础知识总结
Servlet是JavaWeb应用开发的核心组件.Servlet运行在Servlet容器中(例如最常用的Tomcat),它可以为各种客户请求提供相应服务.Servlet可以轻松完成以下任务: 动态生成 ...
- MVC模式与Servlet执行流程
##Servlet生命周期 五个部分,从加载到卸载,如同人类的出生到死亡 加载:Servlet容器自动处理 初始化:init方法 该方法会在Servlet被加载并实例化后执行 服务:service抽象 ...
- Servlet 使用介绍(1)
说明 本篇介绍java web中比较重要的一个技术:servlet.servlet是一种对用户请求动态响应的一个技术,是java web的核心一环.对于一般服务性质的纯后台服务应用而言,或许整个应用是 ...
- Servlet , GenericServlet和HttpServlet
Servlet是一套规范,表现为一套接口,留给开发人员去实现,Servlet接口定义如下(附加servlet-api source来查看源码) 其中init方法被Servlet容器调用,servlet ...
随机推荐
- 使用ArcMap做一个1:5000标准分幅图并编号
实现这个project,十进制度.渔网工具.Excel if/Text函数.挂接Excel表.空间连接.投影这些知识是必须的.看懂本篇博文也就意味着大概掌握了以上知识. 坐标数据设置与编号标准依据&l ...
- metasploit 教程之信息收集
信息收集 信息收集范围很大,可以从不同层面,不同维度进行信息收集. 系统补丁 我们知道目标机器缺少什么补丁就意味着存在与其对应的漏洞.我们可以利用这些漏洞来达到我们渗透攻击的目的. # 使用的模块 u ...
- java8 list统计(求和、最大、最小、平均)
list.stream().mapToDouble(User::getHeight).sum()//和 list.stream().mapToDouble(User::getHeight).max() ...
- iTOP-4418开发板和6818开发板-第五路串口介绍
iTOP-4418开发板和6818开发板 的除去默认 4 个串口的配置和用法. 4418 的开发板最多支持 5 路串口,如下图所示,4418 的 datasheet. 6818 的开发板最多支持 ...
- 用可配置外部工具的编辑器编译与执行java
用可配置外部工具的编辑器编译与执行java 最近用了everedit.觉得比之前平时用的Editplus有更多的细节与功能要好许多. 这里就写写用everedit编译与执行java的方法. 原理 ja ...
- Oracle 数据文件迁移
背景 这两天做一个oracle数据库迁移,以前都是用exp.imp来走,这次用到了expdp.impdp,的确有些优势,但同时又想起了只是拷贝数据文件迁移的方式,其实这个方式不常用做迁移,更多用在磁盘 ...
- Beta 冲刺(1/7)
目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(1/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 团队完成测试答辩 整理博客 复习接口 接下来的 ...
- mybatis基础知识
一.什么是Mybatis 这里借用官网的一句话介绍什么是mybatis:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC ...
- 【原创】大数据基础之Ambari(3)通过Ambari部署Airflow
ambari2.7.3(hdp3.1) 安装 airflow1.10 ambari的hdp中原生不支持airflow安装,下面介绍如何通过mpack方式使ambari支持airflow安装: 1 下载 ...
- iOS URL Cache文章推荐 (待完成)
推荐链接是:http://www.cnblogs.com/Mike-zh/archive/2016/02/24/5210169.html http://blog.csdn.net/y550918116 ...