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 ...
随机推荐
- [AS3.0] HTMLLoader与js交互
HtmlLoader 的属性window是加载到 HTML 控件中的内容的全局 JavaScript 对象,通过这个对象能够方便的和页面js通讯. AS代码: import flash.html.HT ...
- 支持Java Spring MVC
Java Spring MVC能很方便在后台返回JSON数据,所以与MiniUI进行数据交互非常简单. 1)后台处理: 在MVC控制器中,可以通过方法参数接收数据,也可以通过Request接收更复杂的 ...
- windows下CMake使用图文手册 Part 3
例子3: 构建动态库(.dll) 静态库(.lib) 采用和例子2一样的文件,但删除了main.cpp E:. │ CMakeLists.txt │ ...
- 欧洲宇航局(ESA)的协同设计室(CDF)
官方网站:http://www.esa.int/SPECIALS/CDF/
- Arch Linux PDF格式文件无法显示中文
From: http://blog.sina.com.cn/s/blog_5e54bc6801012gfg.html $ sudo pacman -S poppler-data
- unity 读取文本与写入文本
void writeData(string str,string file) { string parth = Application.dataPath; Strea ...
- javascript 闭包(转)
一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量 ...
- appium移动端测试之滑动(二)
在ios测试中,需要用到滑动,所以用java封装了一套滑动的方法,不多说,贴代码 /** * 上滑1/4屏幕 */ public void slideUP1_4() { int x = driver. ...
- 《JS高程》中的正则的复杂模式的总结
复杂模式: *分组: var reDogDog=/dogdog/g;---------------var reDogDog=/(dog){2}/g; *引用:(注意带括号和不带括号) var sMat ...
- Java-生成指定长度验证码的一种简单思路
前言:以前做过的一个项目,刚开的时候始验证码是在前端生成前端验证的,后来觉得不靠谱,另外就是找回密码的功能也需要发送邮件和短信的验证码,所以,验证码就必须在后端生成并且保存到应用会话中才行了!所以, ...