Servlet&网络访问

手把手搭建一个完整的javaweb项目.zip 本案例使用Servlet+jsp制作,用MyEclipse和Mysql数据库进行搭建,详细介绍了搭建过程及知识点。 立即下载

                          Servlet&网络访问

首先得了解软件的开发模式:

 A:单机模式:开发的程序在一台电脑上运行,如world,excel等

                    缺点:软件比较庞大,如果运行要求高,则每台电脑都需要有高配置才行。

B:C/S结构(Client/Server)

              把软件运行时各台电脑运行时需要的功能都放到服务器上,在每台电脑运行的功能放到客户端,这样可以减轻客户端的压力同时也减轻了服务端的压力,也实现了通过功能让不同电脑访问的。如:qq。360等!

             缺点:当电脑数量较多时需要在每台电脑上安装客户端比较繁琐,软件更新比较繁杂

C:B/S结构(Browser/Server)

            开发这种模式的程序不需要开发客户端,客户端采用浏览器作为客户端,这种模式只需要在服务器端开发软件,客户端通过浏览器进行访问即可,常用的开发动态网站的技术有:ASP,  ASP.NET,  PHT,  JSP等


网络程序结构:

网络程序的分类:B/S    C/S


网络访问的网络基础知识:

 URL(Uniform Resource Locator)统一资源定位符

超文本传输协议(Http, HyPerText Transfer Protocol)是互联网上采用的最广泛的一种网络协议,设定Http的最初目的视为了提供发布和接受Html页面的方法

端口(port)计算机与外界通讯交流的出入口,http默认的端口是80, 端口能识别要访问的是计算机上的那个进程,一个进程对应一个端口

两种请求方式: GET和POST,GET是将请求消息放在请求行中(URL中),信息可见,不安全

                                                     POST是将请求消息放在请求体中,信息不可见,相对GET来说较安全,其他区别就不赘述了

Tomcat

  Tomcat是小型服务器端容器

      tomcat服务器想要正常运行,必须首相配置环境变量:

新建系统变量:

CATALINA_HOME=D:\tomcat6

在path环境变量中加入如下内容:

%CATALINA_HOME%\bin;

检测是否配置合适:将bin目录下的startup.bat双击,或者拖到dos中 ,如果闪掉表示配置失败,考虑jdk是否安装合适,jdk配置也需要标准的JAVA_HOME

修改Tomcat的端口  Tomcat->cont->server.xml     <Connector port="8080"/>进行修改就可以了

WEB-INF下面的web.xml(站点部署描述符文件)

<welcome-file-list>

       <welcome-file>index.html</welcome-file>

       <welcome-file>index.htm</welcome-file>

       <welcome-file>index.jsp</welcome-file>

</welcome-file-list>

如果用户在访问网站时没有指定具体的访问哪个网页,则系统默认会按照这里的配置逐个查找匹配的网页,以最先找到网页的为准进行运行.

ROOT为系统默认的站点

那么如何建立自己的站点呢?  在ROOT同级目录下新建文件夹,然后将ROOT下面的文件拷贝过来

如何修改myeclipse中站点中新建网页jsp的默认编码: window->proferences->搜索jsp->Encoding中进行修改


使用JSP的九大内置对象之一(

request:请求对象,获取客户端发送过来的数据                   response:响应对象,将服务器端的信息回送到客户端

out:输出信息到客户端                                                                   session:会话对象

application:应用程序对象                                                             pageContext:页面上下文对象

 page:网页对象                                                                                config:配置对象

exception:异常对象

)


新建web项目在WebRoot下面写jsp页面


Servlet

Servlet是由java语言编写,运行在服务器端的程序,并由服务器调用


Servlet程序实现

1.编写一个类继承HttpServlet类,但eclipse提供方便,直接可以新建Servlet,下面操作会自动生成

2.重写doGet()和doPost()的方法

3.注册Servlet


Servlet跳转

 服务器跳转:地址栏不改变,能传递request对象         调用request.getRequestDispatcher("success.jsp").forward(request, response);方法进行跳转

客户端跳转: 地址栏改变        不能传递request对象     调用reponse.sendRedirect(" ");  重定向


简单页面请求登陆:

页面通过表单提交,action=“/Servlet”    //此为在web.xml配置文件中配置Servlet的路径,配置文件会通过路径访问到Servlet类

<servlet>
    ③<servlet-name>Servlet</servlet-name>
   ④ <servlet-class>Servlet</servlet-class>
  </servlet>

  <servlet-mapping>
    ②<servlet-name>Servlet</servlet-name>
    ①<url-pattern>/Servlet</url-pattern>
  </servlet-mapping>

配置文件中通过 1找到到2,通过2找到3,通过3找到4;


以下为Servlet中的简单代码:

public void doGet(HttpServletRequest request,HttpServletResponse response)

            throwsServletException, IOException {

        System.out.println("======doGet====");

        //将GET请求转嫁给Post

        this.doPost(request,response);

    }

    /**

     * 当客户端采用post提交方式提交时自动调用的方法

     * @param request 请求对象

     * @param response 响应对象

     */

    public voiddoPost(HttpServletRequest request, HttpServletResponse response)

            throwsServletException, IOException {

        System.out.println("=====doPost====");

        response.setContentType("text/html;charset=utf-8");

        PrintWriterout = response.getWriter();

        //1.得到客户端的提交方式

        Stringmethod=request.getMethod();

        System.out.println("method="+method);

        StringuserName="";

        Stringpwd="";

        if("GET".equals(method)){

            //GET提交方式的处理代码

            userName=request.getParameter("userName");

            pwd=request.getParameter("pwd");

            //解决GET提交时的中文乱码问题,同时这个方法也可以解决post提交的中文乱码问题

      pwd=this.encoding(pwd);

        }elseif("POST".equals(method)){

            //POST提交方式的处理代码

           //解决Post提交的中文乱码问题

            request.setCharacterEncoding("UTF-8");

            userName=request.getParameter("userName");

            pwd=request.getParameter("pwd");

        }

        Stringmsg="userName="+userName+",pwd="+pwd;

        System.out.println(msg);

        out.println(msg);

        /*if("admin".equals(userName)&& "123".equals(pwd)){

            request.setAttribute("userName",userName);

            request.getRequestDispatcher("success.jsp").forward(request,response);

        }else{

            //在Servlet中得到session对象的方法

            HttpSession  session=request.getSession();

            session.setAttribute("userName",userName);

            response.sendRedirect("login.jsp");

        }*/

       

       

        out.flush();

        out.close();

    }

    /**

     *解决GET提交的中文乱码问题,同时这种方式也适合用POST提交的中文乱码问题的解决方式,但是post直接可以调用自己的方法解决中文乱码问题,而不需要自己写

     * 张三  UTF-8

     * 传递到服务器时,tomcat服务器将张三对应的二进制使用ISO8859_1编码表进行解码.

     * 解决方案:将乱码使用原先的编码表ISO8859_1进行编码,之后再使用正确的编码表UTF-8进行解码就正确了.

     */

    private Stringencoding(String userName) {

        if(userName!=null){

            try {

                returnnew String(userName.getBytes("ISO8859_1"),"UTF-8");

            } catch(UnsupportedEncodingException e) {

                //TODO Auto-generated catch block

                e.printStackTrace();

            }

        }

        return null;

    }





保姆级教程:在NXPS32144环境下安装EB TRESOS 29.0.0并配置MCAL开发环境 本文提供了一份详细的保姆级教程,指导如何在NXP S32K144环境下安装EB TRESOS 29.0.0并配置MCAL开发环境。内容涵盖从前期资源准备、软件安装步骤、核心的MCAL关联配置,到首次创建AUTOSAR工程并进行模块配置的全流程,旨在帮助汽车电子开发者搭建稳定、可用的底层软件开发地基。 阅读详情

相关推荐

【CANoe16安装教程】亲测安装成功

CANoe16安装教程

qq_45302638的博客 2万+

网络:Servlet的本质是什么?为什么要有Servlet?

Servlet的作用 servlet本质上是一个接口,它压根就不管也管不着哪些网络协议、http。 那servlet到底是干什么的呢?很简单,接口的作用是什么?规范呗! servlet接口定义的是一套处理网络请求的规范,所有实现servlet的类,都需要实现它的那五个方法,其中最主要的是两个声明周期方法init()和destory(),还有一个处理请求的service()。也就是说,所有实现servlet接口的类,或者说,所有想要处理网络请求的类,都需要回答这三个问题: 你初始化时要做什么? 你销毁时要

OceanStar的博客 1961

Code Composer Studio 8.3.1安装与常见问题解决指南

本文提供了Code Composer Studio 8.3.1版本的详细安装指南与常见问题解决方案。内容涵盖从下载离线安装包、系统环境准备、自定义安装步骤,到首次启动配置及汉化建议。重点解析了安装过程中可能遇到的闪退、卡顿、Java虚拟机错误等典型问题的排查与修复方法,旨在帮助开发者高效部署这一稳定的嵌入式集成开发环境。

weixin_29195217的博客 330

如何在局域网访问Tomcat项目

1 前言   有时候因为工作需要,我们需要访问服务器上的项目或是把你的机器上的项目让你的同事访问到,诸如此类的,都涉及到了这个课题:如何在局域网访问Tomcat项目?而tomcat本身是支持局域网内共享的,只需简单配置防火墙规则即可,下面以windows为例,简单讲解该如何配置。 2 Windows XP配置   Step 1,打开控制面板,进入windows防火墙;   

chendc201的专栏 4万+

【软件使用】Calibre部分提参的实用技巧与常见问题解析

本文深入解析Calibre部分提参功能的实用技巧与常见问题,重点介绍hcell和xcell文件的配置方法、PEX命令的进阶使用技巧,以及时钟失真等典型问题的排查指南。通过精准控制寄生参数提取范围,显著提升复杂芯片设计的效率与准确性。

weixin_30836759的博客 117

WordPress搭建“外贸独立站”完整操作教程

  以往的文章,我们介绍了很多种搭建独立站的方式,有最省事的Shopify 、最专业的Magento以及最省钱的Wordpress Woocommerce。其中,通过主机托管的方式又分了免费的谷歌云vps主机、1美元Godaddy主机以及SiteGround共享主机三种。建站方法方式实在太多了,有免费的,有廉价的,有商业版的,有共享主机、有云主机主机以及各种各样的vps服务器,选择哪种方式,哪款主机,也只有真正试了才直到。   没错,上述的这些方法方式,无一例外,我都亲身折腾过。从个人实际需求和建站方式来

www25qi的博客 8080

servlet网络架构图

qq_26656379的博客 571

Unity性能优化 - 动态图集

Unity 动态图集是 Unity 引擎中用于处理游戏纹理优化的一种技术。本文介绍了什么是动态图集,动态图集的优缺点,以及提供了一套完整的代码供大家参考。

qq_33808037的博客 4840

JavaWeb之Servlet&网络访问服务器编程

1      Servlet&网络访问 1.1    网路基础 B/S的S  Server http网络应用服务端软件 http Hyper Text Transmission Protocol 超文本传输协议,处于四层架构中的应用层,是建立TCP的基础上   网络应用服务端软件可以看成一个容器,我们将网络应用部署到其中并启动,这个容器就可以按照我们的意愿去工作,处理客户端的请求并响应

JourneyX的博客 2167

用业务语义织就企业数据之网:SAP Datasphere 的定位、架构与落地场景全解析

SAP Datasphere作为SAP业务数据云的核心组件,通过语义层整合企业内外部数据,支持实时分析与AI应用。其核心功能包括数据集成、语义建模、虚拟化与仓库能力,通过Spaces实现资源隔离,Data Builder和Business Builder分别面向技术和业务建模。该平台与SAP HANA Cloud、SAC等深度集成,支持财务统一分析、供应链可视化等典型场景,并可通过BW bridge实现传统BW资产云化迁移。Datasphere强调开放互联,能与Databricks等生态伙伴协同,为企业提供

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1363

python:实现brutefore破解wifi(附完整源码)

python:实现brutefore破解wifi(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 5713

Jenkins和Gitlab通过webhook钩子连接

使用 Jenkins 做自动构建、部署,实现每当提交到 Gitlab 的代码就开始部署工程。关键点就是 Jenkins 和 Gitlab 之间的关联如何打通?如何配置? 解决的方式:Gitlab 中的 Webhooks(钩子)。 ## job编辑界面:构建触发器 -> Build when a change is pushed to GitLab Build when a change is pushed to GitLab. GitLab webhook URL: http://192.168.9

piaoniu_1985的专栏 1046

glibc: GLIBC_2.28‘ not found

这个时候,应该怎么解决,因为当前运行的机器是低版本,而程序是高版本,解决方法,或者是将程序降级,或者将当前系统升级。在一个glibc的接口版本是GLIBC_2.25的lab上,运行不了在2.28上编译的程序。看哪一个方便,但是不能通过 临时复制libc.so 文件来解决,因为会遇到下面的错误。所以如果是简单解决就是按照低版本的应用程序,来适配当前系统的glibc版本。比如下面的程序运行提示。

mzhan017的博客 2404

运维笔记<2> gitlab + jenkins打通

今天打开打通jenkins流水线了,我用的jenkins版本是2.492.3。

工业 AI 工程手记 1075

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Java Servlet的配置文件web.xml配置内容和具体含义

文件名:“SimpleServlet.java”package cn.mldn.lxh.servlet ;//定义包import java.io.* ;// HttpServlet属于javax.servlet.http包下// ServletException属于javax.servlet包下import javax.servlet.* ;//导入HttpServlet所属的包// HttpSe...

JavaNotes的博客 336

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Struts2跟freemarker的配置实例讲解(FTL文件解析)

Freemarker 简介 FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。  FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写  FreeMarker被

程序员♥乔布斯二世 2707

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Struts2跟freemarker的配置实例讲解

Freemarker 简介       FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。     FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写  ...

代码也疯狂 211

servlet 和 socket区别

通常我们会说"socket连接",也就是说socket是指明两个地址的连接通讯方式.和socket关联的东西大多是服务器,客户端,TCP,UDP,字节流之类的. socket 需要自己建立连接,分析构造输入输出电文。 而servlet我们会说使用"servlet技术"或"servlet方式",也就是服务器响应客户端的方式,与servlet关联的东西大多是web服务器,浏览器,jsp,asp,as...

s苏c醒m 7992

Java中equals方法造成空指针异常的原因及解决方案

前言 博主最近在做一个项目的调试工作,期间遇到了一个会导致抛出空指针异常的小问题,说它是小问题,是因为真的只是在写代码的时候注意一下就好了,但是这里还要写一个博客,就是为了剖析这个问题,然后给自己做个备忘,也给看博客的各位提个醒。 bug描述 迭代1

tick_tock97的博客 3万+

如何让局域网内人访问自己在局域网中建立的网站

当第一个要求是IP固定,这样才能用IP访问你,现在大多数人是动态IP第二个要求是电脑处于开机状态,没开机就是服务器没开启,别人当然不能访问买个服务器或者虚拟主机还是网站空间,再者IP访问并不理想,应该买个域名.关于域名,我推荐你买个.pw结尾的,一年三块,测试用的.现在的域名规则其实很多,cn的一般要以公司注册,如果你要长期使用我建议你买个.com的,一年大概40多,关于域名的挑选,选名字的事俺就...

l2535460824的博客 6410

基于Java的Servlet网络编程(二)Java编程环境eclipse便携版的搭建方法【多图】

基于Java的Servlet网络编程Java编程环境eclipse便携版的搭建方法需要准备的文件下载指南搭建定义目录获取java运行库文件解压eclipse解压tomcat指定jre路径指定工作路径eclipse安装中文包插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX...

lionking1990的博客 524

eclipse连接不上 本地 VisualSVN Server 服务器

今晚浪费了一晚上。。。。。。。。。。。。。。。 先说问题: 我在本地建立了一个VisualSVN Server 服务器,并手动将项目上传到 svn服务中去,在浏览器上能访问到服务器,但是在eclipse中更新和提交项目的时候一直未相应,svn资源库也连接不上 。。。。。 然后查找各种方法,并在官方文档里找到这句: 我心快死了,突然注意到:https://QH-2016062

AlwaysDebug的博客 4105

掌握HttpClient类的GET和POST请求访问服务器步骤!

HttpClient 是HttpConnection的增强  (网络访问) HttpClient需要导入第三方库的jar包: 在当前工程下新建以文件夹,用来存放第三个的jar文件,比如叫做:libs 全选jar包,右击选择buildpath (1)使用HttpClient采用GET提交访问访问服务器端并得到服务器端返回的数据 //1.实例化HttpClient对象,相当于

AlwaysDebug的博客 3101

git学习,命令操作,git集成idea,eclipse

Git学习文档 公司要开始使用git了,没啥服务器,先拿github当服务器。   提示:本人也是学习者,下面的东西基本都是参考学习各个地方的,有些东西只是总结在一起,添加点自己的理解和自己遇到的问题,我们不是生产者,我们只是大自然的偷猎者。   目录: 1   github创建账号,创建仓库 2   github客户端 3   git客户端 4   git操作及远程操作命令

AlwaysDebug的博客 1928
上一篇: JSON解析----个人学习笔记
下一篇: Linux常用命令大全
AlwaysDebug
博客等级 码龄11年 2粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值