Java中前台JSP请求Servlet实例(http+Servlet)
1、前台jsp代码 himily.jsp,定义了用户名和密码两个输入框,使用post方式提交:/order-web/HimilyServlet其中order-web为站点名称,HimilyServlet为servlet访问路径
- <%@ page language="java" contentType="text/html; charset=utf-8"
- pageEncoding="utf-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>Welcome to here</title>
- </head>
- <body>
- <form action="/order-web/HimilyServlet" method="Post">
- 用户名:<input type="text" value="请输入用户名" name="user" size="20px"><br>
- 密码:<input type="password" value="请输入密码" name="pswd" size="20px"><br>
- <input type="submit" value="提交" size="10px">
- </form>
- </body>
- </html>
himily.jsp
2、servlet层代码:MyServlet.java
新建MyServlet并且指定servlet的路径为/HimilyServlet
- <!DOCTYPE web-app PUBLIC
- "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd" >
- <web-app>
- <display-name>Archetype Created Web Application</display-name>
- <servlet>
- <servlet-name>OrderServlet</servlet-name>
- <display-name>OrderServlet</display-name>
- <description></description>
- <servlet-class>com.suning.logistics.order.web.OrderServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>QueryOrder</servlet-name>
- <display-name>QueryOrder</display-name>
- <description></description>
- <servlet-class>com.suning.logistics.order.web.QueryOrder</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>MyServlet</servlet-name>
- <display-name>MyServlet</display-name>
- <description></description>
- <servlet-class>com.suning.logistics.order.web.MyServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>OrderServlet</servlet-name>
- <url-pattern>/OrderServlet</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>QueryOrder</servlet-name>
- <url-pattern>/QueryOrder.do</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>MyServlet</servlet-name>
- <url-pattern>/HimilyServlet</url-pattern>
- </servlet-mapping>
- </web-app>
web.xml
MyServlet.java代码,这里是接受客户端的请求以及处理后的响应
方法一:
Map<String,String[]> ps = request.getParameterMap();
获取客户端的所有请求参数的Key和Value值存入一个Map中,并且Value是数组类型,便于有相同key的时候组成二维数组
- package com.suning.logistics.order.web;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.security.Principal;
- import java.util.Map;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- /**
- * Servlet implementation class MyServlet
- */
- public class MyServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- /**
- * @see HttpServlet#HttpServlet()
- */
- public MyServlet() {
- super();
- // TODO Auto-generated constructor stub
- }
- /**
- * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
- */
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- try{
- //System.out.println("himily's servlet!");
- //response.getWriter().write("aaaa");
- request.setCharacterEncoding("utf-8");
- response.setContentType("text/html;charset=utf-8");
- String user = request.getParameter("user");
- String pswd = request.getParameter("pswd");
- response.setStatus(200);
- PrintWriter pw=response.getWriter();
- pw.write("<html><body><p>登录成功!\n你输入的用户名为:"+user+"\n你输入的密码为:"+pswd+"</p></body></html>");
- pw.close();
- }catch(Exception e){
- response.getWriter().write(e.toString());
- }
- }
- /**
- * @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);
- Map<String,String[]> ps = request.getParameterMap();
- request.setCharacterEncoding("utf-8");
- response.setContentType("text/html;charset=utf-8");
- // String user = request.getParameter("user");
- // String pswd = request.getParameter("pswd");
- response.setStatus(200);
- PrintWriter pw=response.getWriter();
- pw.write("<html><body><p>登录成功!\n你输入的用户名为:"+ps.get("user")[0]+"\n你输入的密码为:"+ps.get("pswd")[0]+"</p></body></html>");
- pw.close();
- }
- }
MyServlet.java
方法二:
//获取客户端POST参数的值
String user = request.getParameter("user");
String pswd = request.getParameter("pswd");
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // TODO Auto-generated method stub
- //doGet(request,response);
- //Map<String,String[]> ps = request.getParameterMap();
- request.setCharacterEncoding("utf-8");
- response.setContentType("text/html;charset=utf-8");
- //获取客户端POST参数的值
- String user = request.getParameter("user");
- String pswd = request.getParameter("pswd");
- response.setStatus(200);
- PrintWriter pw=response.getWriter(); //输出响应信息到客户端
- pw.write("<html><body><p>登录成功!\n你输入的用户名为:"+user+"\n你输入的密码为:"+pswd+"</p></body></html>");
- pw.close();
- }
servlet方法二
3、访问地址:
POST访问地址为:http://localhost:9008/order-web/himily.jsp
Get方式访问地址:http://localhost:9008/order-web/HimilyServlet?user=aaa&pswd=bbbb
直接访问Servlet的地址:http://localhost:9008/order-web/HimilyServlet
Java中前台JSP请求Servlet实例(http+Servlet)的更多相关文章
- java中List的用法和实例详解
java中List的用法和实例详解 List的用法List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提供 ...
- Java中的文件上传(原始Servlet实现)
从原始的Servlet来实现文件的上传,代码如下: 参考:https://my.oschina.net/Barudisshu/blog/150026 采用的是Multipart/form-data的方 ...
- java中的http请求的封装(GET、POST、form表单形式)
目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现.HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求,Ht ...
- java中注解的使用与实例 (二)
java 注解,从名字上看是注释,解释.但功能却不仅仅是注释那么简单.注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后 某个时刻方便地使用这些数据(通过 解 ...
- 【转】java中注解的使用与实例
原文:http://www.cnblogs.com/pepcod/archive/2013/02/20/2918719.html java 注解,从名字上看是注释,解释.但功能却不仅仅是注释那么简单. ...
- [转]Java中的对象和对象引用实例浅析
在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起了解一下对象和对象引用之间的区别 ...
- Java中list<Object>集合去重实例
一:Java中list去重的方法很多,下面说一下其中一种方法:把list里的对象遍历一遍,用list.contain(),如果不存在就放入到另外一个list集合中: 二:实例 这里需要注意的是:使用c ...
- java中输出流OutputStream 类应用实例(转)
OutputStream类该类是字节输出流的抽象类,定义了输出流的各种操作方法.这些方法的说明如表1所示.下面通过实例介绍如何使用OutputStream类向控制台输出字符串信息.步骤如下.(1)创建 ...
- java中注解的使用与实例(一)
注解目前非常的流行,很多主流框架都支持注解,而且自己编写代码的时候也会尽量的去用注解,一时方便,而是代码更加简洁. 注解的语法比较简单,除了@符号的使用之外,它基本与Java固有语法一致.Java S ...
随机推荐
- [转载]Java程序员使用的20几个大数据工具
最近我问了很多Java开发人员关于最近12个月内他们使用的是什么大数据工具. 这是一个系列,主题为: 语言web框架应用服务器SQL数据访问工具SQL数据库大数据构建工具云提供商今天我们就要说说大数据 ...
- 问题解决_(转载)VS2015无法启动 IIS Express Web解决办法
将“重写应用程序根URL”的勾选去掉,然后就可正常运行 参考资料:http://www.qi88.com/edu/os/2015/0103/87648.html
- iOS设计模式笔记
设计模式 所谓设计模式,就是经过无数程序员的努力,在很多代码的基础上抽取出来的"模式" 一种设计模式,通常用来解决一种问题 MVC体系架构 也是一个设计模式,主要解决:界面(V), ...
- openlayers3 画扇形
参考了http://www.cnblogs.com/lingxue3769/archive/2011/11/01/2231409.html同学的博客 和 百度知道https://zhidao.baid ...
- GNU/Linux复习笔记(1)
第一次接触GNU/Linux还是大四上学期实习的那两个月在window里装了 个虚拟机玩红帽的系统,那段时间稍微学了一点命令就不玩了.后来大四下学期认识了王总,装了双系统,那段时间又对linux有了进 ...
- Linux网络基本配置
一.Linux网络配置文件 1. /etc/sysconfig/network-scripts/ifcfg-eth0 文件 在Red Hat系统中,系统网络设备的配置文件保存在/etc/syscon ...
- Oracle诡异结果调查备忘 - A investigation memo of weird Oracle database search results
最近需要维护一个差不多十多年前开发的ASP.Net程序,遇到了各种奇奇怪怪的问题,把其中比较难查明的问题记录如下: 问题一: 同样的SQL查询在不同服务器上查询结果不同.在QA环境下,结果完全正常,而 ...
- Hash函数及其应用
本文部分内容摘自网络,参考资料链接会在文后给出,在此感谢原作者的分享. 计算理论中,没有Hash函数的说法,只有单向函数的说法.所谓的单向函数,是一个复杂的定义,大家可以去看计算理论或者密码学方面的数 ...
- JS不支持正则中的负向零宽断言
今天在项目中用到了正则表达式,并且需要用负向零宽断言 (?<=exp) 进行筛选,结果运行时报 Invalid group 错,一开始以为是自己很久没用表达式写错了,查阅了一下正则语法后发现并没 ...
- javascript 字符串数组链接
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...