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 ...
随机推荐
- 3、NASA NIST Big Data Architecture
这篇关于大数据应用的讲解太好了,直接上图.Mattmann_S1P8_ESTF2015 来自为知笔记(Wiz)
- excel导出字符串
"style", "vnd.ms-excel.numberformat: @;"
- Android单元测试与模拟测试详解
测试与基本规范 为什么需要测试? 为了稳定性,能够明确的了解是否正确的完成开发. 更加易于维护,能够在修改代码后保证功能不被破坏. 集成一些工具,规范开发规范,使得代码更加稳定( 如通过 phabri ...
- Win10 disable 最近打开
1. 开始菜单 -> Settings -> Personalization -> Start 2. Set "Show most used apps" Off ...
- SQL语句学习手册实例版
SQL语句学习手册实例版 表操作 例1 对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE TABLE STUDENTS (SNO NUMERIC (6, ...
- MySQL的数据库,数据表,数据的操作
数据库简介 概念 什么是数据库?简单来说,数据库就是存储数据的"仓库", 但是,光有数据还不行,还要管理数据的工具,我们称之为数据库管理系统! 数据库系统 = 数据库管理系统 + ...
- onethink入门笔记(二)
5.onethink页面端获得后台服务器传值的方法 1:一般后台通过assign的值前台通过{$value}显示出来; 2:如果需要在js中使用 则可以通过 在js中写 var m = "{ ...
- jQuery on 绑定的事件触发多次
jquery用on绑定事件,在代码执行过程中,可能会遇到多次执行的情况. 解决方案是在on的事件前面加上一个off,再on. $('#btnBind').off('click').on('click' ...
- 获取访问者的IP
import java.io.Serializable; import java.net.InetAddress; import java.net.UnknownHostException; impo ...
- java程序员需要掌握些什么知识
java程序员需要掌握些什么知识 合格的程序员应具有实际开发能力的Java和J2EE.如今的IT企业需求量大,但人才紧缺的.企业需要大量掌握Java/JEE/Oracle/WebLogic/Websp ...