昨天学习了这些内容,今天做一下分享吧,个人感觉挺乱的。。。。呵呵,其实没事,慢慢就好了。难的不会,会的不难嘛!努力+认真就可以了,相信大家都可以的!加油!!!

下面的图是我用myeclipse建立的项目的目录。

目录结构有点多哈。。。没事其实很简单的!

下面是我的index.jsp中的全部代码:这里只是有一个表单,提交到TestServlet.java这个servlet中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
 
 
 
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
 
 
 
 
    <h1>测试servlet</h1>
     
    <hr>
        <form action="servlet/TestServlet" method="post" dir="ltr">
            <input name="userID" type="text"><br>
            <input value="查询" type="submit"><br>
        </form>
         
    b.jsp
 
        

下面是TestServlet.java中的全部代码:这个是获取表单提交的内容,然后转发到另一个页面(c.jsp),其中这里包含一个业务逻辑(UserManager.java)

UserManager usermanager=new UserManager();
List userlist=usermanager.findUserByName(username);

以上这两行代码是业务逻辑的代码,获取数据。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.majianjie.servlet;
 
import java.io.IOException;
import java.util.List;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class TestServlet extends HttpServlet {
 
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse res)
            throws ServletException, IOException {
         
        //取得表单数据
         
        String username=req.getParameter("username");
        UserManager usermanager=new UserManager();
        List userlist=usermanager.findUserByName(username);
         
        req.setAttribute("userlist", userlist);//设置到req中,key-->value
         
        //转向到一个界面c.jsp,取出list中的数据
        req.getRequestDispatcher("/a/b/http://blog.csdn.net/majianjie/article/details/c/c.jsp").forward(req, res);//转发getRequestDispatcher
         
    }  
}

下面是UserManager.java 的代码行(即业务逻辑)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.majianjie.servlet;
 
import java.util.ArrayList;
import java.util.List;
 
public class UserManager {
 
    public List<string> findUserByName(String name){
        List<string> userList=new ArrayList<string>();
        userList.add("数据一");
        userList.add("数据二");
        userList.add("数据三");
        return userList;
    }
}
</string></string></string>

下面是c.jsp的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
     
<%@ page import="java.util.*" %>
 
 
 
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
 
c.jsp
    <p>
    <%
        List userList = (List)request.getAttribute("userlist");
        out.println(userList);
     
    %>
    </p><p>
a.jsp
 
</p>

下面是a.jsp的代码

<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>

a.jsp

下面是b.jsp的代码

<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>

b.jsp

a.jsp

c.jsp

d.jsp

e.jsp

d.jsp, e.jsp中的代码和a.jsp中的代码一样,唯一不同的就是: 将a改为d ,将a改为e......大部分代码是自动生成的,很省事的。

最后是web.xml中的代码:这里是一些配置信息。很重要的!!!嘿嘿嘿

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!--?xml version="1.0" encoding="UTF-8"?-->
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
   
  <servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>com.majianjie.servlet.TestServlet</servlet-class>
  </servlet>
   
  <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/servlet/TestServlet</url-pattern>
  </servlet-mapping>
   
</web-app>

在表单中,当你点击提交按钮,触发这个链接action="servlet/TestServlet"。请求到达服务器tomcat后,tomcat检查当前项目的web.xml中所有的
配置中的的属性值。看当中有没有一个和请求地址servlet/TestServlet相同。结果找到如,如下:

TestServlet
/servlet/TestServlet

其中 /servlet/TestServlet 是你表单的访问地址
然后,tomcat根据上面的TestServlet找到和
相对应的配置如下

TestServlet
com.majianjie.TestServlet

然后根据当中 找到TestServlet.java文件的地址。

然后通过设置tomcat就可以在浏览器中访问了。例如我的配置好tomcat后在浏览器中输入:http://localhost:8888/test_servlet/就可以访问了,

结果如图:

点击查询后:

点击超级链接b.jsp后是:<喎�"http://www.2cto.com/kf/ware/vc/"
target="_blank"
class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140225/20140225085659468.jpg"
alt="">

JSP怎么将表单提交到对应的servlet的更多相关文章

  1. jsp页面form表单提交时候乱码

    1.问题描述: 表单提交中文乱码问题,怎么解决 2.原因 当表单传输到服务器上时,服务器会将传输的数据进行编码(iso-8859-1),然后当我们从服务器上面取数据的时候,就会出现乱码 3.解决的方式 ...

  2. javaweb项目中jsp的from表单提交action内容与web.xml的servlet-mapping对应

    login.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> ...

  3. JSP表单提交中文乱码解决方案

    分2种提交方式,解决方案不同: 1.form表单提交方式为get 乱码: 解决方案: 因为get方法是参数在URL中显示,因为tomcat的URL编码默认是:IOS-8859-1所以要么改tomcat ...

  4. JSP将表单提交并在本页中显示

    代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8& ...

  5. struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input

    原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1     function dosearch() {2         if ($(&q ...

  6. JSP表单提交与接收

    JSP表单提交与接收 在Myeclipse中新建web project,在webroot中新建userRegist1.jsp,代码如下 <%@ page contentType="te ...

  7. JSP表单提交中文乱码

    简要笔记:由于jsp默认表单提交编码方式是:ISO-8859-1,而我们需要的是utf-8或者是gbk码,故需要转化. 具体方法是:在表单处理文件中,将获取到的变量进行转换. String userN ...

  8. JSP表单提交 与 接受显示

    Demo01.jsp 提交表单输入的信息至 Demo02.jsp方法一 1 <%@ page language="java" contentType="text/h ...

  9. jsp——js事件修改属性样式的两种方法(直接赋值、修改属性)、验证表单符合某要求、阻止表单提交、告诉浏览器不要缓存

    代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodi ...

随机推荐

  1. JAVA项目如何通过Docker实现Jenkins持续部署

    原文地址:http://blog.51cto.com/dadonggg/1957691 本篇实操性的案例讲解——JAVA项目如何通过Docker实现持续部署(只需简单四步), 即:开发通过git pu ...

  2. 关于 os模块的常用用法

    作为常用模块中的os模块,需要掌握的用法是非常重要的,今天就在这里把它归纳总结总结,以便自己日后的使用 一.os模块 含义:提供程序与操作系统直接操作的各个功能 二.常用的几个用法 os.getcwd ...

  3. Fiddler基础用法-抓取浏览器数据包

    Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改. 代理就是在 ...

  4. 一个简单的代码生成器(T4文本模板运用)

    说要写这篇文章有一段时间了,但因为最近各方面的压力导致心情十二分的不好,下班后往往都洗洗睡了.今天痛定思痛,终于把这件拖了很久的事做了.好,不废话了,现在看看"一个简单的代码生成器" ...

  5. 转 kafka架构简介

    kafka架构 转 http://www.cnblogs.com/chushiyaoyue/p/5612298.html 相关文章: https://www.jianshu.com/p/6233d53 ...

  6. mysql 中只能使用 localhost 登录,用ip不能登陆

    解决办法 1 首先使用 localhost 登录 mysql 服务器,如果想要所用ip都可以登录本地mysql 服务器,执行以下授权命令 2 grant all privileges on *.* t ...

  7. mysql在插入或更新的时候对一个字段赋递增值

    在我们有一个需求是更新某个表里面的某个字段,让这个字段变成一个递增的值,或者插入某个表中使得某些字段的值是递增的.下面我们来看看具体的操作: 更改表字段为递增 首先设置一个变量,初始值为任意数值,这里 ...

  8. Feign请求中报错:Request header is too large 的解决方案。

    现在我们项目中都已迁入spring boot和spring cloud. 服务间调用现在都改成feign的调用方式,但是上次在实际使用过程中出现过:Request header is too larg ...

  9. 有关 Windows 10 中“适用于 Linux 的 Windows 子系统(Beta)”

    1.如何启用?(未来应该可从应用商店中直接安装) 在"控制面板"的"启用或关闭 Windows 功能"中进行勾选安装.(安装完成后需要重新启动) 2.然后呢? ...

  10. 已安装 SQL Server 2005,安装 SQL Server 2008 时提示需要删除 SQL Server 2005 Express 工具

    错误提示:已安装  SQL Server 2005 Express 工具.若要继续,请删除 SQL Server 2005 Express 工具.  解决方案: 修改注册表:HKLM\Software ...