初用idea建立javaweb遇到的问题与心得

1、直接用idea建立的web项目,其自动生成的web.xml里version=3.1,这样的话建立servlet-name等标签会报错(因为3.1不支持这种做法,更提倡用注解的办法),解决办法是将web-app标签替换成以下的3.0版本:

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">

2、正常情况下一个web项目的所有servlet类是放到WEB-INF/classes/中的,但用idea创建的web项目是没有classes文件夹的,它会在外面建立一个src文件夹,servlet等类会放置在这个文件夹里,这样的目录结构是不能直接放在服务器上运行的,所以需要经过一系列的设置将tomcat服务器设置到idea中并配置到项目里,之后在idea中启动,启动后idea会生成一个out文件夹,里面是正确的格式(即拥有WEB-INF/classes/这样的格式)。

3、在默认的情况下,tomcat服务器webapps目录中的web应用,外界可以直接访问。但也可以让虚拟目录映射到别的地方:

在tomcat服务器的\conf\Catalina\localhost目录下添加一个以xml作为扩展名的文件,xml文件的名字可以任意取,比如下面的demo.xml。虚似目录的名称就是这个xml文件的名称。

在demo.xml文件中添加Context元素映射JavaWeb应用,代码如下:

<Context docBase="/var/www/html/web" />

这样,当我们访问http://localhost:8080/demo时,实际访问的是/var/www/html/web/这个web目录

4、在第一次创建servlet类时,是没法直接import servlet类的,我们需要先引入相关的jar包。

在tomcat服务器的lib文件夹中能找到servlet-api.jar包,把它引进项目即可

5、关于在idea中设置tomcat service,可能在某些时候加号里找不到tomcat的选项,这时要先找到Settings中的Application Servers,然后在这个里面的加号中找到tomcat service并添加,之后就能添加tomcat service了。

6、idea设置好tomcat并且能调试后不能事先启动tomcat,因为idea启动web应用程序的时候会自动启动tomcat,如果你tomcat已经启动,idea就认为你的8080端口被占用。会报错。

时间: 2024-10-02 11:43:25

初用idea建立javaweb遇到的问题与心得的相关文章

001: 徒手建立一个JavaWeb应用

不借助IDE,我们徒手建立一个JavaWeb应用. web.xml: 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <web-app xmlns="http://java.sun.com/xml/ns/javaee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLoca

javaWEB网上商城项目之需求分析

跟随某视频教程练手项目.写的不是很详细,因为重点是学开发技巧,不过大体差不多的 一.需求确定 用户浏览商品 用户搜索商品 用户注册会员 会员价系统 购物车 会员自助服务管理 管理员后台管理(包括人员,商品的管理) 二.架构分析设计 逻辑架构 JSP+JavaBean+Database JSP负责表现 JavaBean负责逻辑 Database负责持久保持数据 软件环境 开发工具intellij idea Tomcat 8.0 mysql5.5 三.业务逻辑 类 会员类–包装系统会员,与订单类一对

JavaWeb 后端 &lt;一&gt; 之 Tomcat Http

1.Web开发概述 1.1服务器上的资源分类: a.静态资源:指web页面中供人们浏览的数据始终是不变.html css js 图片 多媒体 b.动态资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同.JSP/Servlet.php.asp 下面为简单的java程序 模拟服务器提供资源 访问 本地端口1111即可得到服务器的资源 public class Myserver { public static void main(String[] args)

1、Servlet 2、ServletConfig 3、ServletContext 4、HttpUrlConnection

1.Servlet 2.ServletConfig 3.ServletContext 4.HttpUrlConnection 07. 五 / J2EE / 没有评论 一.第一个Servlet的编写过程1.建立JavaWeb应用的目录HelloServlet—–应用名称WEB-INF——–classes:Servlet就放在此处libweb.xml 2.在classes目录中建立Servlet类一个Servlet必须直接或间接地实现javax.servlet.Servlet接口一般我们选择继承ja

Daily Scrum3 11.5

昨天的任务已经完成,但是大家分析后发现进度稍有些慢.今天各自都在调整进度,不再拖延别人的工作. 今日任务: 杨伊:做问卷调查,准备用户体验篇内容. 徐钧鸿:把Xueba中Utility 向闸瓦移植 张艺:完成用户管理 黄可嵩:学习android基本技术,建立android项目进行初体验,建立搜索第一层构建 徐方宇:写activity 刘浩然:把Xueba中Utility 向闸瓦移植 钟毅恒:完成框架搭建及交流 燃尽图:

微软构建高效DevOps团队培训总结

9.21和9.22这两天参加了微软DevOps的培训,主要是围绕TFS2015的不少新功能来讲的,相比较之前我们一直使用TFS2013来管理团队,确实强大了不少,也更加实用了. 首先,什么是DevOps? 运维说主要是发布管理.CI持续集成的,开发说是开发测试一体化的,项目经理说是项目流程管理的...其实都没错,只是都不全面.百度百科上较严格的定义,不过它的似乎就是像开源社区一样,是经过大家集思广益,各自的经验方法总结而形成的一套覆盖软件开发运维流程的经验论. 目标人群 (第1天)企业研发经理,

DI 容器实务建议

整理一些有关使用 DI 容器的一些建议事项,主要的参考数据源是 Jimmy Board 的文章:Container Usage Guidelines. 1.容器设定 避免对同一个组件(DLL)重复扫描两次或更多次 扫描组件的目的是为了自动注册类型对应关系,故其过程涉及了探索组件内含之类型信息.依应用程序所包含的组件与类型数量而定,扫描组件与探索类型的动作可能在毫秒内完成,亦可能需要花费数十秒.因此,当你在应用程序中使用 DI 容器的自动扫描功能来注册类型时,应注意避免对同一个组件重复扫描两次以上

Jsp+servlet+mysql搭建套路

1.建立数据库根据需求建立相应的数据库确立数据库的字段.属性.主键等2.建立javaweb项目,搭建开发环境在开发环境的/WebRoot/WEB-INF下建立lib文件夹,存放需要使用的jar包常用的包:mysqldriver.jarbeanutil.jarcommons-logging.jarjstl.jarstandard.jar3.java内部书写,建立domain包在其下书写bean类,类的字段与数据库对应4.定义dao和其接口(1)接口dao包:对daoimlents包进行抽象(为了增

SpringMVC环境搭建---xml版及注解版

一.建立 JavaWeb 项目(基于Intellij 14.0.3搭建) 1.建立一个 Java 项目,在项目下新建一个文件夹 webapp ,然后在该文件夹下新建一个 WEB-INF 文件夹: 2.在 WEB-INF文件夹下建立 web.xml 文件,从 tomcat 安装路径 /conf/web.xml 中拷贝基本的文档结构,修改相应编码为 utf-8: 3.在 WEB-INF 下建立 jsp 文件夹,用来存放相关jsp 文件(MVC 中的 V): 4.在 WEB-INF 下建立 lib 文